Oh No, Spaceman!

Screenshot

This is:

A time loop shooter, played with mouse and keyboard on Windows-based PCs.
Download.

The plot.

Oh no, Spaceman! You are caught in a time loop with infinity hungry aliens! How many can you kill before they crack open your ship like a walnut and slurp up the tasty organic matter inside?

Controls.

ESC         - Exits at any time
WASD        - Move your spaceship
MOUSE       - Aim
CLICK       - Fire
P           - Pause
ALT + ENTER - Toggle Fullscreen
You are stuck in a time loop, which means that after a while you will meet your past self. You (other you) will be doing everything that you (you you) did a few seconds ago. Remember, you are your own worst enemy! If you crash into yourself or get shot by yourself, you will die. Meaning, if you choose to fill the screen with bullets now, you will be dodging those same bullets when time loops around again.

Stuff I stole.

Music: Stolen with permission from Eric Skiff's creative commons 8-bit album Resistor Anthems.

Sound Effects: Stolen from The Freesound Project, uploaded by ggctuk.

Changelog.

v1.3
- Added Xbox 360 Controller support
- Added full-screen mode support
- Added a pause screen
- Added a title screen
- Fixed bug where "x" would remain on screen when multiplier was redrawn
v1.2
- Major changes in difficulty level
- When player is hit, instead of ending the game the player now loses 1 hit point and is temporarily invulnerable
- For each ghost that spawns, a player now gains 1 hit point
- For each ghost that spawns, the time until the next ghost spawn is increased by 1 second
v1.1
- Changed color of ghost-ships to make you easier to see.

Development.

I made it my goal from the beginning of April that I would build a framework that I could use to build games by the end of the month. After three weeks of work I came up with Hyperbole - it isn't super polished or tested to all types of hardware, but it accomplished the main goals I set out for. It is modular and API agnostic, meaning that I could slot in, say, an OpenGL renderer in place of the Direct3D one without changing any other code. Or I could include both, and choose between them at run-time.

With a week left in the month, I came up with a game design relating to the Experimental Gameplay Project's April theme of Repetition. It took me about 5 days to build the game using the framework, and the prototyping has helped me find a ton of bugs that simpler test-cases wouldn't have found.

Looking back on it, I probably should have gone with a game framework that was already written, like SDL or Flash or maybe Unity, but on the other hand, where's the fun in that?

-Switchbreak