For Casey's blog, see CaseyTime.
For Casey's company, see Molly Rocket.
This page and its descendants will never be updated after June 1st, 2004.
Hey look - my old web page is gone.
Sad? Hardly. It was crappy, and I never updated it.
But this used to be where Casey Muratori called home on the world wide web.

What happened to the old page? Well, after a decade of work in the game industry, I finally started my own game company, and that's my baby now. So if you want to know what I'm up to, head over to Molly Rocket once it's live in late 2004.

In the meantime, it's just not cosmically right to remove nodes from the world wide web. So the marginally meaningful content that used to be here is still here, for the sake of the cross-linkers, and it will remain here in perpetuity. Below is the nominal table of contents, without all the fancy graphics and wrappings that used to be here before.

If ya gotta get in touch with me about something on the page, or maybe something not on the page, e-mail's the way to go: casey@mollyrocket.com. I use challenge-response e-mail filtering to get rid of the spam, so expect to have to reply to my autoresponder to get on my whitelist if you're not already.
Lectures
I'm not a huge fan of the whole slide-show-talking-conference thing, but I've done lectures in the past and some of them are still potentially useful. So here they are.
Indie Game Jam
The Indie Game Jam is quite possibly my favorite event of all time - and it happens again each year :) It's a gathering of 20 or so pro game developers where we try to make as many cool new game prototypes in just 4 short days. I helped write the very first engine, the one used in IGJ0 which I unfortunately wasn't able to attend. I did IGJ1 though, and had a blast - and then I did engine work and support, and a game, for IGJ2. Great times, all, and its all friends who participate, so it's like the ultimate social gathering for me too :)

For IGJ1, my game allowed the player to soar around like a bird using their arms as wings. It was really cool to play - I love it. You could do tricks like in Tony Hawk, things like catching jumping fish or completing the slalom course. For a really short video of me flying the owl around, click here.

For IGJ2, I was supposed to just do support for other folks, but I got the gaming bug 2 days into it and decided to try to bang a game out in the remaining two days. The result is a fucked up game where you try to light hamsters on fire to help get them to the level exit... and somehow it's just really fun. Even sweet, unassuming folks seem to love igniting little furry creatures. Which is kind of sick. But what can you do? If you want to give it a shot, download it here.
Figure Drawing
A while back, I decided to learn to draw humans. Because we're just about the coolest looking thing there is. Specifically, I think faces are where it's at. Anyhow, the complete chronicle of my experiences, along with every single drawing I ever did, is catalogued here for your entertainment.
Old Private-Forum Tech Discussions
I've written up a lot of what I've done over the past several years, but unfortunately it's all been on private discussion lists. This makes it kind of useless, because there it will rot for all eternity. So here I've tried to collect my postings and reprint them, for anyone who's interested. I've learned a lot since many of these posts, so if you asked me about the topics today, I'd probably have a lot more to tell you, and a lot better information to give. But since I just don't have that much time to do re-writeups, this is as good as it gets for now :) Where possible, the old images and e-mails are listed here, Note that the [CENSORED] stamp has been placed over addresses and stuff that would give away the name of the private forums where the original posts were made, or the people on those forums.


  • I did some interesting tricks to make my b-spline solver handle multi-order discontinuities. This lets it do stuff like correctly fit the motions of things that teleport, bounce, etc., without having to break the curve up into sections (you still get one nice big b-spline, that you can evaluate normally). I wrote up some notes on how I did it.

    Discontinuous curve report

  • At one point, for some unknown reason, there seemed to be some confusion as to how to find the closest point to an ellipsoid from a plane. So, I tried to dispel that confusion. Hopefully, I succeeded.

    Distance from plane to axis-aligned ellipsoid

  • I wrote an extremely fast and accurate high-res to low-res mesh projection tool that I included in the exporters for Granny. It actually knew the exact worldspace quadrilateral mapping for each texel in the projecting texture maps, and would cast rays out of the resulting shape.

    My e-mail report on the techniques
    For images, see here.


The Programmer's Challenge
So, way way back when... so far back that it was when they actually still did the mini-GDCs... I had this idea for a kind of comedy game show with programmers that we could do at conferences for a good time. I proposed it to some friends at CMP (then Miller Freeman) as something we could try at the Seattle mini-GDC, and they were all for it. So myself and Jeff Roberts wrote a bunch of funny programmer/game-industry questions, John Miles built this cool hardware buzzer contraption, and Chris Hecker wrote a little app for displaying the game board and questions.

Suffice to say, it was a huge hit, and we ended up doing it 3 more times at the big GDC to standing-room only crowds. I eventually got tired of organizing it and burning all me + Jeff's time coming up with all the questions, so we don't do them anymore, but I still get people asking about it, so maybe someday we'll do another one or find someone else to take on the burden.

In the meantime, here are the complete question sets from all 4 Programmer Challenges, for your viewing pleasure. Unfortunately, they're in the source data format for Checker's app, so you might have to do some word-wrapping to read them :) But, it's all there. Keep in mind that a lot of the humor was in the fact that we revealed the multiple-choice answers one at a time, so you kind of need to be aware of that while you're reading through it to get the full effect. Additionally, with the later challenges, there was always a faux "introductory" round, where I would demonstrate to the audience how the game was played - so there's just titles for the categories, but no actual questions, for the first n categories in the file. With the exception of the first category, of course, whose first question is filled in as a demonstration.
TabView
It's the tiniest useful program I know of :) It just takes text files and feeds them into a Win32 treeview control based on tabbing. It's surprisingly useful for how simple it is.
Dance Dance Revolution
Yes, at one point in my life I drove up to Canada with two friends and $10,000 Canadian in cash. We picked up a U-Haul, bought two DDRMAX2 machines from an arcade there, loaded them into the back, and drove them back through customs. Right after September 11th. And we didn't even get stopped. So much for national security.

I did a complete disassembly of my machine, cleaned it, and took lots of photos. For those of you who want to know how to disassemble and clean it yourself, these may be useful to you, so here they are.
Articles
These are some very old articles written for Game Developer Magazine by me when I was fresh out of high school and didn't know a god damn thing about game programming. They're about basic 3D graphics things that hopefully everyone there are better references for now anyways. And they suck. Happy birthday.