Team of 3
October 2019
Skills Utilized: JavaScript, p5.js
October 2019
Skills Utilized: JavaScript, p5.js
Introduction
During the semester, there was an assignment to copy an entire game. We chose Super Mario Bros. for our game and managed to implement the 1-1 stage in a month.
Showcase
Play Online (If it doesn't show up, please use other browsers such as Microsoft Edge.)
How to play
- A / D: Left/Right
- S: Go down a pipe
- U / I: Select / Start
- J / K: Dash / Jump
- Space bar: (Cheat) Power Up
Note: You need to press Start(I) on the main menu to start the game.
Responsibilities
- Game Core Logic
- Game Object Management
- Blocks
- Enemies
- Other Objects
- Sound System
- UI
- Asset Analyzation & Management
Technical Highlights
Simplifying the animation sequence with generators
In Super Mario Bros., various objects exhibit distinct animation sequences. When considering their implementation, I devised an approach to manage animations using generators. Each object is associated with a generator yields next sprite. The animate() function then invokes next() on the generator object after a predefined number of frames. This method provided an intuitive and unified way of managing the object animation sequences.
Conclusion
I extensively researched the exact numbers related to the Mario's movement to precisely replicate it and was surprised to know how intricate it is. This project underscored the substantial effort required even for seemingly simple games, imparting a comprehensive understanding of game development's fundamental structure and mechanics.