As a little backstory, I started this project at the beginning of 2008 with the goal of using OpenGL on PSP so that I could render a helicopter using a whole bunch of hard coded arrays (yes, believe it). It was grey, flat shaded, and could be rotated using the joystick. I coded it on Linux, because that is what the toolchain was installed on, and I’m pretty sure at that stage I was using the Kate text editor. The code was based upon some Uni projects which which were also little modest OpenGL projects that only ever scratched the surface of difficulty.
Soon I started adding things to the project. I finally figured out how PSPGL rendered colour and shading (it has a few quirks). I added a giant y = 0 plane which was/is the terrain. Soon the helicopter could fly around, take off and land, and fire some projectiles. Eventually enemies were needs, so that required some basic AI. The enemies need to blow something up, so I made some buildings, then I needed a means to get in and out of the game, and that required me writing some GUI code.
Somewhere along the way I dragged Justin in and after his only semi successful attempt at porting x-moto to PSP, I think he liked the idea of particlpating in a project that was kind of working. Justin (unlike me) was keen to get into the hardware accelerated PSP math code that sped up the game amazingly. He had the thing running in mac and was able to use its performance tools to get the thing running much faster.
We evetually released our game to the PSP community at the beginning of 2009 and if you look at the archived screenshots, it looks really crap. Subsquent releases were obviusly still crap because we totally got owned in the two PSP coding comps we entered…
…Then the iPhone came out. What a total game changer. We figured we had to jump in on the action and that tangent took us more than 6 months to come out of. Yes, we totally missed the boat and now the market is saturated. The cool thing was that we now had working builds on mac, win, linux, psp, mac and iPhone, which is pretty decent going I suppose. We don’t strive to release for all platforms for all releases though.
Amongst all that, so much of the code matured. My incredibly naive approach to C++, OpenGL and software projects in general is on the improve, especially with the help of Justin, who just seems to know stuff. Justin actually does all the backend stuff though (leaderboards, databases etc). The rest of the mess is mine.
One of the biggest messes of all in the GUI code and it is currently getting a massive clean up. It’s so bad, that I fear I’m giong to break a lot of functionality that will take an age to fix. It’s coming along pretty good though, with only the odd hack here and there.
At the same time we’ve been making some more structures and units. Guard towers, communication dishes, a Chinook, truck and hopefully a 2S19 Msta (google it). There are others, but the end goal is to use them in new missions. For another example of a mess that needs to be cleaned up, it’s mission actions and events. That will be next on the list of things to look at.
Software projects are never finished.