Astro Flipper
This is my 2D Platformer game assignment for Michigan State University's CAS 117 Games and Interactivity class. It was rated one of the Top Three 2D Platformer assignments by the professor, and was shown at the Spring 2025 Student Showcase.
Controls:
Left: Left or A
Right: Right or D
Jump: Space
Pause: Esc
The class provided 2d artwork, including a sprite animated player and enemies, and a number of C# scripts and Unity prefabs for a 2D platformer game, including game manager, player, enemy, health, and damage scripts. After completing a tutorial to get a basic 2D platformer game working, I made a lot of modifications:
Created a custom Level1, which is a basic tutorial level for the player to jump around, collect jewels, learn how to bounce off the enemy's head, jump on a moving platform to avoid deadly spikes, and flip gravity.
This level has a "back room" that the player goes into, then comes back into the "front room" before ending the level. When going into a door from the front room, the camera does a 180 degree rotation around the Y axis, revealing the back room (and the stars moving in the background reverse to be flying away from the camera).
Added a gear in the center that lets the player flip gravity 180 degrees. This is done by quickly rotating the level 180 degrees, so the player stays right-side up and gravity still points down in screen-space.
Created a custom side-scrolling Level2.
Created my own camera scrolling script that has a minimum and maximum X value, so it doesn't reveal anything before the beginning of the level, or after the end of it.
Removed the double-jump and in-air-jump capabilities, and disabled the jump air sprite effect.
Killing enemies adds to the score.
Fixed a bug where an enemy can be killed by player corpse.
Fixed a bug where an enemy can drag the player corpse.
Fixed a bug where the player could hit left or right while dead, and the corpse would change directions.
Fixed a bug where the player was sticking to walls.
Created a custom Level3, with custom camera script that stays fixed, but quickly pans to the next room when you reach the edge of the screen.
Added another camera script for Level3 to show all the rooms with wider FOV at the beginning, then zooms in to the center room.
Added a script that flips enemies in the other rooms from the floor to the ceiling (and vice-versa) every time the player gravity flips.
Created a Scene Gizmo script that draws rectangles around each room in the Unity scene view only, which the player never sees, to help with level design. Also created an Editor Window that lets me easily move camera to the other rooms using integer values during level creation.
Instead of the instantaneous horizontal player starting and stopping, I added an acceleration so it takes 0.1 seconds to get to full speed, then 0.1 seconds to decelerate back to zero.
Speed up player animations.
Added new music for all levels, from PlayOnLoop.
Credits:
-------------------
Tutorial project with starter assets:
Michigan State University CAS 117
Music:
PlayOnLoop
Game Design and Development: Bob Wilson
Updated | 15 days ago |
Status | Released |
Platforms | HTML5, Windows, macOS |
Author | Bob Wilson |
Genre | Platformer |
Made with | Unity |
Install instructions
You can play this game right in the web browser on a computer (not on a phone), it is not necessary to download the Mac or Windows files.