DONKEY.BAS
   HOME

TheInfoList



OR:

''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 &ndas ...
''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, controller, keyboard, or motion sensing device to generate visual feedback. This fee ...
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 also ...
operating system An operating system (OS) is system software that manages computer hardware, software resources, and provides common services for computer programs. Time-sharing operating systems schedule tasks for efficient use of the system and may also in ...
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 team ...
. It is a top-down
driving game Racing games are a video game genre in which the player participates in a racing competition. They may be based on anything from real-world racing leagues to fantastical settings. They are distributed along a spectrum between more realistic rac ...
in which the player must avoid hitting
donkey The domestic donkey is a hoofed mammal in the family Equidae, the same family as the horse. It derives from the African wild ass, ''Equus africanus'', and may be classified either as a subspecies thereof, ''Equus africanus asinus'', or as a ...
s. The game was written by
Microsoft Microsoft Corporation is an American multinational technology corporation producing computer software, consumer electronics, personal computers, and related services headquartered at the Microsoft Redmond campus located in Redmond, Washing ...
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 Neil Konzen is a computer programmer who formerly worked for Microsoft as one of its earliest employees. He was the systems programmer of Microsoft's Macintosh programs projects, including MultiPlan and Word for the Mac in 1984. He was later tasked ...
. 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 * E ...
, 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 manufacturin ...
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 writing ...
. These conventions are often maintained when the game is referred to in writing.


Gameplay

''DONKEY.BAS'' is a simple
driving game Racing games are a video game genre in which the player participates in a racing competition. They may be based on anything from real-world racing leagues to fantastical settings. They are distributed along a spectrum between more realistic rac ...
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
donkey The domestic donkey is a hoofed mammal in the family Equidae, the same family as the horse. It derives from the African wild ass, ''Equus africanus'', and may be classified either as a subspecies thereof, ''Equus africanus asinus'', or as a ...
s 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 text ...
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 escape ...
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 tec ...
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 also ...
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 ope ...
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 ve ...
. ''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 Neil Konzen is a computer programmer who formerly worked for Microsoft as one of its earliest employees. He was the systems programmer of Microsoft's Macintosh programs projects, including MultiPlan and Word for the Mac in 1984. He was later tasked ...
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 ...
. 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 fruit tree, trees are agriculture, cultivated worldwide and are the most widely grown species in the genus ''Malus''. The tree originated in Central Asia, wh ...
'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 Apple ...
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 Rom, or ROM may refer to: Biomechanics and medicine * Risk of mortality, a medical classification to estimate the likelihood of death for a patient * Rupture of membranes, a term used during pregnancy to describe a rupture of the amniotic sac * ...
-based
IBM Cassette BASIC The IBM Personal Computer Basic, commonly shortened to IBM BASIC, is a programming language first released by IBM with the IBM Personal Computer, Model 5150 (IBM PC) in 1981. IBM released four different versions of the Microsoft BASIC interpre ...
, which modern computers do not have. The
source code In computing, source code, or simply code, is any collection of code, with or without comments, written using a human-readable programming language, usually as plain text. The source code of a program is specially designed to facilitate the wo ...
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 or ...
(original code) or
QBasic QBasic is an integrated development environment (IDE) and interpreter for a variety of dialects of BASIC which are based on QuickBASIC. Code entered into the IDE is compiled to an intermediate representation (IR), and this IR is immediately e ...
(adapted code) interpreters or in
compiled In computing, a compiler is a computer program that translates computer code written in one programming language (the ''source'' language) into another language (the ''target'' language). The name "compiler" is primarily used for programs that ...
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. Hyperlinks are considered either "external" or "internal" depending on their target or destination ...
" 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 (cl ...
programming language, in 2001 Microsoft developed a game called in
homage Homage (Old English) or Hommage (French) may refer to: History *Homage (feudal) /ˈhɒmɪdʒ/, the medieval oath of allegiance *Commendation ceremony, medieval homage ceremony Arts *Homage (arts) /oʊˈmɑʒ/, an allusion or imitation by one arti ...
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 iOS (formerly iPhone OS) is a mobile operating system created and developed by Apple Inc. exclusively for its hardware. It is the operating system that powers many of the company's mobile devices, including the iPhone; the term also includes ...
. 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, operating s ...
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 iTunes () is a software program that acts as a media player, media library, mobile device management utility, and the client app for the iTunes Store. Developed by Apple Inc., it is used to purchase, play, download, and organize digital mul ...
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 rel ...
. 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 fruit tree, trees are agriculture, cultivated worldwide and are the most widely grown species in the genus ''Malus''. The tree originated in Central Asia, wh ...
. 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-generation ...
Focus Engine. Players use the Apple TV Remote for one-touch gameplay.


See also

* GORILLA.BAS *
NIBBLES.BAS ''Nibbles'', also known by the source code's file name ''NIBBLES.BAS'', is a variant of the Snake (video game), snake video game concept used to demonstrate the QBasic programming language. ''Nibbles'' was written in QBasic by Rick Raddatz, who la ...


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 serv ...
PCs without an interpreter.
''Donkey .NET'' download
from Microsoft.
An implementation of ''DONKEY.BAS''
for the Picaxe microcontroller.
Article on ''Donkey.bas'' with animation showing program running

DONKEY.GB on PigaLore, the Piga Software Wiki

An implementation of ''DONKEY.BAS''
for Windows Phone.
DONKEY.BAS for iPhone and iPad

DONKEY.BAS for Windows 8 in the Windows Store

DONKEY.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