Thomas Iu

Game Designer




Sword of Destiny

Punk Skunk 01 Punk Skunk 02


Play Game

Sword of Destiny is an adventure game in which the player tries to defeat a creature by circling around it, evading its attacks, and trying to strike when it is vulnerable. Players must learn to recognize the visual cues that tell when they should move or strike. However, they must also be wary of the creature masking its true actions by appearing to do something else.

I was the sole developer on this game. I designed the game and scripted it as a set of webpages using HTML and JavaScript, and edited art from other games to create the visuals.


My Work On This Game:

  • Designed player and enemy abilities and game objectives

  • Scripted entire game in HTML and JavaScript, creating a branching decision structure in which players choose hyperlinks to reach pages with consequences

  • Assigned consequences to each choice, designing how they branch off in new directions or loop back to previous decision points

  • Designed combat system to require player to move around to evade and discover enemy weakness, giving players a puzzle to figure out

  • Designed enemy with multiple offensive and defensive responses that players can learn to recognize and circumvent, creating the feel of interplay between combatants

  • Designed enemy to have chance of misleading player by masking its real action with appearance of different action, creating doubt in the player and incentivizing defensive action

  • Designed visual clues to have chance to appear and guide player toward success even when enemy is misleading, helping to prevent player from getting stuck

  • Wrote in-game text

  • Selected, edited, and integrated art


Sword of Destiny is a game that uses linked webpages to create a branching decision structure for player actions. The branching structure resembles that of some text-based adventure games or Japanese interactive novels. What I do differently here, is in the use of random images to represent what is happening in the game.

Each page allows players to choose from multiple actions, leading to one of the possible branch pages. Players win by anticipating the enemy's move, and choosing the best counterattack. However, random images conceal what the enemy is trying to do. The enemy creature may give away its next move, or it may not.

I designed Sword of Destiny in response to a challenge to do a creative work based around a JavaScript for selecting random images. I knew I wanted to make some kind of game out of it, but I wondered how to make a game in which random images have a meaningful effect on gameplay.

A good game cannot be too random, because players need some form of control. First person shooters may have enemy AI accuracy randomly determined (they have some chance of getting a head shot). Role playing games typically allow players to select an action, and then determine the success of the action randomly, with a probability based on the player's character statistics. In both cases, a decision is made first, and then the outcome is resolved randomly.

Sword of Destiny does the opposite of how combat randomness is typically handled. Randomness takes effect before the player decision. The player has a chance of seeing the clue about the enemy's next move, much like a spot or perception check to notice traps in some games.

The challenge is in recognizing the significance of each clue (usually the enemy's body language), and in realizing when the enemy is concealing what it's about to do (like a feint). The player can learn that dodging to the right against a certain attack opens the enemy up for counterattack, but may not be able to see the attack before it happens. Randomness has a meaningful effect on gameplay, but the final outcome is determined by player decision rather than luck.


I created the images for Sword of Destiny by editing graphics from other games:


Doom II by id Software

-- sprites ripped by Falcondelta


Hexen by Raven Software

-- sprites ripped by Bonzai


Warriors of Fate by Capcom

-- backgrounds ripped by Dopefish