Debugging is like farting — it’s not so bad when it’s your own code.

Project Alpha

Posted: November 5th, 2009 | Author: | Filed under: Projects | No Comments »

Project Alpha is the working title of a turn-based strategy game built for the iPhone for Personae Studios. It was created using the iPhone SDK and Lua back when the iPhone SDK was still in beta.

My main responsibility was as the Project Lead, managing and mentoring 3 interns to deliver the prototype within 1 month. In addition, I also coded the more complex features of the game, including a simple demonstration of a custom touch gesture.

While we did manage to deliver some interesting, if ugly (we had no artists) gameplay, the main thing seemed to be the framework which Personae used (I’m assuming) to develop a bunch of simpler titles to catch the launch of the app store.



Gather Your Gurbles

Posted: November 5th, 2009 | Author: | Filed under: Projects | No Comments »

gurblestitleGather Your Gurbles is a casual physics-based game. The objective is to slingshot your character, Gale, to knock the enemy Gurbles off the play area. It features a wildly casual art style, semi-realistic physics, and a utility through which you can design your own Gurbles for in-game play.

The main menu

The main menu

The project was done for a startup casual game company called Brick Age. I was the sole programmer for this prototype, but did not have to handle project management or design. It took a total of 3 months to complete.

The game itself features three game modes. The first is the adventure mode. This is where the player plays through all the levels in succession, and is peppered by humorous comments by the enemy characters along the way. Completing each of these levels unlocks it in the second mode… the Challenge mode.

Gameplay

Gameplay

In the Challenge Mode, players need to beat certain objectives in each of the levels. Doing so awards the player with a plain Gurble, which he can decorate with his own textures and stitching patterns. These can then be used for the third mode of play – Multiplayer. For the prototype, however, multiplayer play was not incorporated.

The whole thing was done with Playfirst’s Playground engine which I have grown to hate. The engine is multi-layered, usually leaving an easy way to do things and hard way to do things. Always a sucker for the easy way, I often ended up doing both. So yes, you use their sprite class to attempt to do positioning and deformations, find out that it can’t quite cut it, then go back to calculating your own good old-fashioned matrices. And then you take that and try to integrate that with their lua-based framework which encompasses the main game loop. Painful!


Gillette Champions Street Soccer

Posted: November 5th, 2009 | Author: | Filed under: Projects | No Comments »
The intro screen

The intro screen

This was a quick flash-based pseudo-3D goal kicking game meant as an advertising gimmick for Gillette. Basically, it is penalty kicks with  a bunch of obstacles for the ball to bounce off.

It was integrated as a mini-suite of games that included soccer, golf, tennis and cricket. It was fairly entertaining implementing 3D pseudo-physics in a 2D environment, aided by some research in art that I happened to be doing at the time. In the book “Drawing on the Right Side of the Brain” by Betty Edwards, she stresses that you draw what the eye can see, rather than the brains pre-conceived notions of what should be there.

Gameplay

Gameplay

Taking that in mind, my “physics” comprised of making the ball smaller or bigger, altering the direction and speed based purely on what you would see if the ball were bouncing in 3D. This is opposed to the “math” approach where you take proper 3D physics and transform it to a 2D environment. It turned out to be more efficient too. Yay for innovation!

You can play this game at Gillete’s website.


iPlayMahjong

Posted: November 5th, 2009 | Author: | Filed under: Projects | No Comments »

This was the first freelance project I had for a group of individuals rather than an established company. These people were business opportunists as opposed to game industry veterans, making it all the more harder. All in all, it was an interesting is somewhat painful learning experience.

What we did manage to develop was an online Hong Kong style Mahjong game, with AI opponents as well as multiplayer action. It was meant to be an offshore-hosted online gambling deal. After going through the design and showing them the storyboards, it was decided that it would be done in 2D. Thus I employed Haaf’s Game Engine and integrated that with CEGUI.

Unfortunately, the clients weren’t too happy with the 2D look and feel when they saw it, and we eventually ended up tweaking it by making it pseudo 3D with fake perspective transforms. This too, caused artifacts, and it was evident that they needed a 3D implementation. Something that they weren’t prepared to budget for.

In the end, I let this project go, feeling so bad that I refunded them half of their initial paid-up fee. What I picked up from this is that you can never do too much storyboarding, especially with clients who are inexperienced with the gaming industry.


Constructicons

Posted: November 5th, 2009 | Author: | Filed under: Projects | No Comments »
Title Screen

Title Screen

Named after one of my favourite Transformer sets when I was a kid, Constructicons is a simple physics game where you link together boosters and balls to form some sort of craft and attempt to keep afloat.

All these parts drop from the top of the screen. The balls stick to your base object, each other, boosters, and pretty much everything. They are the glue that holds everything together. Boosters provide propulsion which helps you navigate your ship. There are two different colored ones, each type of which can be fired off by either mouse button. All these of course, have mass, which is weighing you down. Once you drop off the screen, your game is over.

Some Gameplay

Some Gameplay

This was done as part of a coding competition. Code-a-thon is what they called it. Sponsored by EDB, and held just before AGDS. 30 hours was given for each group to develop a game from scratch based around the theme “Growth”. My team only consisted of my lonely self. But I still managed to complete it, and clinch the “Best Game Design” and “Best Technical Design” awards. The other one, “Best Art” went to a Katamari-like game made by the 7cans team.

There are still a couple of bugs. The occassional crash, caused by Audiere (or rather my hasty abuse of it), and sometimes, if the forces are just right, the whole structure spins horribly out of control. I left those in, just to show what can be done in 30 hours.

More Gameplay

More Gameplay

You can download the whole game in zip format from here. Feel free to cannibalize any of the assets, though why anybody would want to pinch my ugly programmer art is beyond me.


Deep Quest

Posted: November 5th, 2009 | Author: | Filed under: Projects | No Comments »
The main screen
The main screen

Deep Quest is a casual RTS game set in an undersea environment. The humble Abyssians wage war against the evil Gorlons in a fight for survival. It features tonnes of unique units, beautiful underwater maps, and an engaging storyline.

There are 10 different missions in which you aid the Abyssians in overcoming the challenges that face them. Each time, you get promoted in rank, and get access to more powerful units and structures.

The project began with only an artist (a very talented one, I might add), the designer and myself as the programmer. This lasted for about 6 months as we brought the project to its alpha stage (i.e. full base engine with runnable, scriptable missions and in-game cinematics). Following this, the code was handed over to Nexgen’s able in-house development team for a further 6 months of polishing and tweaking. During this time, I only had to go back for one week towards the end to help iron out the few remaining bugs.

The game itself was built in C++, using the opensource Ogre3D engine. Missions and unit AI were scripted using Lua, and audio was done via OpenAL. Overall, pretty simple tools.

This game is available on Yahoo. You can get a free trial here.

Some RTS gameplay

Some RTS gameplay


Flatworld

Posted: November 5th, 2009 | Author: | Filed under: Projects | No Comments »

Yes, so I tried to build an MMORPG. Don’t laugh. It wasn’t my money! It’s more a case of “If you don’t try, you don’t know”, and since I was getting paid pretty well, why not?

The beginning was rough. Why? Because there were only two relatively experienced game programmers on the team. Robin Tan from Envisage Reality, and myself. The others were either traditional application developers or interns. Also, we were using a beta version of the Truevision engine, and that certainly did not help keep things running smoothly.

The concept behind the game was simple. We were making a Maple Story clone, except with a bit more of a serious theme and a more complex skill system. Also, rather than being completely 2D, we’d be having 3D characters running about in a 2D world. Doesn’t sound so bad, does it?

When I was first hired, it was just to do the networking. Swell! Well, after that was more or less in place, everybody else was still struggling, so I picked up the physics to do. And then I did the animation system. Which culminated in the scripting system. Then having tinkered enough on the server side, I refactored the client’s graphics system.

So after nine months of hard labour, we had the semblance of a base engine up and running, after which the boss created a sample level. It wasn’t fun. Sure, we had crappy placeholder graphics, but the game design itself just didn’t take off. We persisted for a bit, trying to make something out of nothing, but it was not forthcoming.

Eventually the project was put on permanent hiatus, and that was it. But hey, at least I got to work on an MMO!


Cacani

Posted: November 5th, 2009 | Author: | Filed under: Projects | No Comments »

This is a web-based application that allows users to easily create animations and send them to their friends via email or MMS. The web interface was developed in J2ME by a company called MC3 while the back end was based on proprietary technology developed by Nanyang Technological University. My sole responsibility in this project was project management. It was showcased in E3 2006 by Nexgen Studio.


Mobile Phone Trivia Game

Posted: November 5th, 2009 | Author: | Filed under: Projects | No Comments »

A J2ME trivia game which downloads questions from a central server. This was done for Nexgen Studio. Questions can be input directly via a web interface. Work included the J2ME midlet, PHP scripts, MYSQL database setup, porting to several phone models and setting up of the web page.

This was probably my first freelance project, even though it was done for the company that I had just departed from.


Elven Legends

Posted: November 5th, 2009 | Author: | Filed under: Projects | No Comments »
Title Screen

Title Screen

Elven Legends is a multi-player action RPG for mobile phones. It features multiplayer combat, various differnt maps, different races, spells, weapons, etc.

There are actually 3 completely different versions of this project. The first was a prototype. A single elf, on a medium sized map, and another elf NPC that is patrolling the area. You can use your spells and weapons to defeat this NPC and claim victory. Pretty simple stuff. All written in J2ME by me, with an intern artist.

The second version was built on Symbian, and made use of Nokia’s SIP technology. We didn’t really hope to sell this, as it would only run on Nokia phones. But Nokia funded the development, so no complaints there. It was really meant as a showpiece to show what SIP is capable of.

The main menu

The main menu

It featured full peer-to-peer multiplayer play, through bluetooth as well as through SIP. We had an editor written in Visual basic which allows you to customize character classes, their abilities, spells, animations, etc. It also let you create and change items. We used Mappy as a map editor for our tiled terrain. It was actually pretty fun to play even if I do say so myself.

We flew up to Hong Kong to show this off at one of the Nokia conventions. Met a lot of telcos and distributors there too. It was one of only two games there that featured SIP (and the other had “technical issues”, so yay us!). It was written in Symbian C++, something I hope never to do again. The team comprised a designer, artist, me and a junior programmer. We also had some assistance from Nokia techs. All this took about 3 months or so.

The third version is a multiplayer cross-platform (PC and mobile) client-server arena-based game with RPG elements. I had completely nothing to do with the development of this one, other than as the odd tester now and then. It was all the hard work of the Nexgen team. Kudos to them. It is expected to launch sometime soon. It is in beta now, and you can find out more here. There are also a couple of YouTube flicks flying around.