Other Work - selene tan
selene tan

Other Work

Guitar toy

by on Aug.22, 2010, under Blog, Lab

I was playing with the Flash Player 10 audio API and made a little guitar toy using Karplus-Strong synthesis.

Get Adobe Flash player

Leave a Comment :, , , full post

Demo – Stixel

by on Aug.18, 2010, under Blog, Lab

For the last Ludum Dare, I started using Flixel, but ran into problems with how it handled rotation and nested sprites. As a result, on Saturday night I tore out Flixel, and started throwing together a quick DisplayObject-based replacement framework, including some basic rigid-body physics. I didn’t finish in time for the end of Ludum Dare, but since then I’ve cleaned it up somewhat and fixed the worst of the bugs.

Here’s a brief bouncing-balls demo. The balls have an elasticity greater than one, meaning they gain energy from collisions. The world wraps horizontally. If you wait a bit, you can see the balls go through a phase transition similar to what happens to photons in a laser.

Get Adobe Flash player

Leave a Comment :, , full post

Prototype: Sideliner

by on Feb.14, 2010, under Blog, Lab

One thing I noticed about the Ludum Dare Flash entries was that most of them were done with flixel. For the competition, I decided not to use it because I didn’t want to learn a new library in the same 48 hours I had to make a game.

Anyway, I’ve finally gotten around to trying flixel out. I cast around a bit for a game idea that I thought would suit flixel’s strengths. It’s a game with 3 tracks where rocks come at you and you have to switch tracks to dodge them. The longer you stay on a track, the faster it gets. Also, as you get closer to the right side, the track speeds up and you gain a score bonus. Pick up ore for points, and red orbs for more time.

Get Adobe Flash player

Previous version (0.5)

Unfortunately, it’s not really fun. The graphics were also a pain. Rocks I can do; the drill took me at least twice as long.

Leave a Comment full post

Basis Double Pong

by on Jan.06, 2008, under Blog, Lab

When I first told my friend about Double Pong, he thought that it would be a game of Pong with two paddles perpendicular to each other, controlled with one input. When I was thinking about a small project to re-familiarize myself with ActionScript, I decided to make his version.

Get Adobe Flash player

Leave a Comment :, , full post

Robot Finds Kitten

by on Nov.29, 2007, under Blog, Lab

After finding out about the lively Nintendo DS homebrew scene, I was determined to make something of my own. But first, I wanted to make something small to familiarize myself with the relevant libraries.

As a fan of both robots and kittens, I of course thought of Robot Finds Kitten, the “zen simulation” that has been ported to a multitude of platforms. I found an existing DS version of RFK, but its controls were sluggish, spurring me to write my own.

I used devkitPro and the PAlib text and input libraries to make Robot Finds Kitten.


Leave a Comment :, , full post

Em no Meio

by on Oct.17, 2006, under Blog, Music

One of the assignments for my Visual Story class was to create a short film that told a story without dialogue. My role in the group was sound designer; I also composed the soundtrack for the film.

Download Em No Meio (130 MB .MP4)

Leave a Comment :, , full post


by on Dec.09, 2005, under Blog, Video and Animation

PyMotion is a framework for creating visual music based on John Whitney’s principle of “differential motion”. In differential motion, a set of identical elements moves along the same path with different speeds. If the first element moves at speed x, then the second element will move at speed 2x, the third at 3x, and so on. The result is motion with patterns that appear and dissolve at regular intervals.

For PyMotion, I used Python and PyGame, the Python port of the SDL library. I wrote the program in Leo, a literate programming editor that uses trees to structure code.

The framework of PyMotion is contained in the variable-speed ticker, and in the element-handling functions. The variable-speed ticker allows one to implement global accelerations and decelerations independent of framerate. The element-handling functions consist of functions to create arrays of elements in various configurations, and functions to move arrays of elements according to various rules.

Starting Configurations:

  1. Dot
  2. Line
  3. Circle

Motion Rules:

  1. Straight line
  2. Along the perimeter of a circle
  3. Radially inward or outward while moving in a circle
  4. Sinusoidal oscillation
  5. Polar-coordinate rose motion, as described in John Whitney’s book, Digital Harmony

I used the framework to create one piece of visual music. I have not included screenshots because the heart of differential motion is motion, and screenshots do not adequately capture it. To view the piece on a Windows machine, download the zip file below, unzip it, and run pymotion.exe. To view the piece on any other machine, you will first need to install Python and PyGame. Then download the zip file, navigate to the /python/source directory, and enter python pymotion.py to run it.

Download PyMotion

Leave a Comment :, , , full post


by on Nov.10, 2005, under Blog, Video and Animation

This is the script for a short film for my Digital Cinema class. The theme of the assignment was “clones.”


Leave a Comment :, , full post

MIDI Compositions Archive

by on Jul.31, 2005, under Blog, Music

I’ve put together several of my MIDI compositions, including in-progress versions of the songs. Download the songs.

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!