game design
selene tan

Tag: game design


by on Jan.31, 2010, under Portfolio

SEEK*TOR is a puzzle game about revealing the single enemy turret on an obscured map. It was created for the 16th Ludum Dare competition, a 48-hour long solo game development challenge. The theme of the competition was “Explore.”

SEEK*TOR was ranked 5th overall of the 121 entries. Play it below:

:, , , , , full post

Post-Mortem: SEEK*TOR

by on Dec.15, 2009, under Blog

So this was my first Ludum Dare. I did the Global Game Jam back in February, so I had some idea of what to expect, although the GGJ was teams rather than solo. One thing I do regret is not interacting more with the community–IRC, Twitter, etc. I could have used more feedback than I got, instead of relying almost entirely on my husband’s comments.
Friday night I spent brainstorming ideas and thinking over mechanics. Saturday morning I started coding. By late afternoon / early evening, I had the major mechanics implemented, but it wasn’t fun. At that point the turrets were just yellow diamonds (and they were warp portals which your cyan circle teleported between), and the hint circle always disappeared before you could fire again.

Screenshot of older version of SEEK*TOR
Screenshot of older version of SEEK*TOR

The best thing that happened for the game occurred when I sent my Saturday prototype to a friend for feedback. He told me two very important things:

  1. He had the most fun figuring out where the hint circles intersected
  2. He wanted to know why you had to aim and fire to reveal the map instead of just placing light bulbs around the “platforms” (yellow diamonds)

So I made the hints persist but fade over time. That means you can see the hint circle intersections, but the screen doesn’t become overly-cluttered with old hint circles. It also means the aiming mechanic is important, since if you take too long, the previous hint will have faded away. I also changed the theming of the game so that the portals became turrets and you selected a turret to fire from, rather than teleporting between them.
Sunday was mostly a day of polish. The big feature changes were implementing multiple levels, scoring, and flare limits. I also added the start, game over, and between-level screens, made the graphics, (such as they are–hooray for GlowFilter!) composed a background track, and created the sound effects.
In the end, I was successful in terms of having a pretty-much finished game at the end. On the other hand, seeing some of the other entries, I kind of wish I’d done something a little more ambitious…
Things that worked out:

  1. Using abstract glow-y vector graphics instead of trying to draw. (I spent about 20 minutes attempting to draw a single turret before deciding my time was better spent elsewhere.)
  2. The game selects from 4 (hand-crafted) turret layouts and randomizes the enemy and player locations. That turned out to be enough randomization that I didn’t need to make a turret layout generator. In fact, I only just realized that I left the game in debug mode where it always chooses the same turret layout.

Things that didn’t work out:

  1. When I started, I implemented everything in one file just to see if the core mechanic would work. I made such a mess of my code that I spent hours late Saturday night moving code around so I could add levels. Spending hours working on code without actually adding new functionality–even regressing at times–was very hard on my morale.
  2. I spent too long trying to make my git history tidy. I’d keep forgetting to add a file to the commit or not commit for a while and wind up with a gigantic commit that involved 3 features and all the source files. Then I’d try to figure out how to break up or revise the commits. (And how to use vim, since that’s the default git editor…) Given that I never had to revert to a previous version, it was kind of silly of me.

Tools and Libraries Used:

  1. FlashDevelop
  2. TweenLite
  3. git
  4. ACID Music Studio
  5. Free VSTi soft synths: Crystal, LazySnake, and ErsDrums
  6. Audacity
  7. sfxr

(cross-posted from Ludum Dare)

Leave a Comment :, , , , full post

Scrambling Words for Maximum Fun

by on Sep.03, 2009, under Blog

A while back, I worked on an online Flash version of the game show Don’t Forget the Lyrics. It’s a game show where contestants get up and sing along to some music until the music stops dead and they have to fill in the rest of the line. They have three lifelines (a la Who Wants to be a Millionaire) they can use: show the first three words, turn the question into a multiple-choice question, or get their pre-appointed friend to answer for them. The first two are easy to code up, the third not so much. We didn’t have the budget to record people singing the missing lyrics, so it had to be text-based. We thought of randomly selecting one of the multiple choice answers, but realized that people would probably feel cheated at being given a wrong answer. And it would be too easy to just always give them the right answer.

At some point, I came up with the idea of showing the player a scrambled version of the correct answer. That would leave it up to the player’s skill to get the correct answer from it, so it wasn’t a guaranteed success but would still seem fair. Then I had to come up with an algorithm for scrambling words that wasn’t too easy, but wasn’t too hard for anyone to solve in the time limit.


Leave a Comment :, , , full post

eFusjon RAD Game

by on Jul.18, 2009, under Portfolio

eFusjon RAD is a game promoting the eFusjon energy drink, launched in July 2009.

In RAD you control the Efusjonaut, and must absorb eFusjon to neutralize free radicals while avoiding toxins. The Efusjonaut is controlled with the mouse, and can switch between an offensive toxin-eliminating mode and a passive free radical-neutralizing mode.

I came up with the gameplay concept and led the project. A graphic designer came up with the look and feel for the menus and an animator/artist created the main game art and sprites. I incorporated everything into Flash, set up the overarching code structure, and programmed the gameplay and scoring. Other developers worked on the leaderboard score submission, some of the menus, and the instructions. After some testing showed that people were confused about how to play, I came up with and implemented the idea of adding pop-up tutorial messages in-game explaining things.


  • eFusjon Gaming is the official game website, including details about the promotion
  • eFusjon RAD is the page where you can play the game. Registration is required because the game is part of a contest.
:, , , full post

Let’s Shooting Love

by on Feb.02, 2009, under Portfolio

I participated in the first Global Game Jam in February 2009, a challenge where the goal was to produce a playable game in 48 hours. The theme was “As long as we’re together, we’ll never run out of problems.

Let’s Shooting Love is a Geometry-Wars-style arena shooter about a lonely robot looking for a girlfriend. It was created in Multimedia Fusion, which we decided to use since one of the team members (Sebastian Jansiz) was an expert in it and promised even faster prototyping than Flash.

I was responsible for designing and implementing the enemy behaviors. I brainstormed a lot of potentially interesting behaviors and played other arena shooters for inspiration. Then I had to figure out how to implement them in Multimedia Fusion, which I had never used before the Game Jam.

I created both enemies and enemy generators, setting them up so that Sebastian could easily adjust parameters such as speed, hit points, and generation frequency. I made a wide variety of enemies, including ones that travel in V formation, ones that circle-strafe the player while firing shotgun bursts, and ones that break apart into smaller enemies when defeated.


:, , , , full post


by on Oct.18, 2008, under Portfolio

Snowfall is a game I originally thought of for a weekly game-making challenge at The Sims Carnival where the theme was “music”. After struggling with the limitations of the Sims Carnival game maker, I decided to take my idea and make it in Flash. I also used the opportunity to learn Actionscript 3.

Get Adobe Flash player

Move the mouse to move the sun anywhere on screen. Avoid touching snowflakes. Click to release a burst of warmth that melts snowflakes and earns points, but uses up a life. Play the game with sound turned on!

:, , , , , full post

Astral Schism Design Notes

by on Jun.06, 2006, under Blog

Some notes about the design and development of Astral Schism.

I had two main goals when adjusting the game difficulty:

  1. The two modes must have similar difficulty levels
  2. Both modes must be winnable by people who don’t play games that often

I adjusted difficulty by changing the spawn rates of enemies, asteroids, and ore/hulls, and by changing the number of starting shields.

While I managed to strike a fairly good balance for the project deadline, I feel that it could still use some work. However, there are some more fundamental design issues that need to be addressed first:

It’s possible to get stuck in the game

The way the game works, level advancement is based on how many ship upgrades you have. When you run out of shields, you restart the level with the same number of shields and the same upgrades. This means that it is possible to get to a level that is too hard for your skill with few lives. Unless you can collect enough ore or hulls to return to base, you cannot gain enough lives to clear the level.

One possibility is to always grant a minimum number of shields to the player on starting a new level. e.g., if we have determined that the third level should be beatable with 6 shields, then the level-change code will also set the player’s shields to 6 if the player has fewer than 6 shields. Any other fixes to this problem will probably require a change to the current level mechanic.

Level advancement uses an unusual mechanic

I got comments from several people that the level mechanic “seems a bit weird.” It has the bonus that at a given level, you always know the ship has a minimum number of upgrades and should therefore be able to handle things. It’s just not what most people expect.

The “boss” for the ambassador mode doesn’t fit in

The “boss asteroid” requires a method to defeat it that never shows up elsewhere in the game. I’d like to change that, although it might “spoil the surprise”. On the other hand, there’s no such surprise for the Exterminator mode.

I want a scoring mode but don’t know how to do it

Scoring for the Exterminator mode is pretty straightforward. Just count shots fired, enemies extinguished, that kind of thing. But what’s the equivalent for the Ambassador mode?

There are some statistics I could keep score on: number of times levels are played, total time spent on a level, amount of ore picked up. For all of these, lower numbers suggest more player skill, which can result in slightly weird scores.

Leave a Comment :, , , full post

Looking for something?

Use the form below to search the site:

Still not finding what you're looking for? Drop a comment on a post or contact us so we can take care of it!