Math Quest Promo Video
Math Quest is an online role playing game that contain a lot of feature to enhance gaming experience:
1) Globe of Knowledge allow player to study math lessons within the game and take quiz and tests to practice their understanding of math lessons.
2) Quest based game which allow player to acquire quest from people in the game. Completed quests will earn player experience points and gold.
3) Some quests has mini games attached to it. For instance Mailbox Mania gives player the chance to practice their counting skills.
4) Continous turn based system which allow player to fight many interesting monsters. There is a also a special quiz based combat section which allow player to gain double/triple/quad damage just by answering math question.
Math Quest will be released by the end of 2011.
Dream City:Life Events is Now a Truly Online Game
I've finally been able to make Dream City:Life Events a truly online game which mean you can register your ID through the game and play the game from any computer connected to the Internet using the ID.
This mean you can log in the game through PC A and later log out the game. Your game progress will be automatically saved on the game database server. Later you can log in the game through PC B and will be able to load your saved progress in the game by pulling saved data from game database server. Is it nice?
In the future, once Flash playing capability is stable in Android tablet or mobile phone, you can also play the game through the device instead of playing it through netbook, laptop or desktop computer.
All of this possible through server side programming of PHP and MySQL database. The game Flash engine will communicate to MySQL database at webhosting server through PHP. PHP will convert the binary MySQL records into XML data which game Flash engine will use it as input for save game data.
The only problem I ran so far is I could not be able to show score ranking data through Flash but the ranking actually can be shown on ordinary web page. I need some time to figure out on how to solve the problem because previously it works.
My next challenge is to code relationship based feature into the game. I've been telling about this stuff on this blog for as long as I can remember but I didn't do it yet. Hmm, it's time to do it.
Dream City: Life Events Successfully Been Ported to Flash
On 15 November 2010, I initiate a special project to port Dream City: Life Events game developed in C++ to Flash and after working on it for about a month, I've finally been able to complete most portion on it on 19 December 2010.
The Flash game isn't yet complete because some art assets used in the game is just some placeholders and I intend to polish it from time to time. The porting process has taught me a couple of lessons that I want to share:
1) I draw art assets for C++ game using open source vector program called Inkscape and I'm very good at it as I spend hundreds of hours using it. The art assets are saved in open standard format called SVG - Scalable Vector Graphics. Imagine my horror to find out that Flash CS4 don't have the ability to import SVG file format which mean I have to redraw most of art assets I've drawn before.
There is actually a solution which require me to import SVG file format to Illustrator, save it as AI format and then export it to Flash but that solution requires me to use Illustrator. Problem is I don't want to use Illustrator and I don't intend to use it so I guess I have to redraw it on Flash. Hmm, I consider this as a practice to sharpen my drawing skill.
I wish in the future Flash CS5 or CS6 has the ability to import SVG file format instead of Adobe thinking narrow minded not to support this open standard file format.
2) I don't change too much of game code because most of internal game code that runs the core engine don't change too much. It's the rendering code stuff that need to be changed. Since this game is small, all data is stored internally in C++ game but for the Flash game, all read only data is stored in XML file format to allow flexibility in game development. This way if I have to change some portion of data, I only change it on XML and don't have to recompile the SWF again.
My plan is to polish some arts in the game and start implementing relationship gameplay by introducing several non player characters in the game that can interact dynamically with player. This I believe is among interesting feature that I should implement so the game don't feel so void and shallow anymore.
Here is quick link to the game - Dream City: Life Events. Sorry I don't create tutorial for the game yet. It should be ready in upcoming weeks.
One Year Review Working In A Game Dev Team
15 December 2010 marks one year for me working on a game development team on a Flash RPG game called Math Quest. Although I don't learn much in term of technical skill, I learn a lot in term of people skill - how to appropriately interact and manage people which is the essential skill I need to master if I want to manage game dev team and run a game dev company in the future.
For a year, I observe the whole team how they carry out their duties and analyzing their effectiveness to find ways on how to improve their performance. The result is several important rule of conduct or practices that I believe if applied in any game dev team will improve the overall performance of the team.
Project Manager
Every game dev team need a decisive project manager who almost ruthless in execution which will allow the whole team to move forward according to the plan. Project manager or producer is the mastermind for any game dev team which assign tasks and responsibilities to team members and he has to make sure EVERY team member perform according to the plan or else there will be delay in development time. Since delay in development time costs money, he need to provide whatever motivation, support or even slight intimidation needed for team member to carry out their task.
For me there's no better motivation than rewarding team member who match or even exceed expectation with monetary value or some other perks that excites the team member. This is why it is important for project manager to be given budget allocation so he can manage the money to allocate to team member and do necessary adjustment if thing does not work according to the plan.
I've found out than reducing salary or allowance for team member adversely affect their performance so project manager need to take this into consideration if he want to follow this strategy. I always believe that people should be properly rewarded according to their productivity. If they perform well, reward them properly because that's the essential element of happy employee. Happy employee bring productivity to the company.
Does female can handle project manager job? She can if she can exhibits aura of decisive in her attitude and she needs the ability to exhibits positive influence on team members. Otherwise, forget about it because I don't like working with indecisive project manager even if she does look like Jessica Alba
Game Designer
Every game dev team need a leader so that position can only be filled by a knowledgeable game designer who knows almost everything about the game project. He must be passionate about the game and should have the habit of writing any details about the game on paper or digital format so the whole team member can refer to it if they want to know any details about the game. I think the most important skill game designer should have is analytical skill which is the ability to come out with practical solution for any problem faced during development time. To have this kind of ability, he should have a broad knowledge and to be able to apply these knowledge to come out with many solutions.
Game designer position is equivalent to movie director position which allow him the ability and burden to make a lot of decision so in order to make that decision, he has to know necessary details. Sometimes the details comes from programmer. He need to consult programmer whether certain feature in the game can be implemented or not.
From my experience, game designer almost always think the grandest idea and feature he can think of and it is the job of programmer to provide some sort of reality check for him. Most of time the idea or feature will be rescaled so programmer can implement it. This is why experience is important because experienced game designer will know the limit that can be pushed because he has seen the whole implementation before.
Game designer should have excellent writing skill because most of game details are written. The ability to write in concise is very important to minimize confusion among team member if they want to refer to game details.
Communication Flow
Project manager and game designer has to keep open the channel of communication flow at most of the time so team member can communicate to them if there's been a problem. This means to keep open Google Talk/Yahoo Messenger and switch on phone most of the time. Sometimes it is frustrated for team member to try to contact project manager/game designer but he isn't on Google Talk/Yahoo Messenger and worse switch off the phone. Game development progress will be delayed because of this communication setback.
I've found out that eventually there's bound to be dissatisfaction between team members so allocating a place and certain time to discuss the problem can prove to be an effective way. This is where every team member will highlight any concern or dissatisfaction they have to each other and find ways on how to solve it. Dissatisfaction if not properly handled can lead to bigger problem which will somehow cripple the performance of the team.
I also find out that it is much more motivated for me if I can keep track of other team member workload so I know what they are doing at certain time. This gives me urge to work harder compared to me wondering what certain team member is doing right now. This can be achieved by having the whole team member gather for a brief 15 minutes session every morning so they can share what they've been doing yesterday and what they intend to do for the rest of the day.
If physical session isn't possible, team member can update their work load progress every morning through Twitter so other team member can follow the update.
Conclusion
I've been a lone wolf for several years so adapting my work flow and attitude to fit within the team takes times. Is it worthwhile working in a team? That's a tough question to answer because I've found out that in order to produce something great and special, you have to need a team of multiple talent. There's so much a single game developer can do and their limited capabilities will be reflected on their work. I've been on this path, my friend.
In term of game development, a good interdependence among team member most of the time produce much better result than the best independent game developer working on his own.
