A Classic BASIC Book Gets a Modern Rewrite

For an entire generation of programmers, 101 BASIC Computer Games was the gateway into computing. Long before graphical desktops and app stores, early personal computers booted to a command line. Without a cassette tape drive—an expensive add-on at the time—the only way to make a computer do anything was to type in entire programs by hand from books like this one.

David H. Ahl's compilation grew out of Creative Computing magazine, which he founded in 1974 after leaving DEC. The launch was a labor of love: with just 600 subscribers, Ahl printed 8,000 copies, filling his basement and garage with 320 bundles of 25 magazines each. He hand-labeled and mailed the extra 7,400 copies to libraries and schools across the country. The book itself first appeared in 1973 under DEC, and Ahl acquired the rights when he started his own publication. The timeline tells the story:

  • 1971 – Ahl ports the programs from FOCAL to BASIC.
  • 1973 – 101 BASIC Computer Games is first published by DEC.
  • 1974 – Ahl founds Creative Computing and acquires the book's rights.
  • 1977 – The Apple II, Commodore PET, and TRS-80 microcomputers hit the market, each with BASIC built in.
  • 1978 – A second edition is released, published by Ahl himself.

In the early years, the book was ahead of its time—there simply weren't many affordable computers capable of running BASIC until the late 1970s. But once the microcomputer "trinity" arrived, the book's influence exploded. At its peak, there were more copies in print than there were personal computers in existence. It went on to become the first computer book to sell a million copies.

Why a Straight Port Isn't Enough

The book's timeless format—line-numbered BASIC with GOTO statements—presents a challenge for modern reissues. A 2010 attempt to modernize these programs with Small Basic was underwhelming. Simply removing line numbers doesn't address the deeper structural issues. The original code famously lacks subroutines, which have been called the greatest invention in computer science. A modern rewrite should embody contemporary practices, not just strip old syntax.

With this in mind, the project author reached out to David H. Ahl for permission to truly update all 101 programs. Permission was granted, and a new open-source project was launched on GitHub.

The Modern Rewrite: Goals and Languages

The goal is to rewrite every game using modern, memory-safe languages that reflect the spirit of BASIC while adopting modern programming practices like subroutines. The project currently targets 10 general-purpose scripting languages:

  • Java / Kotlin
  • Python
  • C#
  • VB.NET
  • JavaScript
  • Ruby
  • Perl
  • Lua

The language list has evolved since inception. Kotlin was added as an alternative to Java; Pascal was dropped because memory safety couldn't be guaranteed, replaced by Rust; and Lua was added after cracking the top 20 in the TIOBE index. These are primitive games from the 1970s—they're not going to win awards for gameplay sophistication. But they're precious artifacts of early computing, complete with original art by George Beker, and they deserve preservation.

A Collaborative Effort

The project emphasizes collective contribution, in the style of modern software development—a stark contrast to the solitary experience of typing code alone in a room in 1984. A beta phase announced on Twitter drew contributions from over 20 developers, including Oscar Toledo, Tim Buchalka, Dave LeCompte, and many others. The project is also seeking co-owners to help organize the effort.

To encourage participation, the project operator pledged a $5 donation to Girls Who Code for every functioning program submitted in each of the 10 languages, through the end of 2022. Contributors are directed to the project's README for guidelines and to a discussion forum for questions.

The project represents a fitting tribute to Ahl's work—one of the most influential books in computing history, and for many, the reason they became programmers in the first place.