Monday, December 14, 2015

BUB on Nintendo 3DS

Well here it is, my first game "published" (in some sense anyway) via entirely-above-board means on a Nintendo console.  (Tong on Wii was great fun to do, but requires a little hacking for others to play.)

I got to draw Ork a couple dozen times.  I got to play and re-play a game-in-progress over and over.  I got to write a program in BASIC, complete with PRINTs, GOSUBs, and DATA blocks.  Every once in a while, I engage in a project that makes me feel like a kid again.  This was such a project.

For anyone and everyone who has SmileBASIC, here is the download code for BUB:

I posted that code on Nintendo's own built-in chat-about-games-you're-playing service, and it looks like some people are already having fun, including someone who recognized BUB from its Gamebuino version!

Anyway, that's my latest.  Some insomnia-hours programming and scribbling has become my favorite-so-far version of BUB.  I like to think somewhere there's somebody whose mind is set to sparking by this and other such toys.  Toys they can enjoy both as games and as a means of learning to program.  May the source be with you!

Friday, December 11, 2015


A short while ago, the best software yet came out for the Nintendo 3DS.  It's not even a game.  It's called Smile BASIC, and it turns any 3DS into the magical kind of flexible, programmable, easily-learnable computer that is sadly otherwise absent from the modern world.

I was a child in the 80s, when Apple II and Commodore 64 computers were everywhere.  You could check out computer books and magazines from any library and type in listings of BASIC programs.  Once you got something running, you could modify or expand on it in any way you were clever enough to figure out.  The first open-source software that got me excited wasn't GNU or Linux or anything like that - it was some random maze-generating program or box-drawing routine that I copied off a printed page.

Now, that same magic, that sense of learning BASIC from examples and figuring out how to make a computer do things of your own design, is available in a $10 download, on a ubiquitous handheld computer.  And in addition to all those tricks we did on 8-bit, keyboard-enclosed, tube-TV-connected 80s technology, a slew of new BASIC commands are available which open up the 3D display, stereo speakers, wireless networking, and many megabytes of RAM to the same kinds of easy programming as PRINTing "Hello World".

If it were up to me, this or something like it would come standard on anything and everything with a CPU.  I don't care if BASIC isn't a powerhouse language, or if the hardware abstraction is limited in some ways, the point is that there needs to be a way to begin learning, on some level, how these gadgets we keep buying actually work!

A while back, I became a registered Nintendo developer.  That meant I could order dev kits, create software, and sell it through Nintendo's eShop services on Wii U and 3DS.  As a long-time Nintendo fan this was an exciting step, but as someone who values sharing ideas (and code) more than making money, it tore me up a bit to think I'd be putting out software which the next generation of me's couldn't poke around in, learn from, and make their own changes to.

Now, I don't have to.  Anybody who creates anything using Smile BASIC can publish it online, ready for anybody else to download, use, and edit just as if they'd copied it out of the back of a magazine.  Stay tuned; I'll be posting my first 3DS game very soon!