Appendices

Appendix A: Permissions

The group approves this report for inclusion on the course website.

The group approves the video for inclusion on the course youtube channel.

Appendix B: Code

The code for our project is available on GitHub here

Appendix C: Schematics

See Hardware page.

Appendix D: Work Distribution

Tangia worked on:

  • Modified VGA driver to allow for fast screen drawing of designs and mono-colored tiles
  • Developed transparent character block drawing algorithm
  • Developed laying out tiles and levels using minimal computation and memory
  • Developed code for modular storage of character information
  • Developed code for player movement and terrain collision detection
  • Developed code and timing constraints for improved player experience
  • Developed game logic for interacting with passive and active entities
  • Developed game logic for hitbox/hurtbox manipulation
  • Developed structure to create interactables and levels
  • Developed initialization for the game and interactables
  • Developed enemy pathfinding algorithm
  • Developed structure for Single Sequence Events
  • Developed game-to-player dialogue system
  • Developed game structure for threads and runtime
  • Developed the overlay to display game state information
  • Modified a template from CloudCannon to develop this website

Emily worked on:

  • Researched and tested 4-bit color for VGA screen
  • Wired both breadboards used by group for VGA and sound output
  • Supported early development of sound effects DMA-sequencing code with Max
  • Designed all tiles used in the game using Google Sheets (see Program Design)
  • Developed Python script to translate tile design to format required by the program
  • Designed all (9) screens used in the demo level
  • Developed Python script to translate screen designs into desired format
  • Encoded wall masks for all screens
  • Encoded interactables for all screens
  • Iterated on level design based on feedback from partners and appearance on VGA display
  • As a result play tested the game many many times
  • Worked with Tangia to make sure all designs were implemented compatibly with the game engine

Max worked on:

  • Developed sound effects DMA code with Emily
  • Recorded all sound effects
  • Developed Python script to extract binary content of sound effects
  • Developed music code from DDS demo
  • Integrated music and sound effects code into game code; debugged all sound in-game
  • Modified code that receives serial character inputs to act on “WASD,” etc
  • Converted Jekyll website to HTML

References

Course Resources

Datasheets and Documentation

Other References