Posts Tagged ‘Games’

I Made Asteroids

Wednesday, November 18th, 2009

AsteroidI stayed home sick today, and made a little browser asteroids game on my laptop.  The cool part is, it doesn’t need Flash or any other plugin.  It’s all JavaScript.  The even cooler part is, I am still blissfully ignorant about JavaScript, I wrote the whole thing in Python, using Pyjamas.  I’ve tested it on Firefox and Safari, works great on both, and runs super smooth even with lots of asteroids.

It’s not much of a game, really, just classic Asteroids without even scores or keeping track of ships or much of anything but the basics.  But it’s only about 300 lines of Python, and it runs in any off the shelf browser.

I’ll try to add some polish to it and get the source up somewhere soon for anyone interested.  I’m pretty happy I managed to do all that in a day, plus a few hours on previous days getting Pyjamas set up.

Update (11/19): I uploaded the source code. It’s not the best code I’ve ever written, and it’s not commented at all, but now it’s a real project!  Sort of.

Update (11/20): Version 0.2 is now live, with sound effects, a score, and a different Canvas object that allows it to run in IE6.  It’s too slow to be playable in IE6, but at least it runs.

There’s no sense crying over every mistake

Tuesday, October 23rd, 2007

You just keep on trying till you run out of cake.

The rules are different here

Sunday, August 19th, 2007

Little known fact: in most parts of Orange County, fire is harmless. You can sit right in the middle of a roaring bonfire on the beach and not feel a thing. But the rules are different in Santiago Canyon. When traveling through that zone, fire can and will hurt you. Luckily, the server displays the following message when this rule change takes effect.

IMG_0166.jpg

Fire is hazardous from that point on.

Speaking at GDC

Monday, July 30th, 2007

I’ll be on a round table discussion on “Taming Online Scaling Issues” at the Austin Game Developer’s Conference, September 5th through the 7th. My session is on the 6th. Since it’s just a round table, I’m only talking for a few minutes, as are the other participants, and then it’s an open discussion for anyone that shows up.

Stop by and join in, or just say hi, if you’re around.

Taming online scaling issues is closely related to taming lions. Whips and wodden chairs are involved, and every once in a while someone suffers a disfiguring accident.

Fun with language filters

Friday, May 25th, 2007

All MMOs have profanity filters. Usually optional, but always available.

This week I had to look at a ticket about a particular player who was forced to change his name for “no apparent reason.” It turns out his name, his whole name, not a substring, had been added to the profanity filter in the most recent patch, which will cause an automatic rename. The closest translation of his name (it was German) appears to be “rascal”, but obviously more derogatory if someone put it in the profanity list. I’d link you the google translation of the German wikipedia page, but I don’t want to cause the player any grief by posting his (old) name.

Adding actual substring matching to profanity filters is usually a bad idea. You might think there are certain words that are always bad even if they only match substrings. You might even go and add them to the list.

Until your game winds up filtering out “Brightwater Lake”

That happened in beta. Look closely.

Also, the forums used to filter out cockroach.

Guitar Hero 2

Friday, April 20th, 2007

The XBox 360 version of Guitar Hero 2 is pure evil. I never went for high scores much on the PS2 version. The leaderboard has completely changed all that, and is sucking up way too much of my time. I am ranked in the top 5000 on career score as of this moment. My tag is Ogre36, feel free to send a friend request.

I only have a single song where my high score is on expert too. The rest are all medium or hard (mostly hard until the last couple of sets). So lots of room for improvement, but going for score on expert is a LOT harder than hard. Just passing the songs isn’t, but keeping streaks going is way more difficult.

Puzzle Quest Solver

Wednesday, April 4th, 2007

I figure it’s not cheating when I use this program to solve Puzzle Quest capture puzzles. But if you use it, you’re totally cheating. I wrote the code, that means I solved the puzzle. You, you’re scum.
pqsolver.exe (Get this if you just want to run it)

pqsolver.cpp (Source code, if you want to see how it works or don’t trust random executables off the internet. Builds on Mac, Linux, Windows, probably anything else with a C++ compiler)

Sample input files:

test2.pq (not a real puzzle, just an early test)

OrcLord.pq (Real)

Sandworm.pq (Real)

To run it:

pqsolver < file.pq

The magic values, straight from the code:
case red: c = 'r'; break;
case yellow: c = 'y'; break;
case green: c = 'g'; break;
case blue: c = 'b'; break;
case skull: c = 's'; break;
case skullx5: c = '5'; break;
case xp: c = 'x'; break;
case money: c = 'm'; break;
case empty: c = '.'; break;

The output has the first step at the bottom, last step at the top. Backwards, in other words. Harder to do it the right way around the way the algorithm works. The bottommost board displayed is the initial input, the topmost is the next to last state before winning. Above each board are the coordinates to move to get to the next step.

Updated 11/09/2007 : Thanks to Nige in the comments, the bug with skulls is fixed.  You Rock, Nige!