h1

spelunky! + projects + GOGGLES OF DEATH

January 31, 2009

So, I came across a great indie game called Spelunky!  It’s unbelievable.  Imagine every rogue type game you’ve ever played, then imagine that the micromanagement components were replaced by fast paced platforming.  Now imagine that it’s all wrapped up in an awesome Indiana Jones cliche with hilarity abounds!  That’s Spelunky.  It is by a gentleman by the name of Derek Yu.

It has the idol on a pedestal with boulder trap deal, it has the damsel in distress deal, it has crossbow mask traps, spike traps, and monsters.  You can throw ropes and climb on them, you have bombs, you can visit shops to get things, stuff like that.  You can even kill the shop keeper or the damsel if you really want to!  Anything and everything can be done to anything and everything.  Rogue game like concepts and flexibility, platformer fun, Jones ancient cave defiling humor.  Did I mention there’s old school chiptune tracker music in it?  GOOD music.

What else?  Well, Dr. Liow gave me some side projects, because he rightly figured that my classes are too boring.  One, a topological solver.  Two, a Qix clone.  I’m making progress on both.  We’ll see how it goes.

The one you guys would probably like is the Qix clone.  If you don’t know about Qix, it’s an old game that introduced the fill it in concept.  You basically fill in the area around a bouncing Qix (laser line thingy) without being hit by the Qix while out in the open.  You must capture a supermajority of the area around it.  There are sparx on your inside loop (the only place you can move on aside from drawing new areas) forcing you to go out in the open.  They will always hit you if you don’t venture out, because you are on a loop, and one travels clockwise and the other travels counterclockwise.  This wiki should shed more light on the specifics for you.

I’ve designed a reversible linked satellite list to solve the topology problems of this evolving loop structure with nodes linking in from outside.  It actually iterates and traces the structure keeping track of old values, so we never go backwards.  This means the topology of the list is NOT effected by switching the nodes.  This allows us to have a much looser and more dynamic linkage structure, essentially freeing us from explicit directionality.  This not only allows reversal of a satellite list in constant time, but it also means that it becomes completely unnecessary to calculate a path for the sparx to get on to the main path.  They just launch two iterators, the first to find the main loop wins, then two iterators are launched from there to find the clockwise / counter clockwise relationship on the loop for you.  This important as the order of the links on the nodes is arbitrary with this structure!  Tasty data structures abound, I love it.

Lastly, at the roller rink on eighties night, there are many interesting people.  Among them is a girl who wears traditional costumes with goggles.  All the time.  And she got an UPGRADE!  The old welding goggles were cool and all, but she now has a pair of GERMAN DRIVING GOGGLES WOOO!  And she built in some crazy awesome magnifiers that look all evil geniusy.  And in the discoed out light show, they’re even cooler!  Observe:

MWAHAHAHAHAHA

MWAHAHAHAHAHA

I’ve got a history paper to write, and I need to have my programming assignments (my actual for credit ones) done by Monday.  So I’ll catch you all later.

Advertisements

2 comments

  1. Dude I remember Qix. I had it on a Ericsson phone ages ago. It’d be cool if you released it 😉

    Also those googles are badass!


  2. “googles” <–WTF!

    That is the result of the internet.



Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s

%d bloggers like this: