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
StatusReleased
PlatformsHTML5, Windows, macOS
AuthorBob Wilson
GenrePlatformer
Made withUnity

Download

Download
AstroFlipper_MacOS_v2.03.zip 42 MB
Download
AstroFlipper_Windows_v2.03.zip 33 MB

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.