ChipWits, the game that taught a generation how to code, is back
Developers Doug Sharp and Mark Roth walk us through the game's glorious past and promising future.
Back in the year 1984, Apple launched its bid to redefine personal computing with a new machine called the Macintosh, which came with only 128 kilobytes of memory, a single floppy drive, and no hard disk. It took a while before it became successful, and one prominent feature in that early software landscape was the coding game ChipWits, a unique title about programming cute robots to explore a landscape, collecting items and dealing with threats.
ChipWits earned a pile of accolades, was critically lauded in magazines, and directly inspired a generation of programmers. Now, 40 years later, an official remake is in the works. Doug Sharp and Mark Roth, two of the developers of the new edition, graciously took a little time away from constructing the game to answer our questions.
Game Developer: Who are you, and what is ChipWits?
ChipWits is a game about coding-friendly robots with an approachable icon-based language. It features open-ended puzzles, engaging stories, competition, and tinkering creatively for fun!
For example, in this mission, you have to collect all four items in the corners of the room. Your robot follows the program on the right side of the screen. Can you improve this program and find the most efficient way?
Four Corners: An example mission in ChipWits. Images via Doug Sharp and Mark Roth.
Doug Sharp: I’m Doug Sharp, co-creator (with Mike Johnston) of ChipWits and president of ChipWits, Inc. I was 32 when ChipWits came out in 1984, so I’m an old fart now.
After ChipWits came out, I turned my attention to interactive narrative. I created Cinemaware’s The King of Chicago, which was another bestseller. After two hit games, I was a hot property in the game industry. I had just started work on a game I called Future Cop for Activision when seizures stopped me from coding for three years. I was no longer a big deal in the gaming world. When we stabilized my brain, I dove back into coding. In '93, I was hired by Microsoft Research and worked for five fun years in the Virtual Worlds group, where we developed a cool early version of the Metaverse. In '97, I was disabled by seizures again and had to leave MSFT. The seizures damaged my brain to the point that I could no longer program. I turned to writing and wrote two humorous sci-fi thrillers: Channel Zilch and Hel’s Bet. Because of my brain damage, it took 21 years to write them. I also do graphic arts and am now working on a savagely satirical graphic novel called “Elon Musk and His Sweatshop on Mars.”
But my main project is working with the great team I assembled to release the new and much improved ChipWits.
Mark Roth: I’m Mark Roth, the lead engineer and co-founder of ChipWits, Inc., the company we created for the modern reboot of the game.
I have such fond memories of ChipWits! I first encountered ChipWits when my 5th-grade teacher, who had a Commodore 64 in the back of the classroom, showed me the game and said, “I think you’ll like this.” Little did I know at the time that the game would help kindle my interest in programming. Now, I’m a software architect and engineer working on scalable data systems by day, and by night and weekend, I’m a part-time game developer working on the reboot of this incredible game with an incredibly talented team, all of whom are doing this as a passion project!
We hope to do the original game justice with our reboot, which is geared towards modern audiences.
Sharp: ChipWits is a programming game. Players learn programming and have a blast doing so. It’s a game that keeps players up late trying just one more change in the code and then another and another. One of my favorite lines from a ChipWits review is from a Creative Computing article called “ChipWits--Bet you can’t just build one,”: “Last night my wife came downstairs at 4:30 a.m. only to witness me cursing at a cartoon robot.”
ChipWits is both a serious and a light-hearted game. Serious about teaching computer science. Light-hearted because our ChipWits wear roller skates, drink COFFEE, and perform robot music.
I’m immensely proud of ChipWits.
So, how did the original ChipWits happen?
Sharp: In the late '70s, I was a 5th-grade teacher. I taught myself programming (in BASIC) by bringing Apple IIs home on weekends. I left teaching to pursue creating educational software. I enrolled at the U of MN in the Instructional Systems program where Michael Johnston was an instructor. We hit it off and decided we should form a company to put out an educational computing magazine we called Discourse. Luckily, we ditched the idea of a mag. We started brainstorming about a game we called The Robot Thing. We made a lot of money porting games between microcomputers and saved it up to buy time to work on our game. When the Macintosh was introduced we knew immediately we had to code ChipWits for the Mac first.
The best article about the genesis of ChipWits is this 1984 Macazine review.
The original ChipWits for the Macintosh (1984). Images via Doug Sharp and Mark Roth.
Looking at the comments left on posts on the ChipWits website, it's obvious that a lot of people have fond memories of the original! How was it received, and how is it remembered?
ChipWits got rave reviews. One reviewer remembered ChipWits so fondly that in 2008 he named it the 8th best game ever for the Mac and Apple II. ChipWits also influenced a number of games, especially Carnage Heart.
It won awards:
Byte Magazine Product of the Month (July 1985)
MacUser’s Editor’s Choice (1986)
"Critics Choice Award", Family Computing Magazine
"Showcase Award", Summer CES
5 stars! (Info 1987, p.50)
“Top 10 Apple II / Mac Games of All Time” (MacLife.com, 2008)
It influenced a lot of people to become programmers. Two times at conferences a person has sought me out to tell me that ChipWits changed their life. At one conference someone told me that CW has turned his daughter into a professional coder. I’m sure there are hundreds of others who never talked to me.
The prime example of ChipWits’ impact on lives is our Mark Roth. He played ChipWits as a kid and is now programming the next generation while working on high-end coding.
Roth: It’s true! ChipWits definitely influenced me a lot. I’m also struck by how many random people have fond memories of this game. I was on a plane, once, working on the reboot, and as soon as the fasten seat belt sign turned off, a passenger from three rows back got out of his seat and tapped me on the shoulder to ask “Is that ChipWits? Man, I used to spend hours on that game!” We shared stories for the rest of the flight, and he’s on our beta list now.
The Original ChipWits for the Commodore 64 (1985). Images via Doug Sharp and Mark Roth.
The Original ChipWits for the Apple II (1985). Images via Doug Sharp and Mark Roth.
I read that ChipWits came out so soon after the original Macintosh's release that the only real choices in developing it were on an expensive Lisa workstation, or in a Mac variant of the stack-based language Forth. I find it a bit difficult to wrap my head around how that was possible to write graphic software in. How did that happen? Are you converting the game from MacForth to Unity, or just reimplementing it whole cloth?
Sharp: You’re right that we couldn’t afford $9,995 ($27,000 today) for the Lisa. I had just graduated from BASIC to Pascal in my prior porting projects. My partner Mike didn’t like Pascal, so I language-shopped and found FORTH and liked it, despite the fact that it is a strange, notoriously unreadable stack-based language.
One of its big advantages was that it was such an easy-to-implement language that it was one of the first to appear on new micros. Ads appeared in mags about a FORTH system that let you develop real apps on the Mac. There were FORTHs on the C64 and Apple II so FORTH for ChipWits it was. I knew that its simplicity would mean that a lot of the code would port straight from the Mac (I was right; about 60-70% of the code was the same for all three systems.) Because of my experience with porting, I knew how to isolate the graphics and sound from the game code. FORTH had hooks into all the native graphic systems of the machines. On the Mac, Apple introduced Quickdraw, which was an adventure in itself to learn.
Roth: The reboot is definitely a complete rewrite. The core engine is written in C# for Unity. To write the core engine for ChipWits is not very difficult, actually. We’ve had several fans write in with their own reboots, even one for Windows 3.1. If there is enough demand, we’re considering open-sourcing the engine so people can run their own simulations. If you’re reading this, let us know if that’s interesting to you!
Doug found the original source code to the game several months ago and I had a lot of fun restoring the original disks and deciphering some of the original FORTH source code. I wanted to validate that the algorithm I reverse-engineered for the electrocrabs (one of the “baddies” in the game) was faithful to the original. For kicks, here is the original code (I was impressed there were comments)!
( Creep.move) ( 110584 dws)
: ?zap.cw ( sq# ---flag)
robot.square @ = not dup not ( cw is there, zap it)
if 6 flash.cw -200 update.fuel then ;
: Creep.move ( creep#/sq# ---)
3 irnd 1 = if ( 33% try to move)
dup toward.cw ( creep#/sq#/next sq#)
dup dup dup square.object floor@ = swap ?zap.cw and
swap robot.square @ squares.wide@ - = not and
if dup 4 roll creeps( + c! ( sq#/nextsq#) ( safe to move)