Gauntlets of Recursion (+3)

Times, trials, and turbulence.

The History of Skirmish.

History Lesson

This only scratches the surface of each of these projects, and my own history in game programming. Still, hopefully it will give a decent overview of the efforts I’ve exerted over the years towards creating my ideal online shooter game — nay — my dream game. It all began five long years ago…

2002 – “Bizlof War”

Back in my first post was where I first mentioned Skirmish Online. But it began far before that. The undying firey passion to create this online game began all the way back in 2002, five long years ago. This was when I was rather new to the idea of game programming; anything beyond a text adventure was “far out”. I was introduced by a friend to the online game creation utility known as BYOND, or, Build Your Own Net Dream. It uses a C#-meets-Python-like scripting language, and lets the developer build atop of their existing network and world code. You were constrained to their object-based networking system, and their 32×32 tile engine. Despite this, it was still enough power for a budding developer such as myself. It wasn’t long before I had created the first incarnation of my dream game, Bizlof War. The name was made up on-the-fly, but despite its look, it has no Russian background or relation. Who knows?

Bizlof War wasn’t that pretty, but after looking at the screenshots from the link at the top of this post, one can see a strong resemblance.

bw1.PNG

Bizlof War took place in a more futuristic setting than Skirmish, featuring weapons like railguns, plasma weapons, and allowing players to ‘warp’ to teammates. The damage per-shot was also lower than most games, allowing battles to take place for longer than a quick encounter. The characters were also broken up into ‘classes’, such as Soldier, Pulse Trooper, Commando, Stealth Op, and Weapons Expert, whereas certain weapons would only be usable by certain classes.

The game saw moderate popularity, but my inexperience in writing games combined with its performance/gameplay being hindered by BYOND itself (it was catered towards slow games like puzzles or RPGs) resulted in a less than optimal outcome. Still, there were several games hosted with 20+ players, which was a simply fantastic experience, and was what spurred me to keep on aiming for this ideal online game.

2002 – “Bizlof War: Tactics”

After Bizlof War‘s completion, development quickly began on a sequel, Bizlof War: Tactics. The idea behind this game was to encourage more tactical and stealthy gameplay, while keeping the overhead shooter aspect that I enjoyed in the first game.

Bullets became instantaneous, whereas the player would aim at a tile and click the mouse to fire a ‘burst’ from the selected weapon. This would be 1 round from pistols, 3-6 for SMGs/rifles, and 8+ for shotguns, with the rest somewhere in between. Recoil was also a factor, so battles wouldn’t become stand+click wars.

Another inclusion (which I loved) was gas grenades. They came in both the Chlorine (damaging) and Nerve-Gas (stunning) flavours, and continuously spawned gas-cloud entities that drifted and shifted about for the lifetime of the effect, blocking line-of-sight and dealing out its effects. It was neat to be able to trap someone in an office with a well-placed gas grenade, and wait around the corner with a shotgun for when they came rushing out, unawares.

bw2.PNG

The game worked on the idea of a ‘slotted inventory’, rather than classes. A player would choose items to have in his/her inventory prior to appearing in the game, each of which took up a certain number of the total seven slots they had (seen above). Items had no cost associated with them, so the player was free to experiment and customize their arsenal in whatever way seemed to best fit the play-style they wanted.

Bizlof War: Tactics also received a luke-warm response, although seemed to fare a little better than its predecessor. BYOND itself was still the factor that was limiting me. I had begun learning Pascal and Delphi in highschool at this point, so I planned to venture even further towards my dream game…

2004 – Bizlof War (Delphi)

After an intermission of a year or so (developing other games all the while), I found myself back with the online game fever, and it would not let go. It was time to leverage what I had learned with Delphi and try to make a ‘real’ online game.

Code was hastily slapped together, and very quickly (read: ~2 weeks) the game was vaguely playable online. Players could join, exit, chat, use weapons, and kill/be killed. It looked crude, but I was blown away by the fun of just a few players online gunning eachother down could provide.

bw3.JPG

After a couple more months of development flew by, it began actually taking on a semi-professional look:

bw4.JPG

I was absolutely ecstatic about how well everything was going, and how intense the battles were becoming. The gameplay followed along the vein of the first Bizlof War, taking on a futuristic theme with more fictional weaponry, and slower-moving bullets.

In terms of response, I saw far more interest than I had seen with my BYOND-based creations, which was to be expected after I had broken free of its constraints. No more 8-directional movement, tile-based movement, slow input reaction speeds, and inflexible network code. Things were far better than they were, but still, things were not good enough.

The code was sloppily written, on which I blame my naiveness at the time. I was still fairly new to programming, and this was the biggest game I had ever written. I also lacked practical knowledge about writing network code, so the networking was extremely inefficient. Once untraceable bugs started sprouting up and the network code was all but collapsing on itself, I gave a great sigh, and closed the project. It never even reached ‘public’ status.

2005 – Skirmish Online (1)

I had gained a lot of experience in the following year, and so I decided to undertake this project once again. This time I would opt for as visually pleasing of a game as possible to ensure success with future players. I chose to use OpenGL to wriet a 3D-overhead viewing style, combined with polygon-based maps. I was also especially pleased with the GUI system I had written.

As you can see, I focused on the visual components far more than I should have. This attempt didn’t even reach the networking phase before I realized that I was in over my head. I actually rewrote this all in C++ (the original being in Delphi), and starting integrating Newton before I decided that it was all too much.

bw5.PNG

I learned a lot while writing this attempt at my ideal game. The main lesson to be learned, however, was to keep your ambition in check. I wasn’t ready for a 3D game then, and I think I’m only barely ready for one now, 2 years later.

2006 – Skirmish Online (2)

I received the best response on this (and most recent) attempt at Skirmish, even though it too never reached the ‘public’ phase of operation. I wrote this in Delphi as well, and took the lessons that I had learned from my last two attempts: 1) write code in a clean manner that will allow for long-term use, and 2) don’t get overambitious with the features.

As a result, Skirmish used a tile engine for its map system, and a simplified GUI system. I had learned tons in the last year about network programming, so I wrote much better network code.

Old Skirmish Screenshot

Unfortunately, despite my vast improvements, “better” is still a very relative term. I made great strides, but still fell behind. The code and networking again became unwieldy, bugs crept up around the corners, and I found myself back where I was before. It was here I learned my final (major) lesson, that planning one’s code in advance is just as important as planning one’s game/gameplay in advance.

2007 – Project Skirmish

This is where things stand now. Project Skirmish is a temporary name for the game until something more original comes to the surface. I’m writing this game now, using the code I wrote back in July, which saves me a month of writing broilerplate engine code.

I’m going to be taking full advantage of the lessons that I have learned over the years, and carefully write every piece to the puzzle that is my dream game. I’ve certainly had my ups and downs with game projects, but, as you can see, the plan to create this game has never wavered or faded away.

And so, I’m sure it’s very obvious what my ‘new’ game project is. I consider the diversions of the last couple of months as a simple intermission for my motivation to resurface, and thus Project Skirmish gets resumed. Refactoring has already begun in the intent of keeping organized code, and the game itself has begun to be developed. Stay tuned, for sure.

The dream shall be attained!

8 responses to “The History of Skirmish.

  1. Manaxter September 3, 2007 at 12:41 am

    If I had a dollar for every time you’ve made a “I’m starting Skirmish again!” announcement, I’d have… a few bucks.

    Despite this, I still look forward to joining in with the alpha testing again. The few that I did were so much fun! I urge you not to lose motivation with this project again. I enjoy playing it too much!

    Jacob.

  2. Manaxter September 3, 2007 at 12:44 am

    Oh, and Simba?

  3. ravuya September 3, 2007 at 12:50 am

    I didn’t know about the previous games in the “inspiration series” but I would’ve gladly played any of them.

    I can’t wait to see the new Skirmish and I’m somewhat heartened by the fact it works on my Mac. Keep it up!

  4. Lachlan September 3, 2007 at 3:26 am

    Good to hear you’re back on it!

    All the best for this version!

  5. Stephen September 3, 2007 at 9:39 am

    @Jacob: I realize and regret the loss of credibility I’ve received due to my conflicting interests that led to dropping and picking up Skirmish many times. I can, of course, feed you all the line, “this time, it will definitely happen”, which is worth naught. The only way to prove it is by actually doing it. So, keep watching. 🙂

    @Ravuya: I’m also quite relieved that what I have written so far works perfectly on the Mac as-is. I’m incredibly eager to have a fully cross-platform game without needing to twiddle with porting issues myself.

    @Lachlan: Thanks!

  6. ravuya September 3, 2007 at 12:49 pm

    Also note that DrDerekDoctors gave you an arsecast review in issue 8. It’s a pretty decent review, I think. Usually he’s very harsh to stuff that sucks.

    Basics:
    – Gameplay from one level to the other is the same
    – Absolute is better than relative movement
    – The laser and machinegun are teh kickass
    – The art is kind of programmer-arty
    – The survival mode is more fun than the story line mode because you can unlock new ships
    – He used the radar to play survival mode

    Looks good!

  7. Stephen September 3, 2007 at 1:34 pm

    @Ravuya: Yeah, I listened to that review a while back. He (amongst others) made a really good point about the radar being abusable in Survival.

  8. zyklon September 3, 2007 at 7:35 pm

    Great to hear your back on Skirmish hope. Can’t wait to beta test with you again.

Leave a reply to Manaxter Cancel reply