Friday, August 31, 2012

Boost Bracelets and Game Optimizations

Hey. So, I'm still working on Soldier of, implementing some new items and working on the maps. The items I've added are the Spread Shot gun, and the Boost Bracelet. An animation showing it's effects can be seen after the break.

The Boost Bracelet allows you to run quickly, breaking through certain blast-resistant walls (the silver-blue ones pictured below), and smash into enemies. If they're weak and light enemies, they'll be KO'd with one hit and go flying. Otherwise, you'll bounce right off of them, having inflicted some damage. While running at critical speed, you're invulnerable to gunfire. The down-side is that it takes a little while to build up your speed to critical level - before this, you're completely vulnerable. Hitting anything solid will cause you to bounce off of it, as well.

 Using the Boost Bracelet, neither blast-resistant walls
nor light enemies can stand against you. 
Something I've noticed is that some of my earlier maps feel a little out of place and bare. I don't want to just scrap them, but I feel like the flow of the game feels more like a spider web, and less like paths that you can take in any order if you've got the correct items. So, I'm trying to work on blocking areas off that you can't reach with items, so that you don't get distracted from the main path you should be going on. At the same time, I want to make sure the world feels like a coherent, sensible city.

In addition to fixing little things and adding sounds, I've found a way to speed up the loading time of the game significantly (probably the way that I should've gone for writing the game in the first place). A quick test cut it from something like 4 to 5 seconds to around a half a second, or something like that. 4 - 5 seconds isn't a lot, but when the game reloads from a save point every time you die, it can get a little annoying.

 Basically, I currently have all of the maps in the game in a single scene, which means that the Blender Game Engine loads it all up and places all of the objects, unnecessarily for my game. In addition, all of the objects execute logic, even if they're not on the same map as the player. This slowdown is minimized by slowing the frequency of script execution and stopping scripts early for objects not on the same map as the player, but it's still happening. It would be far faster to split up the maps into individual scenes, or at least sections of the game world into their own scenes (i.e. all of the sewers in one scene, all of the city maps in another, all of the park in the third, etc). The definite upside is that the game wouldn't take nearly as long to load, and that the logic load should also be reduced. It's something to think about / implement, to be sure.

Anyway, that's basically what I've been working on so far. Thanks a lot for watching my space here and reading about my adventures in game development!


  1. very cool I can't wait to test out that boost bracelet. Hey do know if there is any timetable for release of the game yet or how much it will cost?

    1. I'm not sure. I'd like to have it finished by around the beginning of next year (2013), latest, but it could take longer. I'd like for it to be reasonably priced; probably around $5 - 10 or so.

    2. Cool, hey doesn't really have anything to do with Soldier Of but I know you make your own music with SunVox so could I ask you where you learned to create music and do you have any advice for someone like myself who is trying to make their own music for their own games.

    3. Well, I just picked it up over time with practice, I suppose. I've improved a lot in the past year or two that I've been working with SunVox - I guess because I've been trying to make music more.

      Anyway, beside that, I've got a tutorial set that I update from time to time for using SunVox that you can find on YouTube here:

      Also, try listening to different types of music, and getting out of your comfort zone, so to speak, by trying to make other genres of music.

    4. Thanks for the advice SolarLune and I'm definitely gonna check out that tutorial series it's much appreciated man.