Two videos for you today. First up is my game’s progress. The major parts of the engine are functional, but nowhere near polished yet. I’m a self-taught programmer, I’ve never actually taken a programming class or anything so I don’t really know what the best method of approaching a large project is. I’m going by what feels right and I’ve ended up basically applying my workflow for art to programming. For a drawing, an artist will usually start out with rough thumbnail sketches that barely look like anything, then when they find one that works they rough it out in pencils, then they clean it up and ink it, then they add the colors. The concept is taking something rough/vague and going through stages refining it down and adding details until you have the final result. Same thing with animation, you rough out the flow of the animation and then slowly refine it from there. So I’m basically dumping a bunch of duct taped sloppily coded ideas down to get someting that’s doing the jist of what I want, and then going back and refactoring that code 2 or 3 times until I have something decent.
No idea if this is a slower process than other programmers use, but I like it because I get to see some rough progress right away which helps motivate me because it feels like I’m accomplishing something (nothing is worse to me than those days where you stare at code all day hunting down a bug or refactoring or working on structural code that does a bunch of work behind the scenes, and at the end of the day the game looks exactly the same as it did before). And I end up with decent enough code in the end. I think with programming you can always do something better and it’s tempting to want to re-write things a dozen times to make them cleaner and prettier, but at some point you have to say “okay this works, it’s time to move on or I’ll never finish this project”. I’m taking the approach of “is this part of the code something I’m going to have to come back to a bunch? If not, then as long as it works that’s fine.” which has been working so far. I’m sure I’ll have to do some optimization down the road and clean some of those parts up, but I’ll deal with that shit when I get to it lol
Everything is still super temporary art (I think that sky background is from some anime) but the engine is my main focus right now. The music notes were just to test particle emitting though I’m debating making her ear things headphones like she cranks up some beats when she fights alien intruders because she gives no fucks and knows she can handle them. The enemies all have AI and Finite State Machines to react to the Player…they’re able to have different behaviors depending on their health and which state the Player is in. When you’re in the Default State you can’t attack, and when you collect enough of the Power Cubes you enter the Powered State and deflect everything back at the enemies to attack them, so in the Default State they can be more offensive and attack more while in the Powered State they’d do more dodging.
Level transitioning works and I have a lot of the boring outer-framework stuff done (although it’s ugly at best right now), so you transition from the Title Screen to a Main Menu, Stage Select, and the game will unlock levels as you complete them and save your progress for you etc. Also everything has customizable speed to it, in the video above the first level you see has the Tracks all moving at the same speed but the second level it shows has two fast Tracks and one super slow Track. So I can control the speed (and spawning frequency) of the Tracks, the Power Cubes, the saw blade Hazards, bullets, etc. which I talked about in terms of gameplay here. This should let me do a lot of cool shit, like having enemies/bosses that can manipulate the speeds of those things on the fly.
I’ve been fleshing out ideas for enemies and bosses and I’ve got them generally figured out. I decided to record some of my process to show how I use FreeMind to do a lot of my planning (not just for gameDev but for writing projects in general). It’s about 45 minutes long, but give it a look if you’re someone who does creative work and is always looking for new planning and organizational techniques:
There are a lot of Hotkeys built in for moving Nodes around and Expanding/Collapsing them etc. to skip around and edit quickly. I don’t even use all the icons spread around the interface, just the basics to get ideas down as fast as possible. You can also see that I’m using the same workflow I use for art and coding: dump down a rough brain-fart version, then go back and refine it in stages adding detail to get the final result. Give it a go and see what you think.
I fleshed out gameplay ideas for all the enemy/boss designs so from here I’ll be implementing them with temporary art. As an artist it’s REALLY hard to put off focusing on the art, but I know the art stage should come last because the gameplay is what’s going to make the game fun to play…if an idea I have doesn’t work in code, I don’t want to be in a position where I’m trying to shoe-horn in art that I’ve already drawn because I don’t want to waste it, or toss art away and have wasted that development time. So I’ve just come to accept that I’ll be looking at the art you see above for a few solid weeks before I get to finally let loose on the art and put it through a massive overhaul/upgrade. Gotta’ have patience, grasshopper lol