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:
Swarmed by enemies:
Using the “gorbachev” cheat:
Level up overlay:
Boss fight:
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:
yeah, share it, have a friend on windows into vampire survivor types that would get a kick out of it, also would try to see how it runs in wine on linux (or if you don’t mind exporting a native linux version)
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.
Fuck yes, this is the way.
Crack open something that already works and start messing with it, adding cool shit, and the easy successes very quickly give you more complex ideas and the motivation to pull them off.
Looks dope!
Yeah! It’s honestly amazing how quickly I went from having to google every simple concept to just instinctually understanding how to make something work and then just… doing it
Cool as hell, good job!
Thanks!
this extremely based and you’re cool as hell for making this
omg thanks
Hell Yeah
Well done! Love seeing stuff like this
Wtf this is cool as fuck, I love it!
I have no idea if Godot can do this but… any chance of an OpenBSD binary?
Edit: ohh nvm, I can convert the Linux binary I think. I can’t sleep so perfect time to try lol
Edit edit: Can’t play, says “pack version 2” is unsupported :(
I think the copy of Godot in OpenBSD ports is very old
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
Pizza Time!
Amazing work comrade
Played it through on my lunch break (only just beat the boss) just now. I like it, it’s really neat.
Thanks!