Monday, November 21, 2005

Why Malaysia Game Industry Suck - Chapter 2: Damm Frustrated Now

Why I said Malaysia Game industry is damm frustrated?

OK, who is the company that developing international quality game in Malaysia, for Malaysian (not outsource)?

Phoenix Game Studios tried it, and honestly they developed a very great game with game production system that I would say better than most/all of the game company that I know here, and they still fail to make profit out of the game. Local people that play games in cybercafe still stick with RO, Gunbound... Why?! I am really have no idea!
Thus, Frustration 1: Done a good online game but can't sell here.
There were once I being told that mobile game development is profitable in Malaysia. Arround that time, my university changed the Game Programming 2 sllybus from Old Play Station Yaroze programming to j2ME mobile game programming.

But then, the largest local mobile contents company have just shut down its in-house game development department. It started to shock everyone here especially us, the students. We started to realise it is not as profitable as what we think: for developing mobile game in Malaysia.

Obviously, they can't manage to figth with compatitor that import all sort of less quality but much cheaper and more variety mobile game from country like China and Korea.
Thus, Frustration 2: Not even mobile game sell as good as we think!
With more and more institution that shown interested in setting up courses on Game Design and Development, I got an illusion that the Game Education business is profitable. However, I got statistic that the amount of my new junior is decreasing. Which tells the truth?

There are people that trying to setup the "BETTER GAME DEVELOPERS CERTIFICATION SYSTEM" as we all know that companies fail to acquire talents by just reading their cert. Does this shown that there are serious problems in local game education system?
Thus, Frustration 3: Local Game Education System is overhype?
I believe that out of all these chicken and egg problem, deep inside there, hide the source of problems that caused all these frustration.

Negative brief negative, that is what Phoenix people told me, which I think is very true not only for game development, but for the industry as well.

Maybe... there isn't really that high demands of computer games than we thought?
Maybe... there isn't really much money there inside this indsutry as what the hype describing?
Maybe... people inside the industry should focus on doing game than others crap?!!
Ya, Frustration 4: People like me are now written more blog than actually developing game...
Lets stop being frustration, No, "Not Another BOROMIR" that i wanted to be.

The reason we all wants to come to this industry is because we want to make game, that people like to play. It should be that simple, isn't it?

After all those million government money being throwed in, we should started to ask ourselve are we really making a game that will eventually cheer our players up? or we are just lost focus from this very foundation points with all the obstacles we faced?
  • Lets forget all the funding crap, afterall we just need to get ourselve enough to survive to make game, isn't it?
  • Lets forget all the community crap, afterall, we just need to find a few friends that really interested to make game and do it together, isn't it?
  • Lets forget all the education and cert things, afterall, we just need to able to get resources to self learn, isn't it?
  • Lets forget all the crap, we just wants to make a game that we like to play and others people would like to play too, isn't it?
  • Despite of its size, its million dollar engine, its cool 4D graphic, its nice Surround music, its golden title storyline, how many money funded in, how big and nice the game studio is, how high CGPA the developer got or what cert he have, where the handsome game developer came from and so on... so on....

Friday, November 18, 2005

Building game studio with open source approach

One person is good enough to make a small game and a team can make bigger game; and both can produce a good game despite of its size.
Working as a team
When we have more than 1 person working on a game, we will wants to call the team a name, and there spawn the studio. A studio doens't need to be have very nice banner, decoration, comfortable, equipment.. A studio needs passion and able to survive before the game is release.

If you feel you can perform better alone, then don't form a team. Working as a team required management and that itself is 5X harder. This is something that freelancer can hardly understand. The management is not there only to manage human, but asset that is very different on its own, such as programming code and graphics.

But always remember:
Managing human is much harder than managing any other things in this world and most game projects fail to complete because there is lack of displine.

Plan before start
Project planning is much more important than what we study in Software Engineering course. The only reason you need to plan is you wants your artist and programmer work synchornously and able to combine things they produced in future easily. If game development have only graphic and code to combine, then the work will be alot easier. In reality, there are more! such as music, quality assurance, marketing, support...

Thus, only complete planning at the very beginning stage could help glue/compile all these very different groups together in later stage.

Planning need experience. Game developers always find planning is hard to carry out because they lack of experience when there are things that involve research. Thus, any uncertainty need to confirm before planning stage, either with complete research or prototyping.

Brainstorm
Thus, i forgotten to mention this stage. It is happends far before you start planning. Things included here are prototyping and research, no matter it is in programming, art or marketing side.

Always remember:
Ideas are cheap, implementation are expensive!

Pre Production
If there is something most valuable in a studio/company, then it is the system.
Good system attract good talent and only with a good system a company will not die off when a good talent leave.
Pre-production happends at the same time with brainstorm and planning of a project. It could even exists before all these: something you have done in previous project.

Pratically, Pre-production involve standard and rules and it is basically the work to form a studio/company system.

Things you wants to build here would likely be a centralize version control system (with SVN), Collaboration System (Sunbird Shared Calander, eGroupWare, ), Bug Tracking System (bugzilla), Centralize Knowledge base/Documentation (Dokuwiki), Studio Web/File Server (ApacheFriends) and many more that you can imagine.

A centralize blog system will be nice as well. By enforce everyone in the team write down their daily development activity, you achieve peer monitoring among themselve as well as easier tracking when something goes wrong.

Take note that system has to be integrated and obey by people in it to performance the best. Else, it will only create problem and eventually caused lots of delay and you will started to think that there is better to have no system at all.

Implementation
Nop, this is not the longer stage if you get the planning stage correct.

Alpha Testing
This is the stage where you think the product is nearly done(just lack of some polish) and meet all milestone.

This is the stage you carry out white box testing and started to realised how easy you can get all these done with your test case tool. However, you will also be amaze that there are alots of unexpected things happends and it is ok as long as it is not too much until you have to reimplement the projects.

Beta Testing

After Alpha testing and everyone in the studio are satisfied with it, then your studio can started to carry out Beta Testing: let the public play your game by warning them that it is not completed yet and ask them to give feedback.

Again, you will amaze with lots of things that you never expected before. Your open bug tracking system will started to work heavily in this stage too, as well as you quality assurance group.

File distribution could be differents now, as you wants it to be user friendly. You might need NSIS, an open source installer creation tool.

Release
This is the stage where you definately wants to work together with your marketing group. They will wants to make press release and public launching and all sort of other campaigns.

Let them have no hassle when doing all these by providing them wtih raw marketing material, such as Logo, Screenshot, tagline and so on. In fact, all these should have already done before Beta Testing stage.

You might also found your auto compile/nightly build system work well here.

Mantainance
I couldn't write much on this stage as I am lacking experience in it. After all, Open source project is an on going mantainance project.

Wednesday, November 09, 2005

Stop imagine, start implement now!

Idea is cheap, implementation is expensive
When we play a game, it is easy to get attracted and wanted to modify some parts that we think can improve on. Usually, this is the very first step where idea growth.

We then started to learn how to exploit game, such as hacking, tweaking, moding. and last into game programming. Throughout the process, we realised how hard it is to develope game, that even harder than shooting filem. We even understand those weakness in game could be a result of deadline rushing. It is not because of the developers not realised or don't know how to do it, but rather they have limitation, in terms of resources and market factors.

That is why, when I heard my friend told me how cool and how new his idea is, I will first ask him how he plan to implement. If he can't answer it, I will suggest him to forget about the idea.
An Idea that has not been implemented is not even qualified for copyright protection.
Afterall, success story about a complete game that have been made is very little in my society.
A game that half way done or just in idea stage is just like a movie that never get to shown up in the cinema.
No matter how good your game is, if u just keep in inside ur harddrive and not distribute it, nobody will ever get the chance to appreciate it.

I am now trying to bend my prefectionism to complete a project. I even release a project with known bugs. The reason is simple, i wants my project to be out in real life and then only I can get feedback from my users. Time come first before quality.. hmm ..sound like Microsoft now.

Also, if u keep staying in the idea and brainstorming stage, you could ended up with ton of features but unrealistically in term of implementation.

Thus, if you have an idea in your mind, plan it and record it down in black and white. Plan your project nicely before you start and in order to do this, you might need to do lots of prototyping. After you get a really deep understanding of your project, make sure the project 100% done, until it reach your players hand.
It is always fun to imagine because it cost nothing
You don't need a cent to imagine your cool game in ur mind. However, you need alot of money to implement it.

That's why, you always feel some of the game in the market share the same idea with u (that you thought of before the game is out in market).

This clearly illustrate how cheap an idea is -- with million of human on earth that most of the people studying the samethings, it is actually very easy to get idea collision

It also shown a person who only think but not act is a complete looser. Thus, please stop complaining people stole your idea.

Start your game now if you really wants to make one. For sure it will be sucky bcs technology is always an inherited and cummulative effort. But you get easier to implement an idea when time passed. Do not look down on tools such as game maker or rpg maker. If you done a game with it, you have wins those developers who worked for 3 years and yet not beta tested their game.