An adventure in Rocky's Boots

April 22nd, 2019 1:04 PM
by
Filed under Game trail, History;
2 comments.

My reputation as any workplace's resident (and only) Apple II expert began at my first salaried job as a high-school teacher. I'd often annoy the computer-science teacher, Ms. Lang, by extolling the virtues of BASIC as a programming language (she preferred Scheme); and when I had to substitute for her for a day, I taught her students how to use VisiCalc, as detailed in a Juiced.GS article.

One day, that same teacher came to me for help. She'd recently come back from a conference with a copy of an old Apple II program used to teach programming logic using circuits and gates — could I boot it in my emulator so she could assess its usefulness to her class? I'd never heard the game, but as soon as it started, I gasped. "This is the work of Warren Robinett!"

In Rocky's Boots, players control a simple square as it navigates single-screen rooms, picking up items by colliding with them and transporting them through exits. Sword-like arrows guide the player from room to room.

It was the exact same design and interface as a game I'd grown up with: Adventure on the Atari 2600. Using a joystick and a single button, I'd guided that square on expeditions to distant castles, raiding their treasure while dodging and defeating terrifying, duck-like dragons, all while hoping not to be abducted by a random bat. Adventure's place was cemented not just in my memory but also in history for featuring the first-ever Easter egg: a hidden room with the developer's name, Warren Robinett.

Warren Robinett's name in Adventure's hidden room

Warren Robinett's name in Adventure's hidden room.

It was thanks to that Easter egg that I knew who must be responsible for Rocky's Boots. It's rare for a developer to have such an identifiable style, but when I saw Rocky's Boots, I knew it had to be, if not the same developer, then at least the same engine. I'd never researched Robinett's portfolio beyond that historical Atari 2600 game; until that moment in my high school office, I didn't realize Robinett had adapted his work to any other platform. But in a video demoing the 1982 eudcational title, Robinett describes it: "It uses some of the same ideas from the Adventure game for Atari: A network of interlinked screens, objects that you could pick up…"

I haven't played Rocky's Boots since that day in 2005, but it recently become easier to explore this educational curiosity, thanks to the work of 4am:

My thanks to 4am for preserving this classic, to Robinett for developing it, and to Karen Lang for introducing me to it. Now go try it yourself and enjoy this adventure on the Apple II!

A world without BASIC

June 27th, 2011 10:16 AM
by
Filed under Musings, Software showcase;
6 comments.

The computers that Apple II users grew up with were nowhere near as user-friendly as today's machines. They had unintuitive interfaces, inscrutable error messages, and limited capabilities.

But those same limitations also made them an excellent tool for learning such important concepts as problem-solving, game design, and especially programming.

The Apple II was especially practical for that last function, as it came with BASIC in ROM. Without any other software, a user could turn on her machine and start building a virtual world of her own design. The lack of advanced features meant that the user was playing in a sandbox of conceivable limits yet infinite possibilities.

Yet by 1997, when I started college as a computer science major, I was getting laughed out of the classroom by using BASIC where other students were relying on Java and C++, as I related in Juiced.GS. Today, BASIC is almost nowhere to be found, as detailed in the leading item on Computerworld.com last Thursday "How are students learning programming in a post-Basic world?"

The story is an interesting look at the variety of languages with which to introduce modern students to programming. For some parents and teachers, the old methods work best; "My son's math textbooks contained exercises in Basic, but we could not do the problems until we bought an old Commodore 64 online," said David Brin, author of "Why Johnny Can't Code". Others prefer more popular scripting languages, such as Python; still others use a language designed more for educational than practical use, such as MIT's Scratch, the language of choice of the computer science teacher where I used to teach. She's offering a camp this summer to introduce 13- and 14-year-olds to programming, using a different format from last year's camp: "I changed the language from Alice to Scratch. Alice was too glitchy for me. Scratch is easy to pick up, and hopefully will be fun for middle schoolers."

But none of these languages will offer the same experience as learning BASIC. Author Lamont Wood had once dabbled in BASIC programming but had fallen out of practice until his recent experiment with Python:

The thrill was not the same as in 1979; it hadn't taken months to get the hardware to work, and it sure ran quieter … with Basic, I felt like I was rummaging through a small box containing a few crude tools. With Python, I felt I had pushed open the door to a massive but unlit tool warehouse and was darting in to grab the few that I could see.

I learned BASIC by doing: I was running a Warp Six BBS and needed to make modifications. Eventually, I was inspired to write my own door game, though since it was a port, I had to concern myself only with the coding, not the design. In either case, I always had either the code or design to work with; I never had to conceive and build entirely from scratch (no pun intended).

My challenge in adapting those BASIC programming skills to a modern environment is not so much choosing a language as it is choosing an instruction method. Just as I learned BASIC to run a BBS, I've set a goal of learning PHP to help me run WordPress, a modern equivalent of an online community. But elementary concepts such as functions and arrays seem more confusing than they did twenty years ago.

What's the best computer and language to teach programming — and where does one go from there?