Tuesday, January 01, 2013


Petit Computer Revisited

I don't think my review of Petit Computer really communicated just how amazing it is.

When I was really little, before our household could even afford an NES, we had this hand-me-down Atari 5200.  I'm kind of fuzzy about the exact model -- like I said, I was young at the time -- but in addition to playing cartridges, it was also a keyboard that plugged into your television, and you could program it in BASIC.  And since our school library had some books on the subject, I started to learn the language a bit, at least to the extent that I could copy the programs out of them and sort of more or less grasp the concepts they were demonstrating.  But when I got tired of that and slotted in Pac-Man, I always wondered how you could ever go from '10 PRINT "HELLO, WORLD"' to a little yellow ball running around a maze eating dots.  There was some kind of magic at work there that was completely beyond me.

We finally did get that NES, and what a difference.  The games were huge, amazing, endlessly varied.  You could still tell that it was a cut below the arcade games at the time, but it was close enough.  Still, part of me wanted that keyboard.  I wanted the key that would unlock the back door and let me into the room where the games were made.  I wanted to be a part of that.

As the years passed, a sort of wall has grown up in my mind between computers and game consoles.  A computer, my mind decided, was a workspace, a toolbox, a Lego set.  It was something that you would use to make things.  It's where you write stories, make drawings, and write programs.  A game console, in contrast, was just a machine for using what other people made.  It was like a VCR -- you just stick someone else's work into it.

I remained fond of programming, and even went to college for it.  And yet, I never really saw myself making "real" video games.  This is mostly because a real, professional programming suite costs actual money.  Seeing myself as a mere hobbyist, I couldn't really justify the expense of a pro suite, and I satisfied myself with free programming environments.  And, of course, free environments have their limitations.

But with every environment I could get my hands on, I would try to make games.  The TI-82 I bought for my advanced math classes became a breeding ground for simple dungeon-crawlers.  I wrote menu-based text games in QBasic.  I dabbled in Inform.  I published an Atari 2600 homebrew with batari BASIC.  I learned, and I invented.  I pushed limitations, found the strengths of each odd platform, collected some ideas of what I was good at and what I liked to make and play.

When the DS became the DSi, it took me some time to really be sold on the change.  It was Nintendo's first major step toward making a game machine with more of a devicey sensibility to it, which was kind of an odd shift after the years of insisting that they were a game company and refusing to add the web browsers and movie players that other companies were going for.  But eventually it proved itself.  Being cell phone resistant, it was the first device I owned with a built-in camera, and I ended up using it a lot more than I expected.  And utilities started coming out for it -- Art Academy lets you paint real pictures on the touchscreen and export them to SD card, Flipnote Studio lets you make little animations and share them on the web.  It really challenged this idea I had fixed in my head that a game console is only for viewing things, not for making them.

So when I first found out about Petit Computer and I heard "BASIC on the DS", frankly I wasn't expecting much.  I've seen some really poor implementations of BASIC on devices where it just plain never belonged, such as the BASIC cartridge on the Atari 2600.  Even when it's done really well, I don't have much experience with a BASIC that's designed to make it easy to do much more than put some pretty text on the screen.  This could have been a bare minimum effort.  They could have implemented just enough of the language that you could write a few lines and have them work and show it to people like a card trick or something.

But instead, they've delivered the best version of BASIC I have ever used.

For one thing, they've tuned this implementation toward game creation.  There are so many functions for making it easy to do all the usual business of games -- moving, animating, resizing, and rotating sprites; scrolling backgrounds; reading controller input; reading touchscreen input; playing music.  Yes, you can still pull out your old BASIC books and play around with text and keyboard stuff, but they've gone out of their way to make this a tool for making video games.  They've included drawing tools for creating your sprites and backgrounds.  They've included all sorts of gamey sound effects.

And for another thing, there are so few limitations.  I'm so used to limitations when I'm working with BASIC.  But here... your programs can be huge.  Even if you bump up against the 520k file size limit, you're allowed to load a different program and continue.  The Atari 2600 got me used to working with a limited number of moving objects -- Petit Computer can keep track of fully 100 sprites.  Were you worried that having a touchscreen keyboard meant that you couldn't use the touchscreen as a display or for more general touchscreen controls?  Your worries are unnecessary -- set a parameter, and you've got all that real estate to do whatever you want with.  Every time I thought I was approaching the edge of what this system was capable of, I found that it went much further, or there was a work-around to fix it.

It's a programmable NES that fits in your pocket.  Okay, so maybe I now have the advantage of knowing a thing or two about bitwise operators and other small details that make this kind of thing easier, but I'm sure the young me still would have freaked out about this.

Petit Computer completes the DSi in a very fundamental way.  With it, the DSi has finally crossed the boundary into my mental image of what a computer does.  It really and truly is a handheld studio, a portable toolkit.  Just like my old Atari machine, it lets me stick in a cartridge and play those big, loud, colorful, wonderful games that other people made, but it also gives me access to that back room where I can make games myself.


Comments: Post a Comment

<< Home

This page is powered by Blogger. Isn't yours?