Friday, March 7, 2008

Tetris II

I did it! I finally finished it. I made Tetris in hardware!

You might ask, "What do you mean by that, Matt?" Or equivalently: "Huh?" Well... do you want the accurate explanation, or the analogy-rich obfuscation? I'll start with the latter:

Inside every computer is a magick box filled with Smurfs. But these aren't garden variety Smurfs... they're extra, extra small, and they're very fast. Just like humans, these Smurfs come in only two stereotypical varieties -- short, squatty Smurfs and slender, stick-like Smurfs. Unlike humans, these Smurfs are constantly at war with each other. Fueled by mutual affronts effected long ago, a girthy Smurf will always attack a gangly foe... and the gangly foe (though he will not call himself so) will never deny himself the satisfaction of dealing the low blow.

As luck (or you might call it fate... depending on your altitude) would have it, the lurpy lot nearly always defeat the smaller Smurfs, and were it not for the huge population of the shorters (owing to their remarkable ability to reproduce), the taller Smurfs would have long ago taken control of the magick boxes.

The warfare is important, but the real reason companies like Intel and AMD breed and captivate these Smurfs is because of their uncanny predictability. On any given day, at any given humidity, you can predict with certainty where a Smurf will go for a walk, what he will say, the joke he will tell you and the place he will dine. It is this predictability that powers modern computing. A hardware designer's job is to create the avenues and cafes that will drive the creatures where we'd like them to go and to stop -- sometimes this means sending a short Smurf to be annihilated by a gang of tall ones. It's brutal, perhaps, but you wouldn't be able to read this on your computer if our society wasn't willing to make that sacrifice.

So, that's what I did today (and every day for the past eight days). I put the Smurfs to work that I might amuse myself with moving colors on a screen.

Brief, boring explanation:
To make something in hardware is different than just programming software. Software requires a processor and memory (both pieces of hardware). Hardware requires electricity. The stuff I did to make Tetris II lies in between software and hardware. I described the hardware in a language (similar to programming software), then downloaded the resulting design to a piece of hardware that can be programmed. Also, if I had the money or a benefactor, I could make the design into a standalone chip ... so I could fabricate something that would run Tetris... you could hold it in your hand, then plug it into a monitor and play. Oh, it was so fun to make.


Dan Kim said...

Smurftastic. What if the smurfs were to revolt one day? Or if the short smurfs were to develop their own technology to defeat the tall ones?

Matt, I still think you should make Tecmo Bowl. Or, you should aim to make the sequel to this amazing game:

Matt said...


"And if you like multiplayer gaming, you're in luck," Hendleman continued. "In Sousaphone Hero's cooperative marching-band mode, as many as 135 of your friends can play simultaneously."

They should make colorguard hero :)

Sydney Vivian Lambson said...

I didn't even realize that you had a blog. you've opened my mind. I think i will add you to my 'friends' list