The Wholesome Competition Results

November 17th, 2018

This seems too small to blog about but apparently I won the Wholesome Competition! A grand total of 9 people voted and 4 voted for me. Haha. Little victories. 😉

Moving Forward

November 12th, 2018

After a short break and receiving feedback on my games, I think it’s time to hunker down and actually do something concrete. Some playtesters felt that my last two games, Dim Sum and XLOC, would be good for mobile platforms if I changed a little bit of the design. This led me to think that maybe I’m not experienced enough to make deep, rich, immersive gaming experiences on the PC but rather short, enjoyable and simple gaming experiences on mobile devices.

I ruminated on this insight more and maybe I should take the leap and just create mobile games instead of constantly searching of that cultural magnum opus and becoming an icon for aspiring indie devs. If not now, then when? Anyway, this will be uncharted waters for me and should be a fun and exciting learning experience! I’ll not be using GameMaker Studio 2 for mobile since I do not have the mobile module. I’ll take this opportunity to learn Haxe/OpenFL, a piece of technology that I’ve been wanting to use. I thought about using Heaps but documentation and support for mobile is sparse albeit one could do it if they are technically competent enough, of which I am not. OpenFL, on the other hand, is more mature and has a larger userbase, Heaps is still pretty niche even though it has success stories, but those games were made by the creator of the framework’s company.

I guess I could feel guilty about doing free-to-play mobile games supported by ads but meh, let’s not get too hipster about mobile games. As long as I’m not predatory about whatever business model I adopt, I can live with myself. Onwards and upwards, I say! Here’s to moving forward!

Dim Sum

October 29th, 2018

This month, I took part in the TIGSource Wholesome Competition. Since we are allowed to make a game that’s wholesome to us, I decided to try my hand at a cute food theme. Not sure what drew me to dim sum but I think I was hungry and thinking about the dim sum I had during my Hong Kong trip earlier in the year. Anyway, here’s it is! It’s a little buggy and imbalanced but I felt like I’m finally learning how pixel art works. I also wanted to try to make a grid-based game with simple mechanics regardless of whether the theme made sense. Overall, it was a really good learning experience. I definitely want to make more tighter grid-based games in the future and explore how deep we can go with simple grid-based mechanics.


For every turn, you will place a plate of dim sum on the table. For each plate of dim sum placed:

  • A piece of dim sum will be eaten from each plate.
  • Empty plates will be cleared.
  • Tea will be drunk (teapots will take 5 sips to be cleared).
  • Note that steamers can be stacked to a maximum height of 3.

You lose the game when you are unable to place a plate onto the table within 5 seconds.


  • Each placement resets the 5 second clock and nets you 1 point.
  • Each piece of dim sum nets you  the following points on each plate:
    • Small steamer: 5 points
    • Big steamer: 8 points
    • Round plate: 1 point
    • Small long plate: 2 points
    • Large long plate: 4 points
    • Teapot: 5 points
  • Clearing the plates nets you the same number of points corresponding to the respective plates as above i.e. clearing a small steamer off the table is also worth 5 points and so on.

Get as many points as possible and beat your high score!

[Play Dim Sum]

The Wholesome Competition

October 2nd, 2018

Been a while since I made something because of work so I’m looking to kickstart game making again. Never took part in a TIGSource Compo before so I’m going to give this one a shot and hopefully get my lazy bum off the ground again. It’s a month long jam so I think it won’t be as taxing and stressful as Ludum Dare. The theme is wholesomeness and I have some ideas for this, most of them leaning towards kawaii. Be sure to follow the Wholesome Compo Forum and keep an eye out for the progress of the various participating games. Let’s see where this goes!


August 26th, 2018

I’ve been trying to get back into game development after life took a bit of a diversion. Now that things have settled, I’m going to try to consistently make games on a regular basis (inspired by the experimental gameplay project), probably not on the frequency of a game a week or a game a month but maybe a game every two weeks, give or take. If I can do a game a week, that would be great but work is going to get busy soon so this will be a true test of my discipline. I think in the grand scheme of things, actually completing games will allow me to level up and I can work my way up to a large scale project.

That said, I’m happy to release a game which I started last Saturday and completed today. It’s a really small prototype/game with only one level. The inspiration was the translocator in the first Unreal Tournament. I remember teleporting around the map (telemonkeys was the nickname for translocator abusers) and even performing some acrobatic telefrags. To think that was almost 19 years ago… Geez.

So I thought, why not implement this teleporting mechanic in a platformer? Lo and behold, I present to you, XLOC! The name comes from the shorthand name of the translocator.

It’s a really simple game. You left-click to shoot the teleporter and right-click to teleport. Each run is timed and your goal is to collect all the stars on the level as quickly as you can. Thanks to Kenny for his crosshair packKevin MacLeod for the background music and Chequered Ink for the Electro Shackle font.


[Play XLOC]

Time For A New Game?

April 19th, 2018

Wow, it’s been some time since I wrote something here. I think it’s time I started on a new project. I’ll try to prototype a few ideas before announcing something concrete!

Crossbow Assassin Post-Mortem

August 30th, 2016

This post is my Ludum Dare 36 post-mortem and will be mostly about the development process I went through when making Crossbow Assassin. I’m going to be honest here, I had no clue what I was doing for this Ludum Dare. I totally screwed up my submission. I had submitted 6 hours ahead of schedule but absent-mindedly went back to edit the description after the submission deadline. This changed my submission from a “Compo” entry to a “Jam” entry. Thankfully, one of the Ludum Dare admins, sorceress (thanks!), changed it back to a “Compo” entry for me. I’m not even sure if I’m doing this post-mortem right.

Oh well.

Anyway, it was my first time taking part in Ludum Dare and my goals were reasonably modest. I wanted to prototype something simple and fun and most importantly, to finish a game. There would be no fancy art or audio, just finish making a game with interesting mechanics. I was psyched and raring to go. Since the jam was taking place in a different timezone (UTC-07:00), I had to plan ahead and rest up. I would be waking at 9am on Saturday, 26 August 2016 and my submission deadline would be 9am on Monday, 29 August 2016. I took leave for Monday so that I could have a day of rest before going back to work on Tuesday.


The theme for Ludum Dare 36 was, “Ancient Technology.” The idea came to me very quickly. Singapore was smothered in haze over the past week and I was furious about it. If you knew the history behind this, you would know that a particular politician had been spewing nonsense about Singapore and Malaysia, countries affected by haze from this politician’s particular country.

Thus, I conceived a very contrived story for this game. The blurb went like this, “An evil monster has invaded your village, razed homes and burned everything down! Your fellow villagers have charged you, the local hero, Sam, with the mission of eliminating this evil monster, Josèphe Kafka, and his minions! Take your trusty crossbow with you as you enter his lair to complete your mission and save your village from his reign of terror! Be careful of his obsequious guards and archers and the smog from the constant burning!”

The game would have the monster resembling said politician and the player would have to kill it with a medieval weapon (crossbow). I also threw in smog which would obscure and choke the player/enemies. I recalled watching Warren Robinett’s GDC post-mortem on Adventure recently and was inspired to make something similar to Adventure with the same 2D art style (I tried my best). The idea was nothing original but I wanted an outlet to vent my anger and more importantly, I felt this game could be completed while providing enough scope for a challenge.


Since the game was going to be in a similar vein as Adventure, I conceived of a 3×3 world where each square in the grid was a “level.” The player would have to walk to the edge of the screen to move to the next level. For simplicity’s sake, there were 8 levels and the last level would be a boss fight. There were two kinds of minions, a guard (melee attack) and an archer (ranged attack). There was also a “haze” cloud in the game which, when covering a minion or the player, produces a cough. This haze cloud shrouded anything below it and made it harder for the player to see things. This provided an additional challenge. The haze cloud could also float around a level. There were also traps, that fired arrows, lying around the levels. I thought of adding more traps but decided against it because of the time constraints. I did not want the game to go too out of scope and wanted to stick to the original goal of completing a simple game. You could say that the game was nothing unique but I’d argue that it’s a social commentary on the status quo regarding the state of air pollution in the Southeast Asian region. 😛


I’m a programmer by training so I’m not very good at art. The art definitely took me a long time despite it being really simple 2D art. From conception to completion, I think it took me about a total of 12 hours to finish the sprites.

I used GameMaker: Studio’s in-built sprite editor but in the future, for bigger projects, I’ll definitely use something more robust like Photoshop or Pro Motion. I have yet to settle on a particular tool but I’ll keep playing around until I get comfortable with one, then I’ll just focus on working with that particular tool until I know it like the back of my hand.

I chose a pastel colour palette, similar to Adventure’s, and added more colours over time as I needed them. I didn’t test much, I just went ahead and drew the sprites as quickly as I could. Definitely need more practice in this area.


I used GameMaker: Studio because I’m most familiar with it. I’ve already made two simple games with it and enjoyed how quickly and versatile it was to prototype games in GameMaker: Studio. Bringing your ideas to life on screen as soon as possible is critical in game development, GameMaker: Studio is excellent in doing that and I’m definitely sticking with it for a while. Also, since I was making an “Adventure” style game, I also used Chris Sanyk’s Scroll_snap extension. Shout-out to Chris who generously gave away his extensions for free during Ludum Dare weekend. I’d love to make games in a “real” language someday but only if and only if YoYo Games goes bust or kills all further support for the engine.


I’ve not done any real audio work before. Even when I made my previous two games, the audio work was minimal, just sound effects and no music. This time, however, I decided to challenge myself and make music for the main menu and end screen after defeating the boss. I made sound effects in Bfxr (as usual), Audacity (first time using) for editing sounds and music with a new tool I discovered called Bosca Ceoil.

I must say, I had a lot of fun making some tunes with Bosca Ceoil. This was my first time trying to compose something pleasurable to the ears and it was very relaxing. It was the most enjoyable part of the game jam for me. The tool itself was super simple to use the five minute tutorial was enough to get me going. Many thanks to Terry Cavanagh for developing such a great tool! Will definitely start learning up on how to use DAWs properly for composition. Overall, this was a very positive learning experience for me as I’m a complete beginner when it comes to audio.

Level Design

I totally misjudged how much time it would take for me to make levels. I daresay it took me more time to design the 9 levels than it did for me to draw the sprites. Furthermore, due to my overall inexperience, I did not do enough research in Scroll_snap. I blindly used the current settings and ended up having to build large levels which consumed a lot of time and energy. I was brain dead and could not think of any other ideas. Also, I could have structured my code better for level design. Oh, and GameMaker: Studio’s level editor sucks. Lesson learned, definitely something to improve on.

What Went Wrong

  • I totally messed up my submission. 🙁
  • I need to be more creative in thinking up ideas and novel mechanics.
  • Overall inexperience leading to me struggling in level design.
  • Art skills need work.
  • Coding skills need work.
  • Audio skills need work.
  • Could have spend more time composing music.
  • Need to figure out how to function properly on less sleep.

What Went Right

  • I accomplished my goals and most importantly, I finished a game!
  • Choosing of tech: I’m pretty pleased with my choice of tech used for my first game jam.
  • Learning how to make music was invaluable. I’m now +1 on that front.
  • Having a better understanding of game development and how I can structure my process and workflow better.
  • I feel inspired to prototype new ideas now and have momentum to keep making games.


Submission mishap aside, I think I did decently given my relative inexperience. My goals were achieved and I’m so happy to have finished another game! I may or may not do another Ludum Dare as I feel incredibly stressed with the time pressure and it’s really tough to take part with a day job in another timezone. Who knows, I might be so skilled in my tools that I can make a simple game in even less time?

Download Crossbow Assassin at or Game Jolt.

[Play Crossbow Assassin]

Presenting Crossbow Assassin

August 29th, 2016

An evil monster has invaded your village, razed homes and burned everything down! Your fellow villagers have charged you, the local hero, Sam, with the mission of eliminating this evil monster, Josèphe Kafka, and his minions! Take your trusty crossbow with you as you enter his lair to complete your mission and save your village from his reign of terror! Be careful of his obsequious guards and archers and the smog from the constant burning!

[Play Crossbow Assassin]

I’m chuffed I managed to finish this bug-riddled mess of a game ahead of schedule. It’s been a superb experience for a first Ludum Dare. Now, time for some well-deserved sleep. I’m so excited to check out the other amazing games! Keep at it, y’all!

I’m In!

August 6th, 2016

I’m in! This will be my first Ludum Dare and I’m so psyched to be a part of it.

Engine: Game Maker: Studio
Graphics: GameMaker’s in-game editor
Audio: Bosca Ceoil, Bxfr
Others: Coffee, pen and paper, music that’s 130bpm or faster

I plan to make a prototype that’s simple, fun and more mechanic heavy. It won’t have fancy art or audio because I want to try focusing on developing something with interesting game mechanics. Since this is my first Ludum Dare, the goal is to finish a game.


Hello World!

January 1st, 2015

A new year, a new blog. Let’s try this one out.