Brogger
Brogger is a recreation of the classic game, Frogger. The program features flexible randomized obstacle generation (cars and logs) through helper functions and matrix indexing, as well as custom patch graphics. It also includes a variety of fun sound effects. This was the partnered (Mei Han ‘24) final project of ENGR 105 (Introduction to Scientific Computing), hence the game is programmed with MATLAB.
Functions/Instructions
Users can use arrow keys to navigate the frog. Jump on top of the frogs on the other edge of the screen to rescue them. Avoid cars, falling into water, hitting the spikes at the end of the screen, or drifting away on a log. User will get 3 lives per round, as indicated on the top right corner.
Capabilities Demonstrated
Algorithm development, graphics objects, timer objects, animation, sounds, collision detection, keyboard callbacks.
External Code Attribution
Algorithms in Graham Wabiszewski example codes provided in class for Keyboard Callback (moveball.m)and Sound (repeatSoundClipWithTimer.m)
Video Demo
Final Instructor Comments
“A fun take on Frogger that features speedy game play. To note - the speed of the interface was quite unexpected given the graphical overhead. Great job! The code demonstrates control of timers, use of keyboard callbacks, use of sound, exceptional control over graphics, and robust algorithm development. The code structure is generally easy to follow with major code sections clearly demarcated. Variable names are meaningful. Some complexity has been successfully ported to external m-files, which reduces cacophony in the main function. Great job!
Great work! Matlab code was well-organized with comments that made it clear to understand. The algorithm was complex and the game had great graphics and user input as well as being fun to play.
Code quality is generally high, with great documentation but suboptimal organization as much of your code is packed into the main start function. Your MATLAB skills were clearly demonstrated your manipulation of several graphics objects, use of timers, and robust gameplay logic. Overall, a very charming, enjoyable game!”