Space Mission: Survival — A Post-Mortem

Background and History

The amazing 10 year journey to release Space Mission: Survival on Windows/Mac/Linux…

Back in 2014, I was 2 years into mobile development, and I had a few games on the iOS and Google App Stores.  I wanted to create a retro space shooter.  I had a few ideas, and the result was Space Mission: Survival.  This version was written in CoronaSDK, now known as Solar2d, and took about 5 months to develop.

Early response was decent, but I think I loved it more than anyone else, and I decided I wanted to create a Windows/Mac version, but with many more enhancements.  I liked the retro 90s style of the mobile game, and thought it would be somewhat cool and unique to create a multi-retro game… basically a version of Space Mission: Survival that could be available within specific decades.

It was around this time that I was getting familiar with Unity and decided to develop an enhanced version of SMS with Unity.  Progress was good, but unfortunately I stopped development when I got close to completion. I am not fully sure why, but I believe it was several factors.

Firstly, I probably over scoped the project based on my Unity experience, so I programmed myself into a corner.  A second reason was that my motivation was slowing down… it became difficult to finished when there appears to be no one who actually had interest in the project.  Videos, blogs, etc resulted in very low encouragement.

So, development stopped.  Months later, I decided to continue development, but realized that I learned so much more Unity that it was better to just start from the beginning.  Development continued until I lacked motivation (again) and there was lack of interest (again).  Very depressing.

Rinse and repeat 5 more times over the course of 6 years.  I started and restarted development 7 times.  Every time I discovered the motivation and interest issue and stopped.  The last time was in 2023, and when I considered starting for the 8th time, I realized I was not really having fun developing in Unity, and I did not enjoy firing up the Unity editor anymore.

In late 2023 I decided to give Godot a try and discovered that development was fun again, and decided that I would try developing the 8th incarnation of Space Mission: Survival using Godot, and I did not look back.  I made so much progress so quickly, that I decided I am going to release this version no matter what, and I am not going to let the depression get to me.

So, 11 months later, and here we are with a release of Space Mission: Survival for Windows, Mac, and Linux.  Check out the demo or help support further development by purchasing the full version.  The full version will include many more features going forward.

Development

I started developing the Windows/Mac/Linux version of Space Mission: Survival in December of 2023 after looking through some Godot tutorials and videos.  I got the basic hang of it, so decided to dive in.  Using Godot is so much more enjoyable and I was making a lot of progress.

I wanted to add several different retro modes to the game (the mobile version has a single 1990s retro mode), and decided that a 1970s and 1980s mode would be cool, and luckily the gameplay is the same, so it is just a matter of using graphics and sounds of those decades.

Soon after, I was looking through some of my old game jam games, and I saw Johnny’s Flipbook Adventure.  The gameplay is a bit different, but I thought that this mode would be great to add to Space Mission: Survival.  I added the 1950s mode as a flipbook mode.

The graphics for these 3 modes were created using a variety of tools, but Photoshop was the main one. For the 1970s Arcade mode, I tried to emulate the vector graphics of the time.  Each sprite was drawn as white lines on a black background, and when I saved the sprite, I excluded the background.  I think is came out very well.  I added the phosphor glow effect via a shader during the gameplay to give it a more realistic retro feel.

The 1980s mode was also created in Photoshop, and I added a shader to give it the pixellated effect that we all remember (if you do remember the 1980s).

For the 1950s Flipbook effect, I used a tablet to pencil draw a graphic (the asteroid, for example).  I then used that graphic as a template, and added a layer to the image, where I again drew an asteroid.  For each image, I drew 5 images, and then in the Godot editor, I created an animation to cycle through each image.  I think this actually does look like a flipbook drawing.

For each retro decade, I wanted to also use the sound effects of the time.  Same for the fonts.  For the sounds, I perused some free-to-use sound effect sites, and well as creating some of my own.  Actually, all the 1950s sounds are recording of me and pitched higher to sound like a child’s voice.

I used the same game scene for all 3 modes.  I created “prefabs” (scenes in Godot lingo) and added 3 sprites to each.  I swap in the correct image depending on the game mode the player chooses.  Same with the sounds, effects, and UI.  The gameplay for these 3 modes are pretty identical, but I tweak where I have to in order to simulate the selected decade.  This will not be possible for other (upcoming) decades, since the gameplay will be drastically different, but it works here.

What Went Well

  • Learning Godot and GDScript was very easy for me.  Coming from C# and Unity, I thought it may be difficult to learn a new programming paradigm, but recalling my Lua experience using CoronaSDK, it seemed to be very easy to pick up.
  • I had a lot of sprites already created from the 7 previous attempts using Unity, so I did not have to spend time recreating everything, although some tweaks here and there were needed.  This helped move things along without spending a lot of time recreating images.

What Didn’t Go So Well

  • When I get stuck, I get real stuck, and trying to find a solution online can be futile.  Forums posts that mention the same problem I am having have no replies, Internet search yield zero results, AI queries sometimes present answers that are outdated or just do not work.
  • Lack of any feedback is so demotivating. I’ll just leave it at that.

In Closing

Overall, this experience was positive… I did finally get my game out after 10 years of trying.  I also have a few ideas on other modes, and they are quite different than what is already there.  I’m looking forward to developing these other retro modes.

I’ve also learned a lot using Godot and GDScript, and plan to use Godot on future mobile and PC games.   I have a few ideas already in development, and I would like to re-write my previous mobile games and game jam games using Godot.

I welcome you to check out Space Mission: Survival.  Your support, whether its by purchasing a copy, being active in the community, or watching some of my YouTube videos, will give me the incentive to help me to continue development.

Leave a Comment