Using Google Drive for Collaborating with Level Creators

March 21, 2015 - 12:58 am

I recently realized that I will be needing an extra hand if I want my game to have the promised 100+ levels before the planned release date.

The solution to the problem is opening up development to level creators by having a system in place that would make level creation easy to set up and use.

After a lot of thought, I came up with a process that would make use of Google Drive.

The Basic Idea

A copy of the game is uploaded to a publicly shared folder in Google Drive. From here, collaborators can run and play the game on their browsers.


Each collaborator is then assigned their own levels folder where they could add and edit levels using their own Google Drive accounts. When they’re done, they can just refresh the game to see the new changes.

(Click to read more…)

I created an AnimatedSprite Tool for Flambe

March 10, 2015 - 10:21 am

One of the coolest thing about Flambe is its animation pipeline. Using a tool called Flump, it takes animations made in Adobe Flash, converts them to  texture atlases, and then translates the animation data into a json or xml file which Flambe can recreate the animations inside its engine.


This enables the creation of cool looking vector animations such as this:

Unfortunately, this is the only animation pipeline that Flambe has. Which means it does not support spritesheet animations out of the box.

This was a problem when I started Pop Puff and Away. My artist for the project did not have a Flash Professional application and is more used to spritesheets. This gave way to the birth of the Flambe Animated Sprite class.

I’ve created this tool as an alternative to using Flump. It is a fairly basic system that uses single separate images as frames for the animation. The structure was inspired by Flixel’s sprite animation system which I have used a couple of years back.


Like I said it is pretty basic. I’m planning to add a spritesheet support in the future but for now it does what it is supposed to.

Check it out in action and download it from its GitHub page.

Hopefully, I can get around to sharing more of the tools that I have made for Flambe. There are a lot of them and I believe it can be of use to other Flambe and Haxe users.

Posted under: Blog Post Programming

Source code for SudokuBoy released!

April 16, 2014 - 11:30 am

After a long time of searching through emails, I finally found the source code for SudokuBoy, a game that I made in Assembly Language back when I was in college.

The reason for unearthing it from its grave is because for the past few weeks, I have been getting requests from people (I’m guessing mostly students) to share the source.

Keep in mind that I did not make any changes to the code. I am not even sure if it is the latest or even if it works at all. But at least, I am hoping that these snippets can help people get an idea on how such a game can be built in a very low level language such as Assembly.

To those interested, I have included the source code inside the downloadable zip file found at the bottom of this page. Please do not forget to read the read-me for details and instructions.

I hope that this helps!

Posted under: Blog Post Technology

Feedback Friday: AI Tweaks for Dice Kingdoms

April 12, 2014 - 12:40 am

I have been working on Dice Kingdoms on and off for the past few months. I am at the polishing stages now and I am in need of feedback with regards to the AIs of the game.


Try out the game here.

Dice Kingdoms has 4 different AIs.

  • Normal AI – Your basic AI behavior. Picks attacks where he thinks he can win.
  • Cautious AI – Only selects attacks that has a higher chance of winning
  • Defensive AI – Amasses huge armies before making their attack
  • Aggressive AI – Likes to take risks

Quick guide

  • To see what type of AIs the enemies have, just press the pause button

Feedback I am looking for

  • Is the AI too easy or difficult?
  • Can you easily see the strategies the AI are using?

Short Description of the game Dice Kingdoms is a game based on one of my favorite browser games called DiceWars where you capture other territories through dice rolls. Kinda like a simplified version of Risk.

DiceKingdoms – Update 1: Laying out the Land

November 30, 2013 - 2:34 pm

This article is a part of a series of posts detailing the development of the game DiceKingdoms. The aim is to demystify the world of game development by showing what goes on when making a game. Effort is made so that everything is easily understandable by non-developers but still contain some juicy technical stuff for those who are.

So the first step to recreating DiceWars is that we need to lay out the land.

For this game, we use hexagonal tiles instead of squares. This means that laying them out side by side won’t give us the results we are aiming for:


If we want the tiles to look similar to the one in DiceWars, we need to change the placement a bit. It’s a good thing that I learned a thing or two from my game Complexitivity on hexagonal tile placement.


The trick is to reposition the tiles depending on their column number. If a tile is on an even column number we reposition them a little bit to the left and up. The diagram above shows 2 and 5 have been re-positioned because they are on column number 2. Just repeat this on all the columns and we will end up with:


(Click to read more…)

DiceKingdoms – Intro: Gearing for Battle

November 24, 2013 - 10:15 am

This article is a part of a series of posts detailing the development of the game DiceKingdoms. The aim is to demystify the world of game development by showing what goes on when making a game. Effort is made so that everything is easily understandable by non-developers but still contain some juicy technical stuff for those who are.

As mentioned in my previous post, I will be working on a new gamedev hobby project based on the game DiceWars. But instead of being a browser game, it will be targeted towards mobile phones. The game will be called “Dice Kingdoms”.

But before I can begin working on something, I need to equip myself with tools that can take on the job. In this case, these tools will come in the form of a game development frameworks and/or game engines.


While certainly kid-friendly safe, these wont do.

While there are some people who would just pick anything and make something great out of it. I tend to prefer thinking things through. I do a lot of research and test each one to see if they are a good fit to the needs of my project.

Alas, after a lot of thought (and a couple of tinkering with sample projects), I ended up with two these two:

  • Cocos2D-X with Lua, and
  • HaxeFlixel

(Click to read more…)

DiceKingdoms – Intro: A War is Brewing

November 23, 2013 - 9:06 am

This article is a part of a series of posts detailing the development of the game DiceKingdoms. The aim is to demystify the world of game development by showing what goes on when making a game. Effort is made so that everything is easily understandable by non-developers but still contain some juicy technical stuff for those who are.

For the past few months I have been working hard as a professional game developer at Indigo Entertainment. While the job is certainly a lot of fun there is a part of working on your own games that I really miss. And that is the freedom to do whatever you like. And so, I have decided to embark on a new hobby project.

Let me start by prefacing that I have started numerous projects before that never got finished. This one might not be an exception. It may get released or it may end up half-finished. Either way, I will be logging the development so we can have something to look back to and read, and maybe learn a thing or two along the way.

Alright! So what are we making?


DiceWars is a flash game made by a certain Taro Ito from Game Design Japan. It has fairly simple mechanics that is described by others as a simplified game of Risk (Yes, the board game. Which I have not played so I’m taking other people’s word for it).

It’s simple, fun, and easy to pick up. It works well as a online browser game but I have a feeling that it would also work on mobile phones where you can wage wars between breaks or while you are in the John.

(Click to read more…)

I Lost the Source Code of My Very First Game

November 17, 2013 - 9:06 pm

I’ll say this outright: always make sure you have a backup of all the games you’ve made. No matter how much insignificant you think they are.

I just found out that I lost my files for the very first game I’ve ever made. It’s a tetris clone titled Petix. For a first attempt, it was an okay game. Too bad I did not think of making a backup when I was switching webhosts a few months ago. Now, I’m afraid, it is gone forever.

I guess it is true what they say about learning the true value once you lose it.

Petix was the very first game I have completed from start to finish. I remember my delight when I finished it and showed it to my little brother and sister. All I got was a “Meh”, “It’s Tetris!”, and “Big Deal!” I did not care though as I was busy marveling at my  creation. To me, It was the best thing I have achieved in my life.

Too bad I forgot how important and significant it was. I did not think twice of backing it up because I was too caught up working on newer projects. Who needs a Tetris clone when I can wow the world with my super awesome 3D robot game that has lasers!

Minibots. The game that has robots and lasers.

Petix was special to me as it was also my first foray into game dev and the world of HTML5 back when HTML5 was still considered to be a rookie that had too high of an ambition to overthrow AS3 from its throne.

The game was made using Javascript and HTML5 canvas without the help of any libraries. Everything was made from the ground up. There weren’t too many libraries or example codes during that time so I really did not have a choice.

There was the Akihabara framework but I had no idea how to use it

It’s funny. Looking back, I approached problems very differently back then. I remember using a one second timer for an update loop. For each tick, the next state of the game is updated and processed. This obviously had its problems like input only being processed on ticks. This is very noticeable when you try to quickly maneuver your pieces.

Another approach that I did was I made use of arrays to represent the play area. Each element of the array represents a single block. The tetraminoes are composed of these blocks that when required to move, are instructed as a whole to move with it. When a block needs to be rotated, the value of the array is updated according to the current rotation.


Sigh. I really wish I could find a copy of it. Hope is not lost though. I’ll be booting my old PC and Laptop and try to see if I still have my files there.

I’ll be keeping my fingers crossed.

Posted under: Blog Post

My Thoughts on Lua

October 3, 2013 - 10:17 am

Lua was a language that I really did not give any attention to back when I was making hobby games.Who could blame me? It was not really intended for games. It was more for embedded systems like phones, appliances and the like. It was only natural for it to be overshadowed by the widely preferred Actionscript as well as the advent of Unity and HTML5.

It was only recently that I became acquainted with Lua thanks to a project I have been given that requires me to use Cocos2D-X with Lua.

Now Cocos2D-X is an already well established development platform for mobile devices. Powered by C++, it is already powerful in its own right. Couple it with Lua, and you got yourself a thing that is both powerful and fun to work on.

You see, Lua is, in its basic form, a scripting language. It means that it is not compiled but is executed at runtime.  This gives you the freedom to create your own structures without worrying about rules a compiler imposes. This makes it the perfect prototyping language.

I am not saying, however, that Lua is only limited to prototypes. You can create something as complex as the games found at Castle Jackpot or maybe a Triple-A title given enough time and discipline, of course. I say discipline because since there is no compiler to guide you when writing your code, it is up to you to police yourself to avoid any problems in the future. This means discipline in leaving program comments and a proper program structure followed all throughout.

GTA V clone made with Lua? You are going to need a bucketload of discipline for this.

Lua is a nifty little language. And as I spend my days working with it, I learn always learn something cool and new. I am actually looking forward to create my own game using this platform, but for now, the boss awaits.

Posted under: Blog Post Personal

The Evolution of the Minibots

January 10, 2013 - 10:11 am

As I have mentioned last time, Escape of the Minibots underwent a couple of revivals.

I went back trough my archives and found old screenshots and mock-ups of the game. Here are some of them:


Lots of blue inspired by Dexter’s laboratory.escapeoftheminibots-screenshot

2012 Version
Tried out the pixel art look.

2013 Version (Current version)
Here is how it looks now. 2D character sprites on a 3D background.

Take note that the pictures above does not reflect the quality of the final product. A lot of stuff will still be improved.

Stay tuned for more updates about the project soon!