Don’t code today what you can’t debug tomorrow.

WordPress and Facebook

Posted: December 3rd, 2009 | Author: | Filed under: Soapbox | No Comments »

So after a bit of scouring the interwebs, I’ve found a plugin that should forward all my blog posts to my Facebook page. So in a way, this is a kind of test to see if it works.

To be honest, I’m not a big fan of Facebook. When I first signed up a couple of years ago because it was the new “big thing”, I got inundated with silly stuff like invites to play games involving zombies, vampires, pirates robots – you name it. These are little more than time sinks. But as time sinks, they are really big! So a couple of weeks after I signed up, I deactivated my account and forgot about it.

Recently, for the Ninja Assassin game for iPhone, one of my tasks was to set up Facebook Connect to update highscores in the game to the users’ Facebook pages. So, in the name of testing, I reactivated my Facebook account, and wo behold, everybody’s still there.

Publicity is publicity, so I’ve looked at new ways to capitalize on Facebook as a way to reach out to people, and this is one of them. So if anybody’s looking for a freelance game developer, drop me a line eh?


Ninja Assassin

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

Title Screen

This is an iPhone game based on the soon-to-be-released movie of the same name. It’s basically a horizontal scrolling action fighting game that uses swipes and gestures to control combat moves.

Menu Screen

Menu Screen

Interestingly, for this project, I worked on everything but the main game itself. The accelerometer physics-based main menu to the Facebook highscore upload functionality. I even coded a bonus feature that is multiplayer over bluetooth and wifi (the main game, interestingly, is single player only) that involves throwing virtual things making use of the in game accelerometer.

The movie is due to be released at the end of November, and the game is already out at the iTunes Store.


J2ME Virtual Machine

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

This is a mobile J2ME project. From a central Midlet, users can download various games in the form of scripts and resources from a central server. This midlet then interprets the scripts on the fly to execute the game content.

The project makes use of the JSR 75 File Connection API as well as tools such as LWUIT and FScriptME. I basically took all these components, and welded them together into a functional scripting system through which you can create simple animated games. This was then handed off to the UI artist/programmer who I suppose will make it pretty and add polish.

They are probably still doing that now, so no names, no pictures, all in the name of the mighty NDA.


Crane Simulator

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

This program simulates dock-side cranes, and is used as a training aid for aspiring crane operators. The hardware resembles the interior of the crane cabin, with 3D graphics and physics simulating the actual dockside environment. There is also a trainer station, from which trainers can both modify environmental effects as well as observe the progress of the trainee. Multiple trainees can work within the same simulation.

There was a small team of developers working on this, and my job scope was to engineer the input system, interfacing it with the hardware, as well as providing a “virtual console” which can be used to test the product on a PC. I also provided consultation for the programmer who was in charge of implementing the physics using the PhysX engine.

The graphics implementation was farmed out to yet another company, which was pretty screwball. In the end, it was a huge project that employed a few individual disparate teams. It would probably have been much simpler to have all the development done under one roof.

I’m not sure if the company has gone live with this, so no pictures or names for now.



Virtual Store

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

This is a shopping store simulation where customers can browse store products and purchase them through a realistic 3D application. The virtual environment is an exact replica of the brick-and-mortar store itself. The purchasable products are also exact look-a-likes of the real goods. Customers can manipulate these products, rotating and zooming in on them in full 3D.

This was all done using… wait for it… the Unreal Engine 3! Say overkill? It’s amazing what can be done when you have budget. We were sent to Shanghai for a 3 day training course and consultation. After that, we rolled up our sleeves and got to work. Our artist was going balls-to-the wall with all the fancy shader effects. I’m pretty sure he was in a constant state of artgasm.

Meanwhile, I got to touch on the finer points of Unrealscript and the underlying engine. What we came up with in the end was pretty darn good looking. But from what I know, it isn’t really launched (yet?). So no pictures. *shakes fist at NDA*



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.