"The first BASIC program under time sharing was run on May 1, 1964, around 4am."
- Dr Thomas E. Kurtz (Darthmouth Colege), taken from History of Programming Languages, Part XI
The Beginners All-purpose Standard Instruction Code programming language turns 50 years old in just a few days.
In the August 2012 issue of Game Developer Magazine I interviewed Dr Thomas Kurtz who co-created BASIC; David Ahl, who wrote the million selling 101 BASIC Computer Games book which helped popularise the language; John Lutz who was head of the True BASIC company; and Apple co-founder Steve Wozniak, who created Integer BASIC for the first Apple computers. I even spoke with Marc-Oliver Ihm on Yabasic for the Sony's PlayStation 2. Due to space not everything could be used. Below you'll find my original leftover materials which covered "10 BASIC Dialects" and "10 Things touched by BASIC", with interview quotes, in addition to two new entries - SmileBASIC, from Japan, and the QBasic game Black Annex which is on steam.
It's amazing to think that five decades after its creation, the language has evolved and diversified to the point where you can use it to create SNES quality games on a 3DS, or commercial quality PC games which are sold online. I once tried to count all the variations - at the time there were over 280.
I never mastered programming, but I'm extremely pleased I was able to experience it in some fashion through a BASIC dialect. Not only was it tremendously fun, it gave me a better appreciation of what game development involves.
10 (+1) BASIC Dialects
There are over 280 variants of BASIC - in fact that there could be over 300, given how poorly documented some obscure versions are. While broadly speaking they all do (or should do) the same thing, some versions are particularly noteworthy.
This is produced by Smileboom in Japan, and is currently available for the DSi as a download. The president of Smileboom is Takaki Kobayashi, who I interviewed while on a recent trip to Japan. He started his career at dB-Soft, which created dB-BASIC in the 1980s, and produced a variety of interesting albeit Japan-only games (Flappy, Layla, several notorious adult only titles, etc). Later he worked at Argent, probably best known for making/porting Riot Zone to the PC-Engine. Now he runs Smileboom, which also made Space Milkman for XBLIG.
The company's version of BASIC allows you to create games for your DS and then share them via QR codes. What's especially exciting is the next generation of the dialect, planned for the 3DS, which promises SNES or even PlayStation quality 2D games. Here's an excerpt from my interview with Mr Kobayashi.
JS: 2014 is the 50th anniversary of the BASIC language. Both dB-Soft and Smileboom produced their own variants of BASIC. Would you like to comment?
TK: Many developers in Japan and the rest of the world, including myself, learned how to program by creating games in BASIC on computers with limited expressive power. I have the job I do now because I was using BASIC in my youth.
Nowadays, computing devices designed for touch panels from the ground up are readily available in homes, along with a huge number of free apps. Computers have become just tools for running apps. It is my hope that by bringing back BASIC, we can regain that sense of a person being in complete control of the computer, and increase the number of children and adults who are interested in using a computer to make things.
JS: Would you like to add anything about Smileboom's DS BASIC, or your future plans?
TK: Currently, we are developing a new Petitcom (SmileBASIC) for the 3DS. This software allows you to easily implement the stereoscopic camera, touch panel, and sensors with BASIC commands, making it possible to create 2D games in BASIC that are on the level of a Super Famicom or PlayStation game. I believe that if there's an environment allowing you to easily make games, there will be young people who will show us new ideas that no one's ever seen before. It is our hope that young people will create something we never could have imagined.
Smileboom is taking on new members and steadily growing in scale. We will continue to make friendships with people around the world who want to turn interesting ideas into something concrete, and continue to create products filled with joy and delight rather than violence and savagery. We work for a day when everyone around the world has a smile on their face. If you're ever interested in our little company, please give us a call.
This is the original created by Dr John Kemeny and Dr Thomas Kurtz, first made available in May 1964, and from which all others eventually came. It underwent many revisions and improvements, the biggest of which was probably INPUT statements in 1966, thereby making it interactive. In 2012 Dr Kurtz recreated the original: “It turns out that one of the original student programmers, Steve Hobbs, obtained an assembly listing of BASIC from a General Electric programmer, the listing being dated approximately late 1964, long before GE had made any changes to it. I hand copied the source code from the listing, wrote an assembler in True BASIC, and assembled it into octal. I then proofread by eye the octal from my assembly with the 1964 octal. I then wrote an emulator of the GE-235 hardware. I had to fake the user interface, which was constructed on the companion Datanet-30 hardware, but the result is a realistic recreation of what it was like back in 1964.”
As the first product from the then-named Micro-Soft, this is the language that launched a multi-billion dollar empire. According to David Ahl it was largely based on RSTS-11 BASIC: “I was pleased with this as I was very familiar with it and really liked that version of BASIC. Also, I had a folder of programs in RSTS-11 BASIC which I could roll out in Creative Computing magazine and which later served as the start of the next book, More Basic Computer Games. One of my projects, along with Steve North, was to convert all of the programs in Basic Computer Games to Bill Gates’ Altair BASIC. We put a crash effort into it and the new books rolled off the presses in October 1978. Over the next few years the book was translated into five foreign languages and a mass-market version was produced by Workman Publishing.”
Coming on all early Apple II computers, Integer BASIC was short-lived due to not supporting floating points. Steve Wozniak explains why: “I wrote down a complete syntax chart of the commands that were in the H-P BASIC manual, and I included floating point arithmetic, decimal points, numbers and everything. Then I started thinking it was going to take me a month longer - I could save a month if I left out the floating point. I was a mathematician of the type that wanted to solve things with integers - all you need for games is integers. I said: I’ll save a month and I’ll become famous like Bill Gates if I write it the fastest I could. So I stripped out the floating point. It’s too bad. I’ve thought back and that might be my one regret on the Apple II - because eventually we licensed Microsoft BASIC, which was floating point. They walked in the door, they had a BASIC for the 6502 microprocessor, and I was working on a floating point BASIC at the time, and I thought ‘Oh my gosh, that’ll free me up to work on other things.’ So I was happy to go along with licensing it.”
It’s very tempting to put BBC BASIC here, by virtue of its connection to school education and being much faster, but the ZX Spectrum’s equivalent wins out by being the more popular vote. An extension of the BASIC in the ZX81 (the monochrome predecessor to the Spectrum), which in turn was based on the 4KB ROM code of the even more primitive ZX80. John Grant of Nine Tiles, the company which designed the Spectrum, wanted to rewrite the way variables were stored to improve speed, but Clive Sinclair refused on cost grounds. Despite being very slow and with an excess of commands overlaid onto a tiny chiclet keyboard, it was nevertheless used by countless Spectrum owners.
In Japan NEC’s PC-88 and PC-98 computers totally dominated the home market, right up until the late-1990s when Windows started being integrated. This BASIC, or a version of it, is what came with those earlier models - therefore N88-BASIC was probably the most commonly available dialect. Having said that, there were BASIC dialects for all the Japanese computers, including for the MSX, Hudson’s BASIC compiler for the Sharp X1, and even a version of BASIC for the powerful X68000. In the case of the X1, programming a game in BASIC was easier than on equivalent platforms, thanks to the hardware’s Programmable Character Generator - which is why even when using assembler language, it was impossible to port Kagirinaki Tatakai to the PC-88 (see the game's entry, below). Of course better hardware doesn’t always mean better sales, and the PC-88 reigned supreme.
Nintendo collaborated with Hudson and Sharp, which had prior experience in the field, to bring a dialect of BASIC to its Famicom console. This wasn’t the first example on consoles, BASIC Programming on the Atari 2600 predates it, but it’s certainly one of the more impressive. Arriving June 1984, priced at Ą14800, it came with a burgundy toned Japanese QWERTY keyboard and oversized cartridge, and had 2K of memory. The Nintendo branded tape recorder, to save programs, was sold separately, though any recorder which accepted input would do. The final revisions, V3, doubled the memory to 4K.
YaBASIC (Sony’s PS2)
Yet Another BASIC was available for Unix, and was officially ported by Sony to the PS2, coming bundled on one of the original demo discs. Marc-Oliver Ihm tells his story: “Some years ago I received an email from a Sony official, asking if they could bundle my YaBASIC with their device. I was pleased and said yes. Some weeks later I received a PS2 for free by mail. That’s it. Sony also added some features for using graphics. As far as I know, the real reason was to save taxes within Europe. If they bundled the PS2 with a programming language, they could declare it as a computer, instead of consumer electronics. That made a difference in the amount of duty they had to pay when shipping to Europe.”
Not to be confused with the BASIC Programming cartridge released for actual use on the system. Batari BASIC allows you to programme a game using BASIC, and then compile it into a ROM for use on an Atari 2600 emulator or hardware. Given the well documented difficulties of creating anything for the system, this is an astounding achievement. You won’t be able to replicate Pitfall 2, but by golly, you can actually make some pretty good games for the system using BASIC!
Microsoft’s original DOS-based QBasic used to come bundled with its Windows operating systems, and included some extremely comprehensive tutorial files. The original release was just a BASIC interpreter, but later versions of QBasic allowed you to compile your programs into executables. As DOS compatibility faded from Windows, so did QBasic. QB64 is a modern update by fans of the original, designed to work with the latest Windows operating systems. In truth it’s only a compiler, so booting a program will take a few seconds, but along with excellent backwards compatibility it has a whole bunch of new, easy features. Whereas with the original you needed pages of code to load a GIF or WAV file, now a single line is able to use a variety of image or audio files.
John Lutz, former CEO and owner of True BASIC, recalls its history: “In 1982 and 1983, with the growth of microcomputers, the gold rush was on to develop software. Much of the focus was on programming tools and the early success of Microsoft was being noted. Three graduating students of Dartmouth College lobbied professors John Kemeny and Thomas Kurtz to create a commercial software company and recreate their successful BASIC programming language into a cross-platform product. They regarded Bill Gates rewrite of BASIC to be substandard and felt they could do better. The alumni of Dartmouth ramped up a development staff and by 1985 produced versions of True BASIC for DOS, Macintosh, and Atari. Sadly, no one seemed to foresee that programming tools would become a VERY small niche product for microcomputers and applications would reign. By 1992, it was clear to the investors of True BASIC that major changes needed to be made. Without going into all the details, a ‘survival’ plan was accomplished and, by 2000, all the original shareholders were made whole and I took the company ‘private’.”
10 (+1) Things Touched by BASIC
There’s been an enormous amount of software programmed in various BASIC dialects over the decades, some of which proved financially very successfully, spawned bigger follow-ups, or were impressive simply from a technical point of view. Releases from the past 50 years are too numerous to count. Here then are 11 interesting things, either programmed in or somehow influenced by BASIC.
I've not played Black Annex, but with its isometric Syndicate styled visuals and gameplay, and hacker motif, it looks very enticing. Significantly though, it's a QBasic game which was greenlit for Steam, and functions on a modern Windows OS. Incredible. I can program QBasic. I could probably program something for Steam. Well, no I couldn't. But seeing this game in action - and it really is impressive - makes me want to more effort into sharpening the QB knowledge I already have.
Black Onyx, The
Henk Rogers, best known for negotiating the Bullet-Proof Software deal that brought Tetris to the west on Game Boy, also created one of Japan’s earliest RPGs, using a combination of BASIC and Z80 assembler. Contrary to what some sources say it wasn’t quite Japan’s first RPG, but it certainly grew to be popular and influenced many subsequent RPGs. Also, the manual was written by Hisashi Suzuki, who later became president of SquareSoft.
David Ahl explains how far the influence of BASIC goes: “My final computing book was Basic Computing Adventures published in 1988 by Microsoft. The programs in it are fairly elegant in construction - no spaghetti code - and some of the efficient routing routines (think travelling salesman problem) from Subway Scavenger are being used today by Google Maps and some GPS mapping software. Which just goes to show that BASIC is an incredibly versatile language for all kinds of general purpose problem solving.”
Little Brick Out
Steve Wozniak explains Little Brick Out in Integer BASIC: “Once I put in commands for color and graphics, the first thing I wrote was Breakout - we called it Breakout at first. Then I put in a command that said if you type in command-Z it would automatically start playing, but never miss the ball - it would fake people into thinking they were playing it perfectly. I did this on my apartment floor, in Cupertino. I just remember the green rug, and the wires going into the TV set, and I called Steve Jobs over and showed him how I could quickly make one little change in my BASIC program and the bricks would all change color. And I could make another change, and the paddle would get bigger, or I could move the score to a different place. We knew that games would never be the same - I was shaking, because games were software finally. Not only software, but in easy-to-program BASIC. With hardware at Atari it was a very hard job, now I sat down and in half an hour I wrote Breakout with tons of options. I realised that if I did this in hardware it would have taken 10 years what it took me half an hour in software.”
Developed in just one month in 1983 for the Sharp X1 computer by Professor Hiroshi Ishikawa, who was only 16 at the time, this represents a spectacular achievement with Hudson’s BASIC compiler. It features distinct left and right facing sprites, three functionally diverse weapons, plus real-time damage to the level structure which results in emergent enemy behaviour. Unsurprisingly it was one of the 10 winners of that year’s programming competition held by Enix. Still astounding to play, even 30 years later.
Developed for the Sharp MZ-700 computer by Yutaka Isokawa in 1985, using only Hudson’s HuBASIC, this fun puzzler started out as a type-in listing for Oh!MZ magazine in Japan. It received some BASIC follow-ups by Isokawa and was eventually updated for the original GameBoy in 1990, being renamed Catrap (and is now available for download on 3DS). There were also several unofficial remakes and ports, for MBasic, DOS, GBA, plus a variety of official mobile phone upgrades. Isokawa maintained a lengthy career in games, recently being involved with Gundam titles. A detailed history of Pitman, along with source code, is available on Hardcore Gaming 101.
Portopia Renzoku Satsujin Jiken
Yuji Horii would later go on to helm each of the Dragon Quest RPGs, but this was his first big success. You play the role of a detective investigating a murder mystery. It was converted to almost every Japanese computer of the era, made easy by being in BASIC, and later was remade for Nintendo’s Famicom to become a best seller. Portopia is regularly listed by Japanese developers, including Hideo Kojima, as being one of their earliest influences - its similarities to Snatcher are easy to see.
Known as Mendel Palace for the NES in the west, this was the work of Satoshi Tajiri, best known for creating Pokémon. Although he would have needed a language more complex than BASIC to achieve what he did with the Famicom, his understanding of the hardware came from tinkering with Family Basic and then grafting circuit boards bought at Akihabara onto the machine’s components.
Given how many BASIC games there are for the ZX Spectrum, it’s difficult to choose just one. Considering Julian Gollop’s expansive career though, and the fact it spawned a series, it has to be this strategic combat game from 1984. A variety of single screen maps and surprising depth have made Rebelstar Raiders a well loved classic. Was followed by Rebelstar written in assembly language, though even its manual attests to Rebelstar Raiders’ BASIC origins.
An ingenious little text game requiring the player to travel through 64 quadrants of space hunting down Klingon ships, all while managing a limited number of years (turns) to accomplish the mission, along with finite supplies of photon torpedoes, shields and phaser energy. The Short and Long Range Scanning is well implemented despite being in ASCII. Ported across a variety of systems under various names, it was also included in David Ahl’s best-selling 101 BASIC Computer Games book, cementing its enormous popularity.
The follow-up to Akalabeth (also made in Applesoft BASIC and recently distributed with QB64), this was the start to Richard Garriot’s massively expansive RPG franchise. From this came numerous sequels (admittedly moving on to assembler language for the second), eventually leading up to the genre-defining Ultima Online. What’s especially interesting is that Garriot apparently developed 28 smaller Dungeons&Dragons-style games in BASIC before reaching this stage.