Analysis to Paralysis

This is an update on game development which has been put on hold for quite some time now. Despite being my definitive passion, it has frequently been pushed to the back burner. My recent interest in photography, since I bought the SLR and short stories are chiefly to blame. Actually, I have received very good appreciation on both. But at the end of the day, the following quote (which is now on my signature line) from John Carmack holds true:

Focus is a matter of deciding what things you’re not going to do.”

Being one of the most brilliant and successful game programmers in the world, there must be some truth in his words. In the meanwhile I have read many, many game blogs. These blogs are specifically written by game developers who describe the development of their projects

Most of the time when I get an idea to design a game, I end up either over-engineering it (purely on paper) or over-researching. In short, there is never a single line of code written. It is like the age-old school boy’s dilemma of whether to skim through the entire syllabus or to concentrate on some sections which are likely to be asked in the exams. It is a dilemma because even if some achieve the former they manage to flunk. In case you haven’t guessed, this is a Wrong Thing. John Romero is supposed to have written one game every week at the prime of his career. There is a reason for placing more importance to execution than planning when it comes to game programming. The primary reason is that there are no established frameworks or fundas when it comes to the game industry like for eg: Enterprise software. Most people seem to have the roll-out-your-own mentality rather than reuse the existing body of work. There have been attempts to create a games knowledge base but it doesn’t ease the pain of clean room development. Most of the time people end up learning it the hard way, i.e. by quick prototyping. It is often impossible to gauge if a game would succeed or not without a prototype. No matter how good you are at game design, it often comes down to how clever or innovative you are in execution, in game development.

Personally, being an indie game developer, my primary means of delivery is the web. Hence I usually end up thinking - “How to reduce the downloadable size or can it be playable on the browser?” This puts severe restrictions on what technology you can use. For eg: consider I am making an Indian Mario-like platform game. Currently all platform games are being made in 3D, hence this game would have to be in 3D. However the download size of the code and all the artifacts like textures and sound clips would add up to several tens of megabytes. This is prohibitively large in India, which is still a long way off from the broadband revolution. In fact the IGF 2005 caps this download size limitation at 25 MB for international markets. Of course, I can aim at other markets. But even in those markets, there are very few who would download a game to play it due to the considerable deliberation involved and concern about viruses.

This leaves us with basically web based games (or the casual gamers market). Two technologies are poised to cover this market. The first is Javascript and the other is of course Flash. Javascript currently requires a lot of improvement like sound playback, smooth rendering of large area redraws and scalable graphics to be good enough for game development. Flash requires proprietary development tools which are not even geared towards game development. However, these are 2D game technologies and not considered to be competitive or technically interesting domains anymore.

A surprisingly large number of adults play a certain kind of 2D game called computerized board games. Board games are interesting because they are like ancestors of many kinds of computers games like Age of Empires , WarCraft etc. Most of them have elaborate rules and very interesting themes. Traditionally played as a family game, the computerized versions often have an AI player making it suitable even for solitary play.

I stumbled across this by pure luck. In fact, I was trying to design a murder mystery based on my hometown Thrissur, codenamed Pooram. I happened to stumble upon a board game called Clue or Cluedo. It seemed to have the right mix of chance and deduction to suit my taste. In fact, its sheer popularity can be guessed by the sheer number of websites dedicated to it. Pooram is best played in multiplayer mode though I expect the majority of the casual gamers to play it in single player mode. It involves solving a murder mystery in a 3D environment with billboards like Paper Mario. This is the plan and I decided to stick to it. Of course, there was a lot of research. Some of it (about 20%) turned out to be useful. Most of it disproved that 3D might be a bad option. Some of them used a custom 3D engine for smooth zooming in and out, which would have been difficult on a 2D game. But I guess I’ll have to design a prototype to know for sure ;)

Hi! Welcome to ArunRocks, an odd collection of writeups on programming, travel, gadgets and practically anything under the sun. This state of affairs could be blamed on the ecelectic interests of your host, Arun Ravindran. He loves programming in several languages especially Python. He is currently a developer member of the Django Software Foundation. Read more...