''Donkey'', often known by its
filename
A filename or file name is a name used to uniquely identify a computer file in a directory structure. Different file systems impose different restrictions on filename lengths.
A filename may (depending on the file system) include:
* name &nda ...
''DONKEY.BAS'', is a
video game
Video games, also known as computer games, are electronic games that involves interaction with a user interface or input device such as a joystick, game controller, controller, computer keyboard, keyboard, or motion sensing device to gener ...
written in 1981, and included with early versions of the
IBM PC DOS
IBM PC DOS, an acronym for IBM Personal Computer Disk Operating System, is a discontinued disk operating system for IBM PC compatibles. It was manufactured and sold by IBM from the early 1980s into the 2000s. Developed by Microsoft, it was als ...
operating system
An operating system (OS) is system software that manages computer hardware, software resources, and provides common daemon (computing), services for computer programs.
Time-sharing operating systems scheduler (computing), schedule tasks for ef ...
distributed with the original
IBM PC
The IBM Personal Computer (model 5150, commonly known as the IBM PC) is the first microcomputer released in the IBM PC model line and the basis for the IBM PC compatible de facto standard. Released on August 12, 1981, it was created by a tea ...
. It is a top-down
driving game in which the player must avoid hitting
donkeys. The game was written by
Microsoft
Microsoft Corporation is an American multinational corporation, multinational technology company, technology corporation producing Software, computer software, consumer electronics, personal computers, and related services headquartered at th ...
co-founder
Bill Gates
William Henry Gates III (born October 28, 1955) is an American business magnate and philanthropist. He is a co-founder of Microsoft, along with his late childhood friend Paul Allen. During his career at Microsoft, Gates held the positions ...
and early employee
Neil Konzen.
Although on the game's title screen it is simply named ''Donkey'', it is often referred to by its filename of ''DONKEY.BAS''. All BASIC programs used the ".BAS"
extension
Extension, extend or extended may refer to:
Mathematics
Logic or set theory
* Axiom of extensionality
* Extensible cardinal
* Extension (model theory)
* Extension (predicate logic), the set of tuples of values that satisfy the predicate
* Ext ...
, and MS-DOS compatible operating systems that came before
Windows 95
Windows 95 is a consumer-oriented operating system developed by Microsoft as part of its Windows 9x family of operating systems. The first operating system in the 9x family, it is the successor to Windows 3.1x, and was released to manufactu ...
display file names in
upper case
Letter case is the distinction between the letters that are in larger uppercase or capitals (or more formally ''majuscule'') and smaller lowercase (or more formally ''minuscule'') in the written representation of certain languages. The writin ...
. These conventions are often maintained when the game is referred to in writing.
Gameplay
''DONKEY.BAS'' is a simple
driving game in which the
player
Player may refer to:
Role or adjective
* Player (game), a participant in a game or sport
** Gamer, a player in video and tabletop games
** Athlete, a player in sports
** Player character, a character in a video game or role playing game who is ...
controls a car but cannot steer, accelerate or brake, only changing lanes to avoid a series of
donkeys on the road. There is no goal other than to avoid donkeys.
The game uses the
CGA display mode, the only colour graphics mode available on the original IBM PC. The mode allows four colours but in ''DONKEY.BAS'' there are usually only three on screen.
The center of the screen shows a vertical
scrolling
In computer displays, filmmaking, television production, and other kinetic displays, scrolling is sliding text, images or video across a monitor or display, vertically or horizontally. "Scrolling," as such, does not change the layout of the tex ...
road with two lanes; the areas either side of the road are used for
scores and instructions. The player's car is driving up the road and every few seconds a donkey will appear at random on one side of the road at the top of the screen. As the donkey moves down the screen, the player can press the
space bar
The space bar is on the bottom center of the keyboard
The space bar, spacebar, blank, or space key is a key on a typewriter or alphanumeric keyboard in the form of a horizontal bar in the lowermost row, significantly wider than all other keys ...
to switch between lanes to avoid the donkey. If the car hits the donkey, both car and donkey explode, and parts of the graphics are scattered to the four corners of the screen to the sound of a short
monophonic
Monaural or monophonic sound reproduction (often shortened to mono) is sound intended to be heard as if it were emanating from one position. This contrasts with stereophonic sound or ''stereo'', which uses two separate audio channels to reproduc ...
tune played through the
PC speaker
A PC speaker is a loudspeaker built into some IBM PC compatible computers. The first IBM Personal Computer, model 5150, employed a standard 2.25 inch magnetic driven (dynamic) speaker. More recent computers use a tiny moving-iron or pie ...
, with the word "BOOM!" displayed on the left side of the screen. If the player avoids the donkey, it will scroll off the bottom of the screen, with the words "Donkey loses!" displayed on the right side of the screen, and after a few seconds another will appear. There is never more than one donkey on the screen at any one time.
The game keeps score between the player and the donkeys. If the car hits a donkey, the donkey gets a point and the player is returned to the start of the road. As the car avoids donkeys, it moves slowly up the screen, giving the player less time to react when donkeys appear. If the car avoids enough donkeys, the player receives a point and the car is moved back to the bottom of the road. The game displays the number of points earned by the player and donkey, but does not end or change when a particular score is reached.
The
Esc key
On computer keyboards, the Esc key (named ''Escape key'' in the international standard series ISO/IEC 9995) is a key used to generate the escape character (which can be represented as ASCII code 27 in decimal, Unicode U+001B, or ). The esca ...
quits the game.
Sprites are rendered slightly differently between the QBasic interpreter and the original IBM BASICA/GW-BASIC interpreter.
Development

When
IBM was developing its
personal computer
A personal computer (PC) is a multi-purpose microcomputer whose size, capabilities, and price make it feasible for individual use. Personal computers are intended to be operated directly by an end user, rather than by a computer expert or tech ...
in the late 1970s and early 1980, it contracted Microsoft to develop an operating system and a version of the
BASIC
BASIC (Beginners' All-purpose Symbolic Instruction Code) is a family of general-purpose, high-level programming languages designed for ease of use. The original version was created by John G. Kemeny and Thomas E. Kurtz at Dartmouth College ...
programming language to release with the new computer. The operating system was released as
IBM PC DOS
IBM PC DOS, an acronym for IBM Personal Computer Disk Operating System, is a discontinued disk operating system for IBM PC compatibles. It was manufactured and sold by IBM from the early 1980s into the 2000s. Developed by Microsoft, it was als ...
when included with IBM PCs and
MS-DOS
MS-DOS ( ; acronym for Microsoft Disk Operating System, also known as Microsoft DOS) is an operating system for x86-based personal computers mostly developed by Microsoft. Collectively, MS-DOS, its rebranding as IBM PC DOS, and a few oper ...
when sold separately by Microsoft. Both included versions of
Microsoft BASIC
Microsoft BASIC is the foundation software product of the Microsoft company and evolved into a line of BASIC interpreters and compiler(s) adapted for many different microcomputers. It first appeared in 1975 as Altair BASIC, which was the first ...
.
''DONKEY.BAS'' was written by
Bill Gates
William Henry Gates III (born October 28, 1955) is an American business magnate and philanthropist. He is a co-founder of Microsoft, along with his late childhood friend Paul Allen. During his career at Microsoft, Gates held the positions ...
and
Neil Konzen to demonstrate the IBM PC and the BASIC programming language's capability to produce interactive programs with color
graphics
Graphics () are visual images or designs on some surface, such as a wall, canvas, screen, paper, or stone, to inform, illustrate, or entertain. In contemporary usage, it includes a pictorial representation of data, as in design and manufacture, ...
and
sound
In physics, sound is a vibration that propagates as an acoustic wave, through a transmission medium such as a gas, liquid or solid.
In human physiology and psychology, sound is the ''reception'' of such waves and their ''perception'' by ...
. The game continues to generate interest, in part because of the involvement of Gates at a time when Microsoft was relatively small and only six years old. According to a speech delivered by Gates in 2001:
Apple
An apple is an edible fruit produced by an apple tree (''Malus domestica''). Apple trees are cultivated worldwide and are the most widely grown species in the genus '' Malus''. The tree originated in Central Asia, where its wild ances ...
's
Andy Hertzfeld
Andrew Jay Hertzfeld (born April 6, 1953) is an American software engineer and innovator who was a member of the original Apple Macintosh development team during the 1980s. After buying an Apple II in January 1978, he went to work for Appl ...
mentioned the game in a description of the Macintosh team's reaction to the 1981 IBM PC purchased for them by Steve Jobs "to dissect and evaluate," noting that the new computer shipped with "some games written in BASIC that were especially embarrassing:"
The first version of ''DONKEY.BAS'' was released in 1981, followed by version 1.10 in 1982. The operating systems with which the game was first distributed still work on modern computers with compatible
BIOS
In computing, BIOS (, ; Basic Input/Output System, also known as the System BIOS, ROM BIOS, BIOS ROM or PC BIOS) is firmware used to provide runtime services for operating systems and programs and to perform hardware initialization during the ...
and 5.25-inch floppy drives; however,
IBM BASICA which ran the program under PC DOS 1.x requires
ROM-based
IBM Cassette BASIC, which modern computers do not have. The
source code
In computing, source code, or simply code, is any collection of code, with or without comment (computer programming), comments, written using a human-readable programming language, usually as plain text. The source code of a Computer program, p ...
is still available. The game may be played with the
GW-BASIC
GW-BASIC is a dialect of the BASIC programming language developed by Microsoft from IBM BASICA. Functionally identical to BASICA, its BASIC interpreter is a fully self-contained executable and does not need the Cassette BASIC ROM found in the ori ...
(original code) or
QBasic (adapted code) interpreters or in
compiled form (see "
external links
An internal link is a type of hyperlink on a web page to another page or resource, such as an image or document, on the same website or domain name, domain.
Hyperlinks are considered either "external" or "internal" depending on their target or ...
" below).
Legacy
As a programming example for the new
platform and
Visual Basic Visual Basic is a name for a family of programming languages from Microsoft. It may refer to:
* Visual Basic .NET (now simply referred to as "Visual Basic"), the current version of Visual Basic launched in 2002 which runs on .NET
* Visual Basic ( ...
programming language, in 2001 Microsoft developed a game called in
homage to ''DONKEY.BAS''. It is a three-dimensional driving game in which the aim is to hit donkeys. The game demonstrates to programmers how a application can be structured and how to use various features of the platform.
iPhone and iPad
There is also a recreation of DONKEY.BAS for Apple's
iOS. The app named DONKEY.BAS is compatible with
iPhone,
iPad
The iPad is a brand of iOS and iPadOS-based tablet computers that are developed by Apple Inc. The iPad was conceived before the related iPhone but the iPhone was developed and released first. Speculation about the development, operati ...
and
iPod Touch
The iPod Touch (stylized as iPod touch) is a discontinued line of iOS-based mobile devices designed and marketed by Apple Inc. with a touchscreen-controlled user interface. As with other iPod models, the iPod Touch can be used as a music pl ...
. Unlike the original game, the iOS game ends when the player hits the donkey 5 times. The game is more challenging as the downward speed of the donkey increases as the player wins more points. The app was released in the
iTunes App Store on January 27, 2012.
Apple Watch and Apple TV
On Jan 13, 2017, DONKEY.BAS was reinvented for
Apple Watch
Apple Watch is a line of smartwatches produced by Apple Inc. It incorporates fitness tracking, health-oriented capabilities, and wireless telecommunication, and integrates with iOS and other Apple products and services. The Apple Watch was ...
. The new game, DONKEY.APP, requires watchOS 3 and uses the new SpriteKit and Digital Crown APIs. It features simple one-turn game control on the Apple Watch. Players turn the Digital Crown to switch lanes.
The game DONKEY.APP was updated on March 5, 2020 to add gameplay for
Apple TV
An apple is an edible fruit produced by an apple tree (''Malus domestica''). Apple trees are cultivated worldwide and are the most widely grown species in the genus '' Malus''. The tree originated in Central Asia, where its wild ancestor, ...
. It supports Apple TV 4K and
tvOS
tvOS (formerly known as Apple TV Software) is an operating system developed by Apple Inc. for the Apple TV, a digital media player. In the first-generation Apple TV, Apple TV Software was based on Mac OS X. Starting with the second-generatio ...
Focus Engine. Players use the Apple TV Remote for one-touch gameplay.
See also
*
GORILLA.BAS
*
NIBBLES.BAS
References
External links
*
Speech in which Bill Gates and Ari Bixhorn discuss ''DONKEY.BAS'' and ''Donkey .NET''Story about Macintosh developers discovering ''DONKEY.BAS''''DONKEY.BAS'' executable, a compiled version of the above source code that can be executed on
Windows
Windows is a group of several proprietary graphical operating system families developed and marketed by Microsoft. Each family caters to a certain sector of the computing industry. For example, Windows NT for consumers, Windows Server for ...
PCs without an interpreter.
''Donkey .NET'' downloadfrom Microsoft.
An implementation of ''DONKEY.BAS''for the Picaxe microcontroller.
Article on ''Donkey.bas'' with animation showing program runningDONKEY.GB on PigaLore, the Piga Software WikiAn implementation of ''DONKEY.BAS''for Windows Phone.
DONKEY.BAS for iPhone and iPadDONKEY.BAS for Windows 8 in the Windows StoreDONKEY.APP for iPhone, Apple Watch and Apple TV
{{Microsoft FOSS
1981 video games
BASIC software
Commercial video games with freely available source code
DOS games
IOS games
Linux games
Microsoft games
Video games developed in the United States
Windows games
Works by Bill Gates
Single-player video games
DOS files