Tuesday, October 2, 2018

The Wholesome Competition

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!

Sunday, August 26, 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.


Thursday, April 19, 2018

Time For A New Game?

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!

Tuesday, August 30, 2016

Crossbow Assassin Post-Mortem

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. :P


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 itch.io or Game Jolt.

Monday, August 29, 2016

Presenting Crossbow Assassin

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!

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!

Friday, August 26, 2016

I'm In!

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.


Thursday, January 1, 2015

Hello World!

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