A little over 2 weeks ago, I had once again started working with Godot, determined to finally learn the software so I can bring my many game ideas to life. And then I stumbled and failed as I usually do as my ideas were lofty and my skillset meager. I think it was the Mark Brown video that finally made the (obvious in retrospect) idea sink in that there was no way I can do the more complex games I wanted to make without first having made a bunch of simpler projects to nail down the fundamentals. So instead of trying to follow a grand plan, I just opened up a old tutorial I did and started adding stuff purely by vibes. And it fucking worked because after 2 weeks of intense hyperfocus I was able to put together an actual game that works (so far) and has most of the basics of the genre! Sure it's only 5 minutes long and full of stolen assets but I'm still very pleased with the outcome.

I started with the GDQuest Vampire Survivors tutorial and first decided to change out the graphics and give it a theme. What would be an amusing communist theme? Stalin crushing hordes of fascists. I decided to use Metal Slug assets for most of the characters and weapons (which had the bonus of getting a lot of practice in with animation because holy shit those spritesheets are huge). After I changed the graphics, I gave the solider a death animation instead of just disappearing. I thought the same death every time was boring since the soldiers had so many death animations in Metal Slug, so I made a system for randomly choosing a death scene each time. Then I got nostalgic for cheat codes from old games so I figured out how to add a text input box and made some effects for code matches. Every time I got bored or frustrated with an element I was working on I would come back and add another cheat, sometimes even it was just a bit.

And it sort of fed into itself after that. I went back to the soldier. I wanted an leveling system, so first I needed gems to fall from defeated enemies. Those gave XP which needed to be tracked, then I needed to trigger a level up screen where random options can be chosen. It started with a basic screen where 3 upgrades could be chosen. Then I added dummied weapons into the mix. At first the options could be infinitely chosen, but I was able to limit each option to 5 levels, which each level being a unique upgrade.

I got bored of working on that so I went back to enemies. I made 2 new variations: ones that I thought could have interesting attacks (though I never got around to adding an attack for the pirate variant). Since I didn't want them to appear at the start, I made a game timer and assigned a difficulty counter that increased every minute that changed the enemy loadout and spawning ratios. With all this game info to be tracked I created a UI to track important info. Then I made a boss with multiple attacks, 2 phases, adds, and a custom health bar.

I was creating larger challenges but with my hero only shooting a simple gun, it was time to add weapons. I added 7 in total. An 8th was originally planned for parity with the 8 upgrades, but I never got around to fully implementing it lol.

Then it was just some polishing left, so I added a title screen, credits, game over screen, music, and any sound effects I didn't get around to adding yet. Oh and options, so volume levels and fullscreen mode could be adjusted. And then any last passes for animation adjustments, bugfixes, sound balancing, etc.

I probably did more that I mentioned because it all starts to blur together towards the end. It's still a little janky in areas and I'm sure a lot of my methods and solutions are inefficient but in the end, it still seems to work and that's good enough for a learning project

Here's some screenshots!

Title screen:

Show

Swarmed by enemies:

Show

Using the "gorbachev" cheat:

Show

Level up overlay:

Show

Boss fight:

Show

I have a packed exe that I can put up on a file sharing site if that's allowed here and anyone expresses interest in trying it out

Links to the game:

Windows version

Linux version

  • nemmybun [she/her]
    hexagon
    ·
    5 months ago

    No OpenBSD export in the default Godot as far as I can find. There's a guide to making custom export templates that might work but it's beyond me