Lots of shortcomings in several sectors, but I am happy that I've managed to make a game that is, more or less, complete, and has all the trappings of a complete game. At least I don't feel it was a failure, but even if that were the case, at least I would have started something and finished it.
*Visual style was nice
*First proper game with a main menu
*Learned /again/, design-wise, to keep it simple. Became much more productive when I simplified the cockpit interface.
*Missile tracking is broken!
*Cockpit interface is more spartan than it really should be
*Game isn't really fun, at least for me
*Enemy craft models are wasted because you never see them
The biggest lesson here was: keep it simple, stupid.
The orignal plan to have a fully 3D interactive cockpit, with the view rotateable and even little doodads that are fully 3D and toggle and move around. This would have been completely feasible if the function of the cockpit were much simpler, and not a tool for piloting a realistic combat spacecraft. However, it was a humongous hindrance and source of wasted effort early on.
Mid-way through the compo, I was able to re-implement the cockpit as a static 3D object with static 2D overlay on top over the space of a weekend, and changed my attitude completely around from a sinking feeling that I wouldn't get it done in time.
However, on top of that, I didn't get a series of cockpit interfaces done that I really would have preferred to get done. Not having them makes flying harder in a way that's more frustrating than fun. I'm disappointed that I didn't get around to making a radar display of any sort. They are fairly easy to implement and are very helpful for orientation, it's just I didn't have the energy to create it in the final days of the compo.
Math-wise, I should stay well out of 3D until I can figure out the correct math for doing a score of "fundamental" operations. Of course, by fundamental I don't mean stuff like matrix rotations or vector math. I mean things which 3D engines never implement, because they are just rendering engines. Slerping, position prediction, and a host of other things I couldn't manage to get working properly.
The missile tracking algorithm, being a core feature of the game, didn't really show its ability to completely dismantle the game until the last moments. The missile tracking algorithm worked out when I had all of the targets in visual range; everything was about 50km or closer, and wasn't moving very quickly. When I toned up the acceleration forces and distances, it started to fall apart. I don't actually properly predict the path of ships, I predict using values that are "good enough" at close ranges and low speeds. The true method is hidden somewhere in piles of source code and the minds of professsional game programmers. It's very frustrating and shows the core of my diffuclty with math; I know there is a correct answer out there, so if I can't find it, it must be because I'm too stupid to figure it out, leading to even more frustration.
This is probably the one game I've worked on where the final product was pretty amazingly different from the original idea. The basic ideas are there; real physics, missiles, lasers, huge distances. However, all the details are different; the cockpit interface is more spartan than I'd really want, and the gameplay is a wave-based gauntlet scenario instead of some sort of more realistic mission-based game.
The more I worked on it, the more I realized the idea wasn't really going to lead to a game that was simeltaneously fun and could be completed in a month. Honestly, this was not my primary goal; the idea was more experimental than an attempt at executing a cool idea.
When the gameplay finally came along, it seemed I was making a missile interception game. It was sort of fun to have to keep up with all the targets as they came in range and started firing volleys, but I noticed that the range and recharge rate of the laser versus the number of missiles incoming was a bigger factor than the player's ability to keep up with the missiles. When you had about four incoming at once, all launched from approximately the same distance, you were screwed. It's not really a bad thing, though, as part of the strategy should be to keep your distance and only engage a few at once.
I'm bummed that you never actually see the models of the ships! I'll have to fix that in future versions by showing models of your targets on the targetting screen.
Otherwise, I'm pretty happy with the visual result. I'd like to play more with particle systems and try using ribbony particles instead of blocky ones for my next set of contrails.