The last few weeks have been pretty busy for me. I spent one whole week taking a multiple book-led crash course in C# and XNA, with the goal being to write a game for the XBox 360. Not this game of course; I don’t think I could make it portable across Linux then (and there are a few of you Linux-users, I know!). The Tenth Crusade, on the other hand, has been entirely rewritten from scratch, and in a different language, and expanded on. (I have a not-inconceivable goal of a January release, with the hope of making enough money to quit my job and write games for a living. If you hadn’t already guessed, I’m a very optimistic person. You should see my design documents.)
Now, Target; 2008 will be serving a slightly different purpose. My coding style is, well… functional is probably the nicest way of putting it. While technically C++, it is more C with classes. Target; 2006 in particular is a horrendous mess, what with its rather convoluted development story. So I’m going to rewrite it from scratch, and do it properly. I really need to up my game when it comes to C++, and this would be an excellent way to do it.
‘Madness!‘ I hear you cry. And you’re probably right. After all, most of the code is done, I just need to, y’know, finish up a few things. So I might just chicken out and rewrite the existing code. On the other hand, there are both bugs and code left from 2004, so I don’t know yet.
On the plus side, while finishing this game by the end of the year is very unlikely, it does give me more time to think up more cool stuff to put in.
So I was rewriting the level logic code (the stuff that handles the unique bits that each level has, like the train, or the unusual design of the car park) last week when I had a sudden flash of inspiration - wouldn’t all this be simpler if I did it in Lua? Lua, that fantastic scripting language that I’m using for AI handling in The Tenth Crusade and Contact Sam Cruise. So on Friday I got cracking. (Click here to read the rest of this entry)
I don’t know about you, but I get rather irritated by games that don’t use as many of the pixels on my widescreen monitor as possible. Especially games that could really use them, like scrolling beat-’em-ups. And it seems a bit silly to get irritated at something you can fix, so…
(click the picture to view in full)
So there’ll be no more black borders down the sides of the screen (although there’ll still be some at the top and bottom - but where else am I going to put all the health bars, eh?)
It’s just a bit of the first level, so no surprises that - background aside - it doesn’t look hugely different from Target; 2006. Also it’s just me playing, and the AI is being surprisingly friendly.
So, my plan to give Target; 2008 a proper run-through has fallen through, not least because I’m still not done with some ‘minor’ issues. Tch, eh?
For the technically-minded, here’s what’s happened - Target; 2006 treats weapons as people with no AI. Target; 2008/DS treats weapons as completely separate entities. That’s because the DS doesn’t have much memory, and a simple object takes up less space than a person. This is itself isn’t a huge deal, but integrating two opposing ways of doing things is at least a medium-sized one.
In terms of a play-through, this means that level one is blimmin’ fantastic. I get run down, my ass kicked, and all with some neat new sound effects (you can hear the motorbikes now, at last!). Level two needs a couple more sprites - bullets and guns. Not to be drawn, of course - I have those already, and the AI for using them is done too. It’s getting the graphics into the game using an arcane process that I came up with two years ago, and, to be honest, I’m a little scared to try it. It might just smash up all my neat, working data files and scorch the earth behind it.
So I’m going to go out and have a drink, and then I’m going to come back and see what happens. If we’re lucky then I might just be pasting in a new level by the end of the day. Yes, new levels. (Probably.) Here’s a mockup of the one I’ve been wanting to put in, ooh, since the beginning.
Okay, so I didn’t quite hallucinate everything in the AI code at the end of last month. But it did turn out to be a lot more difficult to make it work with more than one player. Still, it does work now, so I’m going to spend a little time this week fixing up all the minor bugs that the DS code merge introduced (like disappearing characters and no weapon animation). And then at the end of the week I might just be able to do some limit testing - I’m going to try to get six players running through the whole game.
I don’t know of anyone that actually played Target; 2006 with the maximum number of players, which was a little disappointing. I’m a big fan of multiplayer games, especially all-in-the-same-room multiplayer, and that’s the main reason that I put in six player support. Personally I’ve never managed to get more than two other players to try it with, but controllers are an issue for just about every PC user. Assuming I have no problems with the gear I ordered this weekend, I’ll be putting up links to decent (and cheap) PC compatible controllers.
If I get time this week, I’m also going to see if Target; 2008 compiles (and more importantly works) on Linux.
Well, there’s been some interest. Thanks to Sslaxx and CJ 2xSaI is the way forward, keeping that retro look. I’ve actually got around to going over the old code today, after getting bored with The Tenth Crusade’s model animation code. I’m still in the process of carefully blending the last version of Target; 2006 with the incomplete (but still better) DS version, and that in itself is throwing up a whole bunch of new bugs.
I’ve also merged the menu code from The Tenth Crusade, which means that Target; 2008 now has totally redefinable controls at last. The big hold-up before I release anything else, though, is the AI. I rewrote it from scratch for the DS version, and it’s a big improvement; enemies surround the player and mercilessly beat the crap out of him. The only trouble is that having been ported from the DS it’s all focused around player one, and players two to six are just ignored by the mob. With a spot of luck this won’t be a difficult thing to tweak.
Of course, it’s almost five in the morning, so there’s a non-zero chance that all the code I just wrote is gibberish and I hallucinated the testing. Erk.
…I’m shuffling around my projects to make the Desert Strike remake The Tenth Crusade a higher priority. It’s now an OpenGL game rather than all sprite-based, and I’ll be trying to have at least one release a week for it. (I’ll never be able to keep up with the first week’s ‘release a day’ thing - I have too much to do as it is!)
So stuff here is going to slow down. (Has already, in fact.) But development isn’t suspended! Oh no, there’s still stuff that I’m learning from remaking Desert Strike that I can adapt for Target; 2008. (And from there to Contact; Sam Cruise, eventually.)