Cosmic Corruption

A browser-based, side-scrolling bullet hell, in which every shot the player fires brings their spaceship one step closer to destruction.

Play on itch.io

Cosmic Corruption was a 6-week class final project created by a small team of 3: Taylor, Hunter, and myself (full credits on itch.io). The game is made in Phaser 2, using JavaScript. The prompt for our game was a choice between “fragile” and “eternal”; we chose fragile as our gameplay theme.

As a team, we tested various paper prototypes to end at our final concept: a bullet hell in which the player could not just hold down the fire button. We had the idea that the spaceship was fragile due to some eldritch monster breaking it apart, and our visuals were based on that.

Narrative & Art

Though my background is in art, Taylor was our sole game artist for this project. Instead, I assisted them by providing feedback and guidance on what assets were needed, and helped implement them into the engine.

My most visible contribution in this department is our cutscenes. There are a few cutscenes that play at various points in the game, taking the form of an image slideshow with light animation. I planned out what each cutscene would show, then described each cutscene as a list of images that Taylor used to create the assets.

The list I provided for the first 2 cutscenes
a still of cutscene 2, part 9

Programming

In terms of development of the final product, my main contribution was in coding. I coded the boss battle, which is two tentacles swirling around an invulnerable black hole. The boss has 4 different attacks, which become more powerful in the boss’s second phase.

I also implemented the two-part tutorial, which trains the player in the game’s controls and unique mechanics.

The yellow enemy ships in the main level fly in specific patterns, and in one of our first versions of the level, each ship’s flying pattern had to be coded in manually. I created a simple system using sets of points and velocities to allow for multiple ships to share the same “flight path”, making the design and implementation of new flight path shapes easier and more precise.

Hunter had coded the original movement for the player’s ship, however he was busy working on our game’s sound when we noticed some inconsistencies in the player movement. Thus, I edited the movement code for more responsive and fluid player movement.

Finally, I added a settings menu, with separate volume controls for music and SFX, and two sets of fully rebindable hotkeys. While not necessary for the class, rebindable hotkeys was my favorite and most proud feature that I coded, as it was not natively supported in Phaser 2.

settings menu, with default hotkey settings