Where Are My Pets?


Where Are My Pets? is a logic puzzle game about finding the location of your pets and other objects. Each room has several possible objects and you have to decide which objects are actually in that room. You will be given some clues that show the relation between two objects.

Platform : HTML5

Released : 2018


I came up with the idea from an old game, Inspector Parker. I made this game with a friend. I did all code and he did the art & assets.


  • Openfl (Haxe)

She and the Light Bearer


She and the Light Bearer is a point and click adventure game, a poem, a fairy tale. Take a journey inside a vibrantly colored forest, meet silly creatures, listen to serene folk music, and discover somber secrets.

Platform : Steam

Released : 2019


I worked as a contractor programmer on Mojiken Studio. Game is made on Unity3D. Even though the game is using Fungus, the game is not 100% visual novel. I made some mini games & its integration to Fungus system. Worked for 2 years on this project.


  • Unity3D (Game engine with C#)
  • Fungus (Unity Framework for Visual Novel aspect of the game)

Bolderline – Brick Matching Game


Bolderline is a brand new minimalist puzzle game with colorful blocks that will challenge your brain.

Your goal is to destroy the blocks in the top left area using bricks on the bottom side. You must arrange the bricks with the same color to match the shape of the block and then connect them to destroy it!

Platform : Android, HTML5

Released : 2018


I programmed a whole game from gameplay, UI, testing, level design, and integration to google play & kongregate.

I used Urho3D as game engine with angelscript as gameplay programming language & C/C++ as engine programming language.

I also integrated android version to Google Play Service with Android Studio using mixed code from C & Java(JNI).


  • Urho3D (Game Engine with Angelscript & C/C++)
  • Android Studio (Android Integration with Java & C)
  • HTML5 with Emscripten (C++ & Javascript)

Snap vector direction to nearest axis

I have this case when I need to get my character direction is snapped to the nearest axis. Kinda look like this.

View post on imgur.com

My solution is to find the largest axis absolute value of axis. Then, change the largest one to 1 and the others 2 with 0. Change largest axis sign with its original sign.

Example, we have Vector3(-0.5f, 0.1f, 0). The snapped direction is Vector3(-1,0,0).

How to get reflection vector?

This is one of the problems I encounter often. It might be useful to put solution here.
If you are in hurry or don’t need any explanation, I’ll just leave solution below.

v2 = v1 – 2(v1.n)n

v1.n is dot product & n must be normalized.

That is the code I use for my game using Angelscript (c++ like language). If you use C#/Unity3D, the concept is similar.

How did I come up with these numbers?  Well, I found formula from StackOverflow. haha.  Let’s break down the solution.

We have v1 vector we want to get its reflection. Vector n is the vector that perpendicular to the surface v1 reflects with. We usually call it normal.

Draw straight line

We get vector n1. For now, just ignore n. Multiply n1 by 2 and now that’s v2 we are looking for.

Next step is figuring out how to find n1.

v2 = v1 + 2n1

Easy, it’s dot product of v1 and n. If you don’t know what dot product is, you can read it here.  Due to the angle between v1 and n is more than 90°, the result is minus. Multiply n by dot product’s result, we have n2.


v2 = v1 + 2n1

v2 = v1 – 2n2

v2 = v1 – 2(v1.n)n

Productivity tips : Don’t place your distracting apps on front screen!

In this era of internet addiction, checking phone regularly is unsurprisingly common and it messes up your productivity.  One of the solutions is to make it difficult to reach these apps (Instagram, Twitter, FB, etc).

In order to do this, you must place these apps away from the front screen, put them in one folder named “Useless apps”. It doesn’t always work, but at least extra efforts to reach these apps will give you time to reconsider your decision.

Fill your front screen with “good” apps like your fitness/workout apps, todo list, or any productivity apps.

I got this idea from Reddit. Hope it helps.

Bolderline, a colorful brick matching puzzle game that will challenge your brain.

Finally, I’ve released Bolderline. Better late than never.

Quick description, Bolderline is game mix between Tetris & Twofold Inc. One redditor told me, “It’s like Rubik’s cube and Tetris had a child.”

Here’s what gameplay looks like.

You can download it free on play store https://play.google.com/store/apps/details?id=com.dolanan.bolderline


Update after 9 months

It’s been 9 months since the last post. Almost forgot, I have this blog. haha. Development of my game still continue. It’s just slow progress. I can’t focus on this game after doing many other projects. So, at the beginning of this year, I decided to focus and finish this game.

Here are some changes after 9 months.

  • Switched game engine from UE4 to Urho3D. My game is too casual for UE4
  • New design. I got help from my friend to design the look of my game. We use minimalist style.
  • Game run & tested in windows, html5 (webgl), & android.

September 2017

January 2018


More updates will follow. I hope I can finish this game in February.

Update April – Gameplay Change

It’s been awhile since last post. It’s really slow progress. At that time, I playtested with my fellow devs. Got some insightful idea. This is my game look like at the last update.

View post on imgur.com

Here are some updates I made since last post.

First skin

This game will contain some skins. At the beginning of the game, you only get 1 or 2 skins. You will get more  unlockable skins as you play. Since my artist friend can’t help me right now and I’m only designer wannabe programmer, I designed really simple & minimalist first skin.

I use orthographic camera with certain rotation setting, to show 2d gameplay but still maintain 3d feeling.

Tetris-like block

I made drastic change on the right side of panel. At the last update, right panel looked like a queue track. My friend told me, right panel was confusing him. He suggested to make it like tetris stack.

No more shifting buttons

At the last update, you’ll notice some purple buttons surrounding left panel. I decided to get rid all of them. To shifting boxes, you can drag with right button mouse.

Blocks appearance

Before i stick with current block design, this is how typical blocks looked like.

The problem arise when 2 blocks with same color is stacking.

You can’t tell what this stacking block consist of. Is that 2 blocks? Or just 1 block?

I made several alternative designs to solve this problem.

None of these are good enough or, I’m just bad designer. So I use this good old simple tetris design.


That’s it for today update. I hope I can post update more often.