Contact Us

Use the form on the right to contact us.

You can edit the text in this area, and change where the contact form on the right submits to, by entering edit mode using the modes on the bottom right. 


123 Street Avenue, City Town, 99999

(123) 555-6789


You can set your address, phone number, email and site description in the settings tab.
Link to read me page with more information.


Dim Spirits

Platform: Web Browser

Dim Spirits is a text-based adventure game inspired by Dark Souls where you are a lost spirit who becomes trapped in the Dim Realm with nothing more than the cloth on your back. Unable to leave or die in this world, your only option is to press on and overcome any obstacles in your way in order to find a way out and escape.


In this project I had just begun learning how to script, and wanted to demonstrate my ability to design multiple systems in parallel and be able to put them together and create a meaningful experience for the player. The systems I design for my game is thus: comprehensible, consistent, predictable, extensible, and elegant. And can be easily explained to a programmer who can take over if I ever want to make the game more elaborate.

As stated before, Dim Spirits is a text-based adventure game. Players would progress through the game using a text-based interface, with descriptions of locales, objects, and enemies alike. In Twine 2, they are able to click on white highlighted words to perform an action or to get some context of the world.

  • Some information that is constant include the top bar which displays the location and the number of days passed.

  • And the bottom bar which shows the players resources.

Players progress through the story by going on paths that would lead them to keys and bosses that would open up the next path. Each path consists of rooms which contain enemies and other random encounters such as chests that they can open for loot.

The game also features a leveling up and shops system which allows to player to upgrade themselves and purchase new equipment using a resource known as Anima gained from defeating enemies and from chests. They are both essential when taking on stronger foes along the path.

One of the main things I wanted the player to do was to fight monsters. The image to the left is a simplified version, but it shows the basic game loop that the player would experience.

  • Players would start off in a safe zone and venture out into a path.

  • The path would loop for several rooms before exiting out to a safe zone.

  • Players might encounter enemies on the path and would have to engage in combat.

  • If they are defeated they will return to the previous safe zone.

  • And if they win they return to the path to continue their journey until the next safe zone.

When the player enters combat they are shown a combat screen such as the image on the right. The screen shows information such as:

  • What the enemies is (in this case a Feral Dog).

  • Their status highlighted in red, and their behavior for their next action highlighted in orange.

  • Actions the player can take which are highlighted in white.

  • And if they had taken an action in a previous turn, more information will be show at the top which shows the result of the action such as attacks and misses, and also damages dealt.

Combat is reaction based, enemies would hint at their next action through behavior text highlighted in orange, and players would have to choose an action to counter it. Once the player chooses an action, both the player and the enemy performs their action simultaneously and the results are shown at the top of the combat screen.

Post Mortem

I achieved my goal but the game was not successful, people thought it had potential but it mostly fell flat because of a lack of a clear direction, but most importantly, the fun factor. 

  • I was too focused on trying to challenge myself and forgot to make the game fun, which my game never had.

  • The leveling up system was too convoluted, people didn't care about leveling up because they didn't know what adding points to skills does.

  • Since there is a lot of random number generation involved, players didn't like the combat because it seemed unfair when they selected the correct response but their attacks didn't do the right amount of damage.

  • Enemy action hints are not apparent enough despite highlighting them during combat. One change could be changing the color of the exact word which the player should look out for.

  • Players would get bored after playing for about half an hour because all enemy encounters were essentially the same and there was nothing to keep the player playing. Especially when they have memorized the behaviors for the enemies, each encounter became very tedious.

On a final note, The game is out now in in its current form, but I have shelved it for the time being to pursue other projects. When the time is right to return to it, the first thing I will do is make sure that I find the fun factor first before I continue developing.