Randy Linden


Randal N. Linden is a Canadian computer programmer known for his intricate work in re-implementing video game titles, as well as for creating emulators. His works include several notable video game re-implementations, approaches to emulation, code recompilation and optimization techniques, and programming practices.
Embarking on programming as a hobby in the early eighties, Linden soon moved into professional development. His early work included developing commercial video game titles and application software for the Commodore 64, Commodore 128, and Amiga. In 1989, six years into his programming activities, he created a version of Dragon's Lair for the Amiga. This was notable for being the first video game to feature full-screen animation and audio streaming from floppy disks on a home computer. Linden subsequently entered console game development, earning widespread recognition for his version of Doom for the Super NES, successfully bridging the significant gap in computing power between the Super NES and the recommended system requirements of the PC version of the video game.
Linden is also recognized for creating bleem!, a PlayStation emulator designed for Microsoft Windows, along with a Dreamcast version, bleemcast!, the latter co-written with Roderick Maher. His portfolio also includes Cyboid, a first-person shooter video game influenced by Quake II, for Android, Amazon Fire and Symbian devices. He also played a significant role at Microsoft, working on products such as the Xbox 360, Kinect, and Microsoft Band. Currently, he is employed at Limited Run Games.

Early life

Linden was first introduced to computers in the late seventies, when his school acquired a Commodore PET 4032, offering students the opportunity to schedule time with the machine for the purpose of programming education. He started programming in 1981, when, at the age of 11, he wrote his inaugural computer program in BASIC. Two years later, in 1983, him mother gave him a Commodore 64 package for his birthday, complete with a monitor and a desk. It was during that time that he wrote his first 6502 assembly program. The same year marked Linden's entry into game development, when he created a video game called Barriers for the Commodore PET, which has not been released. At that time, he noticed that the Space Invaders clone he was playing had been created by programmer Jim Butterfield, who also lived in Toronto. He sifted through a phone book, located Butterfield's contact details, and reached out to him. The conversation that ensued, with Butterfield generously answering young Linden's questions, profoundly shaped Linden's future approach and professional trajectory.

Career

Early career

Linden's first professionally published video game was Bubbles, a clone of Centipede for the Commodore 64, released when he was 13 years old. The game was brought to market by Syntax Software, a Toronto-based startup owned by Randy Lyons. After reaching out to Lyons about publishing Bubbles and serving as a part-time programmer at Syntax Software for some time, the company agreed to publish Linden's game.

Application software

Linden also developed application software, including a database application for the Commodore 64 and 128. Initially named "Paperback Filer" and published by Digital Solutions, the software was later renamed "Pocket Filer."

The 64 Emulator

In 1988, Linden created a Commodore 64 emulator for the Amiga, named "The 64 Emulator." This emulator, co-written with David Foster and published by ReadySoft, might have been the first of its kind to be commercially available. Focusing on accuracy rather than speed, it utilized interpretative emulation techniques. The emulator's design, which included support for connecting Commodore 1541, Commodore 1571, and Commodore 1581 floppy disk drives to an Amiga via a specially designed parallel port cable, enabled it to faithfully recreate the Commodore 64 system environment, facilitating the accurate execution of Commodore 64 software on the Amiga. Notably, the retail units of said parallel port cable were hand-assembled by enthusiasts in a Toronto basement. A successor of the emulator was released under the title "The 64 Emulator 2."

Visionary Design Technologies

In 1988, Linden established Visionary Design Technologies in his mother's basement. The company's debut product was an Amiga version of the fantasy-themed video game Dragon's Lair, which set a precedent as the first video game to implement full-screen animation and audio streaming from floppy disks on a home computer.

''Dragon's Lair'' for Amiga

Dragon's Lair is a fantasy video game and the first entry in the eponymous video game franchise, created by Rick Dyer, Don Bluth, Gary Goldman, and John Pomeroy. Initially launched as an arcade title on LaserDisc media by Cinematronics in 1983, Dragon's Lair made an impression on Linden, who then aspired to create a version of the video game for the Amiga. True to his characteristic approach, Linden recreated the entire game logic for the Amiga version, encompassing interactivity, animation, and audio playback, from the ground up, making Dragon's Lair for Amiga not a "port," but rather a completely new software rendition of the video game. Given this context, the development of the Amiga version of Dragon's Lair necessitated that Linden capture and digitize all of the animation sequences found in the LaserDisc media of the arcade version. To that end, he employed a digitizer from SunRize Industries. After contacting them to discuss his project, SunRize Industries supplied Linden with a prototype of an advanced version of their digitizer that obviated the need for repeated passes using color filters. SunRize Industries was founded by Anthony Wood, who would later found Roku, Inc.
Published by ReadySoft, Dragon's Lair for Amiga was released in 1989.
In interviews given later, video game designer and programmer Éric Chahi noted that Linden's work on Dragon's Lair for Amiga served as an inspiration to him while implementing graphics in Another World.
WCS memory reuse technique
Dragon's Lair for Amiga also introduced a novel technique that allowed the game to operate on the Amiga 1000, which had only 512K of RAM, despite the game itself necessitating 768K. In addition to its main 512K of RAM, the Amiga 1000 features a modest bootstrap requiring the "Kickstart" floppy disk to be loaded. This disk holds a 256K bootloader that is loaded into RAM, occupying what is known as the writable control store. Once Kickstart has been loaded into the WCS, a hardware register is set, turning the memory read-only until the machine is cold-booted again. To utilize the WCS memory as RAM, a reset is therefore necessary. Linden implemented a "soft-reset" to restart the bootstrap process, causing it to begin executing, but with a key distinction: this time, the initialization logic is skipped, effectively transferring control directly to Linden's game loader. This innovative approach enabled Dragon's Lair to run on a standard Amiga 1000 by combining its 512K of RAM with the additional 256K from the WCS, totaling 768K. Conversely, the Amiga 500 required a memory upgrade to run Dragon's Lair, as it came with only 512K of RAM and lacked the WCS.

Other video games

Visionary Design Technologies also published video games created by other developers. The Amiga video game Vortex, developed by Anselm "Andy" Hook, was published by the company in 1989. That same year, Visionary Design Technologies published another Amiga video game, Datastorm, developed by Søren Grønbech, with music composed by Timm Engels.

Subsequent work

After the release of Dragon's Lair, Linden developed the Amiga version of Dragon's Lair: Escape from Singe's Castle, published by Bethesda Softworks in 1990. This game featured levels not found in Dragon's Lair, along with new content. It featured the capability to pair with the original Dragon's Lair for Amiga video game, enabling the transfer of the game to a hard disk drive for quicker loading times and eliminating the need for floppy disk swapping.
During his tenure at Bethesda Softworks, Linden also worked on porting the PC game Wayne Gretzky Hockey to the NES. This was published in January 1991. He then collaborated with programmer Paul Coletta on developing Home Alone and Where's Waldo? for the NES, with Julian Lefay composing the music for the latter. Published by THQ and Bethesda Softworks respectively, neither game fared well critically.

Employment at Sculptured Software

Linden joined Sculptured Software in 1994 as a Super NES video game developer, later shifting his focus to development tools. During this period, he attended a conference aimed at Nintendo developers, where he was introduced to Argonaut Games' Super FX co-processor and witnessed its potential through a demonstration of Star Fox, a title that utilized the chip. Sculptured Software, impressed by the chip's capabilities, decided to develop its own Super FX-based video game. This was Dirt Trax FX, with John Morgan serving as its programmer.
In an interview with Software Engineering Daily, Linden noted that when his team began development on Dirt Trax FX, there were no existing Super FX development tools available to them. To overcome this hurdle, he was assigned to build a proprietary development system from the ground up, including an assembler, linker, and debugger, all of which were essential for programming on the Super FX chip. This allowed Sculptured Software to move forward with the development of Dirt Trax FX.

''Doom'' for the Super NES

Linden's inspiration to bring the technically demanding PC game Doom to the Super NES came following his experience at the previously mentioned Nintendo developer conference. This experience solidified his belief in the practicality of using the Super FX chip to develop a Super NES version of the game. Further motivated by watching his colleagues play Doom in deathmatch mode, he took the initiative to independently develop a Super NES version of the game, presenting it to Sculptured Software only after creating a functional demo. Recognizing its potential, Sculptured Software secured permission from id Software and assigned a team to the project, aiming for a release in time for the holiday season. During development, Linden made use of the development system he had created for the production of Dirt Trax FX. He used an Amiga computer for programming, adapting Super NES game controllers for use with the machine and employing a disassembled Star Fox cartridge to gain access to the Super FX chip. Linden did not have access to the source code of the PC version of Doom, making the Super NES version not a "port" in the technical sense but rather a programming effort undertaken ab initio. In the same vein, the Super NES version of Doom does not utilize the "id Tech 1" engine found in the PC version; instead, it runs on the "Reality Engine," a specialized game engine developed ad-hoc by Linden in 65816 and Super FX assembly.
"DOOM-FX," as it came to be known, is often referred to as an "impossible port" ; the Super NES, even with the enhancement provided by the second-generation Super FX co-processor – a 21.4 MHz RISC chip – still fell significantly short of the PC version's recommended requirements, which were a 80486 processor, 4MB of RAM, and a VGA graphics card.
In North America, the Super NES version of Doom was released on September 1, 1995, published by Williams Entertainment. Ocean Software published the game in Europe, where it was released on October 26, 1995. In Japan, the game was brought to market by Imagineer and released on March 1, 1996.
More than twenty years later, Linden expressed in an interview his enthusiasm for undertaking projects such as the version of Doom for the Super NES, a reflection of his career-long trend. While he did not mention the title specifically, he emphasized his fondness for engaging in technical projects widely regarded as insurmountable, stating that he " technical projects and programming challenges that people think are impossible to accomplish." In a separate interview conducted by Nintendo Life, a website dedicated to Nintendo news and reviews, Linden noted that " creating an "impossible port," like I did when I created DOOM for the Super NES, is one of those challenges that you just know in the back of your mind, if you push hard enough, it's sort of like the little engine that could. You just have to keep pushing, and eventually you'll end up at the top of the peak."