Conclusion

We found the implementation of game logic to be much more difficult than anticipated. We had predicted running into issues with running out of space on the Pico either as far as storing designs and sound effects or for running the game code. Designing with these constraints in mind made memory-intensive processes trick. However, with the right modular implementations, there was significantly more flash memory left over than we anticipated. Game logic was difficult to implement since there are many aspects that we hadn't actually considered before deciding on the game (wall detection, hitbox/hurtbox detection, etc). While we did not end up scaling the project back in any significant way from our expected result, there are a couple minor bugs as a result of corner cases which we did not discover with enough time to fully resolve.

As a result of developing the game program from very strong fundamentals and prioritizing organization and good coding practices, we were able to add features like interactable, additional enemies, and walking animation frames for the main character more easily than could have been if we had taken a more short-term approach to the game engine development. Specifically, we implemented the puzzle and the villager with whom the player must interact within the last few days of the project.

While the sound effects for the game feel complete with respect to a final project, plenty of work could be done to add sound functionality or clean up our current selections. Because we used less than half of the available flash space on the RP2040 in our current implementation, we could remaster this with a higher sampling frequency and better recording technology. One major constraint we faced with sound effects is that only one effect could be played at any given time. To fix this, we could develop a PIO program to average the sequencing of two DMA channels to be sent to the DAC. Because the background music is critically space constrained, we could expand our current music selection to include different songs for different locations in-game, or we could add new music parts to better match the sound generation of a true video game console.

As far as intellectual property, the inspiration and much of the design decisions were informed by the original game. However, none of the source code was referenced or looked at, and there are no attempts to profit off our game. All designs used in the game were ultimately designed by us, but many are heavily inspired by either the original Zelda game or other video games like Pokemon and Minecraft. The intention of this project was to create a game that would be fun to play and challenge ourselves to implement many of the features of a well-known game. We are not taking credit for the idea of the game or any of the concepts/features of the original or any adjust games. Furthermore, our 9-level demo level, while potentially impressive for a 4-week project completed by undergraduates, does not come close to the original game in complexity or scope.