SuperNova
A downloadable game for Windows
NOTE: New executables have been uploaded with support for delta-time and some bugfixes. This version of the game should run quite well on a variety of systems.
Thanks for checking out the game. It was crafted in about two weeks, almost fully from scratch, including all audio, music, graphics and code. Further below is a list of tools used.
I provided an yyz export which contains the entire project, and two executables: VM and YYC, both for Windows. The YYC version behaves a bit weirdly with regards to the spawn logic, but it performs really well, I recommend playing on the VM version unless it performs badly. Make sure it uses your Nvidia GPU if you are on laptop.
SHORT PLAY GUIDE:
I recommend playing on "normal" . When you start the game, you arrive on the intermission screen, where you can upgrade or repair your ship and read dialogue. The whole game revolves around escaping a supernova, so naturally this is your primary objective. You do this by navigating your ship with the arrow keys, while using keys like shift, space and Z for using your upgrades.
The secondary objective is to collect "data" at one of the data collections points spread through the area. This imposes a risk: you have to be stationary within its radius for a set amount of time. The reward is useful though: you get to discover a new core upgrade (the big ones), which gives you new possibilities for upgrading further later. Those smaller upgrades are choices, so you always take either one or the other, and you don't need to discover them first, though you do need the associated core tech.
Anything you spend in this intermission menu depends on how much time you have, which is determined by whether you collected a data-point or whether you made it in ahead of the entire supernova, so at most you can get two time units, but you may have more than two things to do in the menu, which makes this interesting in terms of choice. What makes it even more interesting is that the core ability discoveries are volatile: they go lost if you don't pick them, requiring you to discover them again by chance later. So sometimes you have to make tough decisions, especially on higher difficulties.
The supernova consists of a shock-wave and an event horizon, the area between these two is a dangerous zone that can damage your hull, but at the same time many obstacles don't function or get destroyed here, so it can be strategic to dive under sometimes. Many of the abilities somehow make it more lucrative to either fly within the shock-wave or outside of it. Your hull can only get damaged by this "grey" area, so you have to try to not stay in it for too long.
The game has a mini-story and some dialogue associated with it, which becomes relevant at the end for actually winning the game! There's a lot more intricate mechanics, I recommend checking the hints panel on the intermission menu to catch some of them, but you are best off just playing the game and trying to discover its mechanics as you beat it.
IDEA, TECH AND CONTENT:
Initially, the idea of the game was to just get through a gigantic obstacle course. You'd be held at gunpoint to make sure that you kept moving forward. The supernova was actually something that came up later, after a suggestion from a good friend; there's just something really cool about barely escaping a giant wall of death!
Later on, abilities and more enemy types were added to add more depth to the game, and a mechanic for collecting the abilities that actually forced you to take risks: by standing still in certain locations in order to receive the "data". The abilities often come with secondary effects that one may not expect. I really wanted the game to be more or less a set of rules that interact with one another in interesting ways, so you might see interesting side effects from some of the abilities.
Towards the end a cool little dialogue system was slapped on, with a basic story that has a fun little twist at the end with implications for the gameplay!
The physics in the game are custom written, just basic rigidbody collisions, but this made it easy to make controlling the ship feel smooth and responsive, since everything was happening under my rules rather than the ones of some physics engine trying to be realistic.
The backgrounds are procedurally generated by splatting sprites onto surfaces, with many parameters to tweak. I didn't have enough time to really play with it a lot, but some very basic sprites can already generate very cool looking backgrounds, especially with parallax and shading!
The lighting shader was also written from scratch but it's not really that special, just simple point lights with support for normal maps and emission maps. Still though, this basic setup can make things look so much more interesting already, due to the nice extra details from the normal map.
Unfortunately I didn't get to find a use for sequences in the game, I was thinking about using them for the dialogue panels, but then I decided against it as it would be really basic.
I had to rush a bit towards the end as well, which is why one of the levels is repeated and why one ability is unfortunately just missing (the blink). The interesting thing about the levels though is that they are basically just some spawn volumes and some associated background environments, which already creates some fun gameplay. This has some good potential for things like endless levels, easy level sharing via stuff like steam workshop, etc.
Would've loved to add a settings menu for keybinds, volume, and graphical settings, but no time unfortunately.
INSPIRATION:
Some of the mechanics in the game are inspired by some older games I played in my youth. For instance, the ship disruption mechanic where the ship spins like that is inspired by Operation : Inner Space, a really cool and original little game. I repeated this design decision in some older project that I was working on a long time ago, but it shares no code with this project.
TOOLS USED:
- GMS 2.3.1
- GMS sprite editor (for most of the sprites)
- Paint.net (for some more advanced image editing) - Inkscape (for ability icons and avatars)
- Bryce 6 (for one of the nebulas)
- Nocturne Games' Sparks tool: it's an old program he made to create sprite animations based on GM's particle system. I found it really useful for creating good looking explosions without making them too taxing. Sadly I can't find a download, had it from years ago.
- Normalmap online: https://cpetry.github.io/NormalMap-Online/
- Ableton Live 9 - Music composition and voice processing
- Some random text to speech for the base sounds of the computer voice, but all processing was done in ableton live 9 by me
- Cool Edit Pro for editing/creating nearly all the sound effects, which are mostly derivations from one another
- GDC soundpack for a couple of base sounds for the editing
- Github/Fork for source control
People interested in my music can check out my Soundcloud for more stuff! https://soundcloud.com/deshaadman
Status | Released |
Platforms | Windows |
Author | Archer6621 |
Genre | Action |
Tags | 2D, Explosions, Physics, Singleplayer, Space, upgrades |
Install instructions
Download either of the "Executable" downloads (YYC should run faster), and then just unzip and play. Control the ship with the arrow keys! The keys used for the abilities are explained on the inter-level menu.
If you want to check the source, you may download the .yyz, but it is fairly outdated (for historical game jam reasons :) ). The source is publically available at: https://github.com/Archer6621/gms-holiday-jam
Leave a comment
Log in with itch.io to leave a comment.