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
- Course Website: ece4760.github.io
- 4-bit Color VGA Driver [Land]: index_vga_Protothreads.html
- ECE 4760 Demo Code