Pages

Thursday 4 October 2007

What I have been up to... and what lies ahead - Liero2

It's been a while since my last post. I've been kinda busy lately, all because of a chance revival of an old favourite of mine - a neat game called Liero.

For those who haven't heard of it or played the game, all I can say is BIG MISS! Leiro is like Worms, but you get to play it in realtime. Sort of a cross between Quake and Worms would be more like. It's a simple yet smart 2D game that doesn't go short on gameplay, and is one of my personal favourites.

Liero was written way back in the days of DOS, and due to the closed nature of it source, the author lost the code in a hard disk crash. (sob). While the EXE for the game floated about, no further develpoment of the original happened and led to the spawning of various Liero clones. Even with the multitude of clones out there, none have really quite matched the gameplay of the original. With the release of Windows XP, the old DOS game wasn't able to run with any sounds; this eventually meant the death of the classic and proliferation of the clones targeted to the new Windows versions. In Vista you can't even run the EXE. That was how matters rested, until I found about DOSBox.

DOSBox is an emulator for DOS. Good old DOS. Using DOSBox, I was able to get the original game up and running (with sound) in my Vista laptop. However, the woes of emulation meant that the game suffered with respect to speed. Even on the dual core 2GHz machine, I was not able to get the results I expected (although the game is very much playable and all). Ah... Liero Liero Liero. With all the clones out there, why don't I go ahead and write one too?

Ahem. Writing a clone of a game is no easy task, let alone writing a game. [Especially when the best games you have written were in C for DOS more than 8 years ago ;)] That's not going to deter me in any way though. The game development scene has drastically changed over the past few years, with major advances in graphics technologies, AI, hardware and development environments. Every major title released todays pushes the hardware limits up, and every new major GPU that comes out ridicules the games that were up to then the best out there; this visicious cycle may ever cease. Game development environments today are rich with tools and utilities and frameworks. But more importantly, with the proliferation of the Internet, it is the accessibility and availability of these environments that has gained the most.

That is how I came across XNA, Microsoft's game development studio (thanks to StumbleUpon).
Well now that I have all the resources I need with me, all I need is to get started off.

First thing I did was write a list of stuff I need to learn about before even venturing into the dark realms of game pogramming, which I intend to call Liero2 for now, for lack of a better name.
The following list is not final, but just a taste of the whirlwind journey in front of me. So here goes:
  1. Rigid body physics and dynamics. I do have some exposure to this. I did write a small physics engine and math library during my C games era. But I need to start off from scratch, re-learn stuff with a new perspective, and probably find a good physics engine to use. Better yet, write one from scratch, so that's a bit learned too. Of interest to me for the game would be spring, rope and pendulum dynamics. This part is going to take a bit of effort and time.
  2. Graphics. Simply put, that one word conveys a lot. That's probably a huge area which I have to definitely start of ground up. My immediate plans being getting the primitives to work with XNA, and build on from that. I do advocate code re-use to the maximum in all scenarios, but then there are some things that you always get the joy of writing from scratch on your own. Ah... this too is definitely going to take some time.
  3. Writing a game. Or more precisely, how to do it. What are the methodologies to adopt? How to organize your project? Which tools to use? What are the design patterns and techniques involved? What is the lifecycle of a game? AI. Gameplay. Level design. UI and interfaces. And so on. The longest part of the ordeal, in fact the reason of the ordeal itself.
  4. Networking. Learn about multiplayer games, and how multiplayer options should be considered for earlier on during design. Does it have any impact? P2P. Internet. LAN.
  5. Artwork and Music. Very important. I am thinking of a simple cartoony look-and-feel for the game at the moment. Being bit of a cartoonist myself, this part should be relatively simple, only limited by my imagination. Music is another step, but one that I may not have to bother about much due to the vast amount of open stuff out there on the Net. Just finding the right thing would be tricky.

That's pretty much all of the major blocks I intend to cover for the next couple of months. I haven't started out yet, but I do know what all needs to be looked into. And that's a start for sure.

I plan to update the blog now and then with updates on the status of this, plus about all the neat stuff I will learn along the way. So until the next post, adios.

Enjoy.

2 comments:

  1. So you are blogging and gaming there in uk? btw nice 'bog'[check out the typos at you homepage :-)]. Apparently I'm not a techie :-D.

    ReplyDelete
  2. All the best buddy. How are you doing? It's been a long time.

    ReplyDelete