gamedev
Made a beach/island/sandbar level. I don't know if I'm going to make more levels. Other than that, I just need to tweak some things, add music, replace the Spy Hunter sprites with my own or stock assets, give this a name, and then I'm done.
I'm hoping that my next game would be something more inspired.
gamedev
Now, I'm experimenting with having randomly spawning enemies as opposed to predefined enemy placement in levels. It should help with the problems I had previously and also allow me to include enemies that appear from behind (which I haven't implemented yet).
I should also tweak the behavior of some enemies. Have them catch up to the player, if they attack from the side.
gamedev
I'm realizing that this game is piss easy because Spy Hunter-style enemies can only attack from the side. While I do have a mine car. It isn't enough. Unlike the original Spy Hunter, enemies cannot appear from behind because this game has predefined enemy placement. And if you know where the enemies can attack, you can always attack from behind, and never have to deal with the threat of enemies attacking you.
I plan on adding one more enemy that appears from behind and will shoot you on sight. Hopefully, it will add a little bit more challenge. However, I need to be careful about adding too many enemies on screen because of the lag problem that I can only mitigate so much.
The other option is just to scrap predefined enemy placement altogether, and have cars appear from either the top or bottom after a certain interval with a limit on how many cars can appear on-screen at once. This would obviously be a hard choice because I put so much work in designing the levels and even creating my own level editor, but unexpected turns are just simply a reality in game development.
gamedev
gamedev
Oh, I've also replaced one large if-else statement with a switch statement. I think that might help with performance. Contrary to popular belief, a switch statement and an if-else statement do not compile the same way. if-else uses branching instructions (constantly checking for and calculating conditions) while a switch statement uses a lookup table.
gamedev
Maybe it did fix the lag, but only slightly. I've also rearranged some if-statements, which also seemed to help.
Regardless, if you drive slowly enough, eventually all the cars in the level will appear on-screen at once because the only start moving once they are fully onscreen and will only disappear once they are on the bottom of the screen. So you will eventually get lag. But nobody is going to play the game that way so who cares?
Unlike my previous game, enemies do have some sort of AI, as opposed to just having patterns. Naturally, there are a few state machines and lot of if-statements even for this basic AI, but that's also because of poor planning. Some could be turned into switch statements.
Also, having a mine car does increase difficulty, a little bit. So, I probably won't need that much more cars on screen.
Anyway, the game is coming along nicely and quickly regardless. Like the last game, don't expect anything ground-breaking, just something that would be fun for a couple of minutes.