Wednesday, January 2, 2013

Hello, Two Thousand Thirteen

Many years ago, my grandfather called the house and asked "Hello, is this one nine seven nine?" (or some sequence of four digits) - the gag being that his was the first phonecall of the new year, and the digits he was asking about was the new year, in a format we were unfamiliar with, for a year we had just welcomed in.

I imagine it's perhaps a bit funnier if you're old enough to have used the two-character prefix names "Klondike 5-1234", so a phone number was only five digits to recall, and then "is this one nine seven nine" might actually almost make sense as a first thing to ask somebody over the phone.

I don't know if that was in 1979 - sometime within a few years of that, anyway.


I mention that, I suppose, to ask the reader "is this two thousand thirteen?", and of course, yes, it is. But maybe you're one of those folks who like saying "twenty thirteen", which grates on my ear, so I invite you to indulge in the single extra syllable that "two thousand thirteen" requires. And I also suggest that "twenty-four teen" is going to grate on all of our ears next year.


Over the past week and a bit, I puttered a bit at home with a variety of projects - some game-related, some not. Some computer-related, some not. I also revelled in far more nostalgia than necessary (or, probably, healthful), but the holidays are pretty much built for that.

One thing that I turned up, in digging through some old stuff, was my old case of Star Wars action figures. And I turned up the insert that came in the case, with the exhortation "collect them all!", which seemed weird to see in an artifact that predated Pokemon. That insert showed the case filled with action figures, each one in their own little slot. The weird bit was that the case came with two trays, and each tray had twelve slots. So, clearly, the child-collector was meant to buy a full complement of 24 action figures to get full use out of their case. Except that, at that time, there weren't 24 different action figures in production. I don't even think they made 20 action figures from the first movie; Boba Fett was the mysterious extra character shown on the insert, and you had to collect proofs-of-purchase to get him (at least, initially). So, they doubled up on some characters. Three Stormtroomers, sure. And two Tuskein Raiders. Um, yeah, because they were faceless evil creatures that your play scenarios needed a bunch of. Only one Jawa - I guess they only had so many half-size slots, and after one Jawa, and one Artoo-Deetoo, and one, um, R5-D4, and a Power Droid, they had filled their quota. I suspect Jawas weren't an interesting part of most kids' imaginings. Pew pew! I zap your droid, and he falls over! Pew! I sell him back to you! And then he stops working! Pew!


As for game projects, I made some progress revisiting an old game that I had built years ago when I wanted to teach myself Windows programming, back when that was a weird and esoteric art. I guess it's still weird and it seems pretty esoteric again, so funny how things turn around. The game I made back on Windows 286 (yeah, back before Windows 3.0, things were weird) was a little sliding tile game, inspired a tiny bit by the old 15-tile sliding tile puzzle, but mine didn't move in obvious ways. I invite you to check out http://bigdicegames.com/Switch2013/ to get a vague idea of what's going on. I think I still have a copy of Switch.exe kicking around somewhere, but it's a 16 bit Windows program, which was able to run on some versions of 32 bit Windows, but I can leave that bit of nostalgia behind - perhaps things I've made with my own hands are less precious to me.

The original Switch had several levels, which I generated using a separate program, which generated a big blob of data which I compiled in to the EXE (in those days, packaging data separate from the code meant headaches that I didn't want to deal with in terms of packaging - you couldn't rely on people having PKZIP installed, much less WinZip). I don't recall how many levels there were, but I knew that I could use up to 64 kilobytes in one addressable segment before having to start doing weird stuff with the compiler to page in additional segments. So, there were, maybe, 100 levels? Maybe 128? Something in that range, anyway.

Switch 2013 has several levels, but it (so far) lacks the ability to select levels, or to progress from one level to the next. So, since you're pretty much locked in to just one level, it's more meaningful to say it just has one level, even though the other levels are baked in, similar to the hardcoded data of the original Switch.

I think I probably will end up having the game procedurally generate the level at runtime, which shouldn't be too hard - and will stretch my JavaScript skills a bit, which is the point of the project, anyway. Right now, the levels are generated by a Python script that uses generators to create a big list of "cycles" - the paths that the tiles move on. One piece that I think is important is that most levels have some sort of symmetry to make them feel more intentional and less arbitrary. I've captured that idea in my Python level generator script, and I'll be able to do it in JavaScript, I'm sure - I just will have to learn how some stuff is done differently.


Another game-related project that I'm working on involves the OUYA game console. I got a developer's kit (which, really, is just a pre-retail version with "OUYA DEVS" printed on it) on New Year's Eve. I plugged it in to the display in the living room, and it shows up in 1080p glory. I unplugged it, walked it in to the office/den/spare bedroom and, sure enough, it shows up as an android device when plugged in to the Linux box that I consider my home base for coding. I pushed the sample apps up from the Linux box, and they showed up when I walked the dev kit back into the living room, and after a few more cycles back and forth, I got an app of my own running, based on the PlayN game framework that I've been using of late. My goal was to get the OUYA controllers to move stuff around on the screen, but that didn't come together. I fully expect that once I get a HDMI display for the den, then I'll be able to run the app and see the debug output at the same time. Debugging blind is possible, to be sure, but I don't have that kind of patience.


I was somewhat hopeful that I'd have brought either or both of these mini-projects to the point where I could claim one of them as the first of my "12 games in 12 months" challenge, but no such luck. But there's almost a full month of January left, so I'm OK.

No comments:

Post a Comment