A simple glance at the last post will confirm a terrible truth, that it’s been three months since my last update. It’s primarily been because I was working on some problems that were giving me a lot of trouble, and there just wasn’t anything interesting to talk about. Then once you go a month or two without updates, it just gets easier to keep going. In any case there are once more things to talk about.
The first new thing, and the reason I went silent for so long, is accurate waypoint following for AI ships. This was something I needed so that I could do scripted scenes, and it was required for the first level. In the first level I’m not going to have any combat, just movement. In watching other people sit down with the game, they always have a very difficult time really understanding how movement worked. So the first level is wholly devoted to having the player navigate their ship through an asteroid field. Naturally they are going to need an NPC companion to give them pointers and guide them through the asteroids, and for that to happen I needed an AI that could follow a waypoint path.
So, why was this so difficult for me? Well, first off, my physics knowledge isn’t real great, it’s getting better, as a fantastic side effect of game development. In order to have the ship calculate how much to accelerate and in what direction in order to make a reasonably sharp turn, you need to be able to calculate exactly where all of those accelerations and rotations will affect the ships position. All of which relies heavily on physics knowledge. I finally ended up posting a question to gamedev.stackexchange.com. Let me tell you, there are some brilliant people on there, I had a thorough answer to my question within a day, and it was soon thereafter that I got the AI working.
I’ve also been working on my level creation tools. Since I abandoned the idea of an over-world game, and the whole procedurally generated stuff, it’s allowed my a lot more freedom to make simple level design tools. I was using a frightening home brewed solution that would have made any sort of advanced scripting impossible. There is no way I could have created the first level with that thing. I’m currently using Unity’s scene editor as my level editor, which I believe is as it was intended. Content creation is going to go way faster now.
I’ve also been hard at work in figuring out how to balance everything. There are three weapon types in the game, missiles, lasers and guns. I needed a way for them to differ, to have them fill different roles. I ended up making missiles a long range weapon that won’t work up close, lasers are medium range weapons that have a good operating range, do a fair amount of damage, but use a lot of power, and guns which are primarily short range, but if you can get in close enough to use them they really pack a punch. I’ve set up an excel spreadsheet that will calculate how long each weapon would take to destroy a ship with a given set of statistics, and will be using that to figure out how much everything ought to cost.
Finally, I’m excited to announce that I’m going to be at Salt Lake Comic Con. A group of local indie game developers have pooled resources to buy booth space, and I threw in my lot with them. I will be there all day Saturday September 6th showing off Flame Warrior. I’d like to say I’ll have it done by then, but the reality is that I don’t really have much experience with this phase of game development, and thus cannot accurately estimate how long I can expect things to take. But I can say that I will have some good stuff to show off, it ought to be great.