Cosmonauty is a satire about the 1960's space race. We wanted to poke fun at American nationalism. In 1969 Soviets are creating super soldiers on their space station, and the Americans send the player, Cadet Howard Moonshine, to stop them. This was a submission for the Game Off 2020 jam, which we completed in 30 days. We used Unreal Engine.
The theme of the jam was "Moon Shot". We had been torn between two ideas: A game where the player shoots enemies to spawn platforms in space, or a game where players must inoculate werewolfs at a lab. We had great ideas for the latter- breaks in the roof of the facility where the moon would shine in, stealth sections, combat scenarios, etc. It proved to be too ambitious of an idea, so we ended up going the platformer route.
Austin Edwards and I did all the scripting in the game and shared much of the design work. Early on we both scripted the basics, but he took focus on player mechanics and I took focus on AI. We started with our premise- the player shoots enemies, and they turn into platforms. I wanted to embrace classic sci-fi tropes, and asked Kevin to create a cheesey bright yellow ray gun. I suggested we use a beam of electric energy instead of bullets, since that would be more wacky. Austin then made the particle effects for that. I designed and created the american flag platform you see in this example.
From there, Austin worked with Nathan to build the level. I created multiple tools such as spawners and triggers, as shown below. We created enemies that were on the ground and in the air (with jetpacks), as well as enemies that would not spawn platforms on death. We gave the player interesting scenarios to utilize the abilities at their disposal.
The tools I created can be seen in use here. Inactive enemies are stationary, while active enemies will move about. Jetpack enemies don't move which is why they are marked N/A. You can also see checkpoint and spawners here. Everything has instance editable options that also change the billboard (thumbnail). Below you can see the boss room.
Creating the enemies was a relatively straightforward task. Since this was a game jam, I didn't see any reason to make the enemies overly complicated. In fact, I opted to avoid behavior trees at the time because It seemed unnecessary for such simplistic AI instructions. The AI had to either stand, walk around, or float and shoot at the player periodically. I've included some of the scripts in my work below.
Clicking on this image will take you to BlueprintUE where you can zoom in and read it clearly. This is just a sample of my work. I will not be going over the scripts for this particular project. Yes, I'm aware it is a little sloppy. Remember this was a 30 day sprint to get everything done as fast as possible! For authenticity, I haven't made any changes. Nowadays I leave plenty of comments and a lot of scripts would be collapsed or merged into macros.
With the final boss, I brought back our werewolf idea as the "super soldier" the player was after. I designed a fight where the player must shoot the cosmonauts into it to deal damage. It was my way of adapting to a time crunch and still creating an interesting experience that utilized everything the player had learned. We definitely did not have time to script an entirely new enemy, and this allowed the boss to be stationary. Take a look!
The werewolf boss will pick up a random environment asset from a scripted array and will hurl it at the player! This was certainly the most fun part of the project.
Play the Game!
I am proud to say that we ranked 16th overall against 500+ in this jam at the time of submission. That's pretty good! I still hope to win a game jam someday!