Your home is being invaded by hoards of enemies. Their attacks are relentless and never ending. Will you be the one that stops them? The fate of the galaxy depends on you to stop them. Will you be the hero that saves everybody?


A classic game with modern graphics. Fight through increasingly more difficult levels where waves of enemies attack you in predicable patterns. Three acts with four levels each and then the final crescendo. The game is set up to be a challenge but not too hard. There is always an option to dodge most enemies but who will get the high score?



Transition between levels

Level name


About the development

Hero of the Circinus Galaxy, created for Basic Shmup Showcase

Got to get started to finish

After watching a few episodes of the series “Making a Shmup in Pico-8” I really felt the urge to create another game. The thought grew stronger for each episode but it’s easy to just push it of until later. When the final episode ended with the challenge to create your own version and release it to a showcase, I knew I had to do it. Still, I put it off for a week. Instead, I watched a course on making a game in Unity but in the back of my head I was planning. One important thing I wanted to do this time was to write clean and easy to extend code. My previous games where not bad but done in 48 hours.

Planning for success

I jumped right into a new empty Unity project and imported some assets and made a mockup. Since I already knew this project was going to be scraped, I just wrote some quick code for a proof of concept. Once I had a very rough plan I started planning for real. Opened OneNote and broke down the game into a few major areas like player, enemies, gameplay, etc. Played around a bit with my mockup and broke down the areas into smaller chunks. Went to Wikipedia to research the genre. Finally, I broke down the chunks into tasks. My bullet list was starting to look like a game, just with everything missing. Imported a few more assets into my mock project to see if they would work.

First steps

Since I had decided to make a cleaner project this time it was a bit harder to get started. Most things are not perfect on the first try. I started with the game area and environment to get the dimensions right and then added the player. I made sure to “// TODO: comment” things that needed improvement. This was crucial for my success. It ended my writers block and got me going fast. Each day I started of checking if I could solve some of my previous difficulties. Visual studios task list was an awesome tool for this. It made me both confident that I could find areas to improve and saved a lot of time to find places to add code that I pushed of until later like adding sound effects.

Crisis… averted

My progress was a bit slow, and my scope was probably too big. The submission deadline was approaching fast. I tried to claw back some time by working all weekend, but I was not going to make it without cutting things. My heart felt heavy, and my mind was racing ahead to finish with at least something. But I had promised myself that this project was going to be of better quality. Damn the submission deadline. Apparently there where more than me that needed more time, and the deadline was pushed forward two weeks. I felt so much lighter and added a new area in my bullet list called scope creep. 😁

Pushing forward

With my resolve renewed that a clean code base and structured project files was the way to go. The second half was kind of uneventful. I probably added 80% of the project in this time but that was thanks to good planning and great groundwork in the first half. It was so easy to add new enemy types and variations. Made sure to always keep the game in a playable state. This was another crucial factor since I could release early versions of the game to get feedback. And that was so valuable. I used my youngest son for playtesting to see what was clear and what needed improvement.

Home stretch

The game was basically done with time to spare. Sure, there was only test levels and the final boss but so close.  My goal was to create four levels per day for three days for a total of twelve levels. It was very do able, but I learned a valuable lesson. Even though I had made a system to easily create levels I hadn’t thought about it visually. It was quite easy to add enemies to the list, but I had to use excel on the side to keep track of positions. If I did this again, I would probably have made some sort of test area where I could spawn all enemies instantly to save lot of time. Maybe even allow me to move the enemies in the test area and then import them back into the list. While working on levels I got a lot of feedback from testing. I released a few preview versions that solved issues and missing features.


A heartfelt thanks goes to Krystian “Krystman” Majewski. Without the YouTube series this game would probably not have existed. Sometimes you need a push to get started and this is just what I needed.

Thank you, Tobias Roosvall, for playtest and suggesting more difficulty modes.

I am forever grateful for all the feedback I received from the people in the Lazy Devs Academy Discord: Achie72, otto_piramuthu, Aktane, SquidLight and anybody I’ve forgotten.

And finally, I want to thank my sons Gabriel and Sebastian for playtesting. 

About the update

Overall the initial release of Hero of the Circinus Galaxy went well. Since there was still time to add things before the game jam closed I decided to add an online leaderboard before submission ended. So the final version was v1.1.1.

The user Aktane played through all submission and gave feedback. You can see feedback on this game at 50 minutes in this twitch stream:

This version is inspired by feedback from that stream and comments in the Lazy Devs Academy Discord.

Release notes

Version 1.1 (2022-09-19):

Version 1.1 (2022-09-22):

Version 1.1.1 (2022-09-24):

Minor change to online leaderboard

Version 1.2 (2022-09-29):

Version 1.3 (2024-04-13):

This version tweaks the game to be a bit easier.