Robot Battle
Encyclopedia
- For the Apple Macintosh game of the same name, see Robot Battle (Macintosh game)Robot Battle (Macintosh game)Robot Battle is a programming game developed in 1991 by Blue Cow Software for the Apple Macintosh where players design and code adaptable battling robots. Its idea is similar to the newer Windows game of the same name...
.
Robot Battle is a programming game
Programming game
A programming game is a computer game where the player has no direct influence on the course of the game. Instead, a computer program or script is written in some domain-specific programming language in order to control the actions of the characters...
for Microsoft Windows
Microsoft Windows
Microsoft Windows is a series of operating systems produced by Microsoft.Microsoft introduced an operating environment named Windows on November 20, 1985 as an add-on to MS-DOS in response to the growing interest in graphical user interfaces . Microsoft Windows came to dominate the world's personal...
where players design and code adaptable battling robot
Robot
A robot is a mechanical or virtual intelligent agent that can perform tasks automatically or with guidance, typically by remote control. In practice a robot is usually an electro-mechanical machine that is guided by computer and electronic programming. Robots can be autonomous, semi-autonomous or...
s. Robot Battle takes strategy
Strategy
Strategy, a word of military origin, refers to a plan of action designed to achieve a particular goal. In military usage strategy is distinct from tactics, which are concerned with the conduct of an engagement, while strategy is concerned with how different engagements are linked...
rather than reflexes
Reflex action
A reflex action, also known as a reflex, is an involuntary and nearly instantaneous movement in response to a stimulus. A true reflex is a behavior which is mediated via the reflex arc; this does not apply to casual uses of the term 'reflex'.-See also:...
, accuracy, or timing to succeed. What differentiates one robot from the next is its programming
Artificial intelligence
Artificial intelligence is the intelligence of machines and the branch of computer science that aims to create it. AI textbooks define the field as "the study and design of intelligent agents" where an intelligent agent is a system that perceives its environment and takes actions that maximize its...
, for which the player is responsible. The game is inspired by the similar game RobotWar
RobotWar
RobotWar was a programming game written by Silas Warner. This game, along with the companion program RobotWrite, was originally developed in the TUTOR programming language language on the PLATO system in the 1970s. Later the game was commercialized and adapted for the Apple II family of computers...
.
History
Robot Battle was created by Brad Schick in 1994 and released to the public for free in the same year, when it reached version 1.2. It went through many versions until seeming to peak at 1.3 in 1995, until in 1997 David Finch released 1.33. The communityCommunity
The term community has two distinct meanings:*a group of interacting people, possibly living in close proximity, and often refers to a group that shares some common values, and is attributed with social cohesion within a shared geographical location, generally in social units larger than a household...
was at that time held together by the Robot Battle Mailing List
Mailing list
A mailing list is a collection of names and addresses used by an individual or an organization to send material to multiple recipients. The term is often extended to include the people subscribed to such a list, so the group of subscribers is referred to as "the mailing list", or simply "the...
(RBML) (which was closed in February 2004 when the Robot Battle Registry, an Internet forum
Internet forum
An Internet forum, or message board, is an online discussion site where people can hold conversations in the form of posted messages. They differ from chat rooms in that messages are at least temporarily archived...
, opened), where tournament
Tournament
A tournament is a competition involving a relatively large number of competitors, all participating in a sport or game. More specifically, the term may be used in either of two overlapping senses:...
s were held, new players could be helped and complicated coding
Computer programming
Computer programming is the process of designing, writing, testing, debugging, and maintaining the source code of computer programs. This source code is written in one or more programming languages. The purpose of programming is to create a program that performs specific operations or exhibits a...
questions could be posed and answered.
Early in 2001 Brad began work on Robot Battle 1.4, which promised to be a massive upgrade
Upgrade
The term upgrade refers to the replacement of a product with a newer version of the same product. It is most often used in computing and consumer electronics, generally meaning a replacement of hardware, software or firmware with a newer or better version, in order to bring the system up to date...
. The RBML was alive with ideas, suggestions and offers to help, which resulted in the Robot Battle that new players will know, including new features such as:
- 3D3D computer graphics3D computer graphics are graphics that use a three-dimensional representation of geometric data that is stored in the computer for the purposes of performing calculations and rendering 2D images...
robot graphics (created by Emmanuel Athans - http://www.manopolis.com/) - New sound effects (created by Steve Simmons)
- New robot coding features
- Sliding (originally a bug, but now an important feature for many robotRobotA robot is a mechanical or virtual intelligent agent that can perform tasks automatically or with guidance, typically by remote control. In practice a robot is usually an electro-mechanical machine that is guided by computer and electronic programming. Robots can be autonomous, semi-autonomous or...
s) - XY Coordinates
- Radio
- AuthorAuthorAn author is broadly defined as "the person who originates or gives existence to anything" and that authorship determines responsibility for what is created. Narrowly defined, an author is the originator of any written work.-Legal significance:...
and Version variables - Arrays
- LoopsControl flowIn computer science, control flow refers to the order in which the individual statements, instructions, or function calls of an imperative or a declarative program are executed or evaluated....
- Sliding (originally a bug, but now an important feature for many robot
- TeamTeamA team comprises a group of people or animals linked in a common purpose. Teams are especially appropriate for conducting tasks that are high in complexity and have many interdependent subtasks.A group in itself does not necessarily constitute a team...
setup options
Then in mid 2001 a small company called GarageGames
GarageGames
GarageGames is located in Las Vegas, Nevada, USA, where it was moved after being acquired by IAC in 2007. As the makers of Torque game development technology, they have provided cross-platform technology and tools since 2000...
showed an interest in Robot Battle and Brad agreed to sell the game through them. Soon after the first official 1.4 release in December 2002 work began on the Robot Battle Registry, a forum
Internet forum
An Internet forum, or message board, is an online discussion site where people can hold conversations in the form of posted messages. They differ from chat rooms in that messages are at least temporarily archived...
and a way of storing robots so that other people can download them, as well as a way to organise and advertise tournaments. The registry opened in May 2003.
Robot Battle has a steadily growing user base with communications over the Registry forums and IRC
Internet Relay Chat
Internet Relay Chat is a protocol for real-time Internet text messaging or synchronous conferencing. It is mainly designed for group communication in discussion forums, called channels, but also allows one-to-one communication via private message as well as chat and data transfer, including file...
. At first the Registry was only available for people who had purchased the game but it has since been opened up to anybody.
Robot Battle is distributed under the MPL
Mozilla Public License
The Mozilla Public License is a free and open source software license. Version 1.0 was developed by Mitchell Baker when she worked as a lawyer at Netscape Communications Corporation and version 1.1 at the Mozilla Foundation...
open source
Open source
The term open source describes practices in production and development that promote access to the end product's source materials. Some consider open source a philosophy, others consider it a pragmatic methodology...
license
License
The verb license or grant licence means to give permission. The noun license or licence refers to that permission as well as to the document recording that permission.A license may be granted by a party to another party as an element of an agreement...
, allowing anybody to read the code to help design robots or programs which interact with the game somehow.
The Robot Battle full version was published for free on November 23, 2004.
The Robot
The robots in Robot Battle have three separate parts. The body contains the tracks, is a squareSquare (geometry)
In geometry, a square is a regular quadrilateral. This means that it has four equal sides and four equal angles...
size 33x33, and rotates at a speed of 5 degree
Degree (angle)
A degree , usually denoted by ° , is a measurement of plane angle, representing 1⁄360 of a full rotation; one degree is equivalent to π/180 radians...
s per turn. The gun has the ability to shoot energy missile
Missile
Though a missile may be any thrown or launched object, it colloquially almost always refers to a self-propelled guided weapon system.-Etymology:The word missile comes from the Latin verb mittere, meaning "to send"...
s which will damage robots, and destroy missiles, mines and cookies on collision, and can rotate 10 degrees per turn. The radar
Radar
Radar is an object-detection system which uses radio waves to determine the range, altitude, direction, or speed of objects. It can be used to detect aircraft, ships, spacecraft, guided missiles, motor vehicles, weather formations, and terrain. The radar dish or antenna transmits pulses of radio...
has the ability to scan for cookies, mines
Land mine
A land mine is usually a weight-triggered explosive device which is intended to damage a target—either human or inanimate—by means of a blast and/or fragment impact....
, robots, and walls, and can rotate 15 degrees per turn.
Robot scripting language
Robots are codedComputer programming
Computer programming is the process of designing, writing, testing, debugging, and maintaining the source code of computer programs. This source code is written in one or more programming languages. The purpose of programming is to create a program that performs specific operations or exhibits a...
in Robot Scripting Language (RSL), and can be created in all text editor
Text editor
A text editor is a type of program used for editing plain text files.Text editors are often provided with operating systems or software development packages, and can be used to change configuration files and programming language source code....
s such as Notepad. Robots are usually worked on and distributed in .prg format, but some coders choose to scramble their robots and distribute them as .dst files. The scrambling software was created by Brad for Robot Battle 1.3 and later edited by Joseph Fowler (aka Sorcerer) and Mark Duller to give two separate programs both compatible with Robot Battle 1.4.
RSL has been said to resemble many programming languages including Basic, C
C (programming language)
C is a general-purpose computer programming language developed between 1969 and 1973 by Dennis Ritchie at the Bell Telephone Laboratories for use with the Unix operating system....
, and JavaScript
JavaScript
JavaScript is a prototype-based scripting language that is dynamic, weakly typed and has first-class functions. It is a multi-paradigm language, supporting object-oriented, imperative, and functional programming styles....
. Each robot has one or many sections, separated by section names and curly brackets, "init" being the only required section and where other sections are defined by an event
Event-driven programming
In computer programming, event-driven programming or event-based programming is a programming paradigm in which the flow of the program is determined by events—i.e., sensor outputs or user actions or messages from other programs or threads.Event-driven programming can also be defined as an...
and a priority.
The Core section does not need a priority, and contains the details of what the robot will do when it isn't doing anything else. The Ascan, when used, usually has the lowest priority (least important) and takes place whenever the robot is moving. The other events take place when an object is detected with the radar or collided with by the body.
The parts of the robot are controlled by commands
Command (computing)
In computing, a command is a directive to a computer program acting as an interpreter of some kind, in order to perform a specific task. Most commonly a command is a directive to some kind of command line interface, such as a shell....
.
The easiest way to make a robot is to look at the ones which come free with the game, Combo, Smart Corner, Events, Fire, Rammer, Shell, Side Liner, Target, Walls II and Zag. These robots demonstrate uses of the simple commands above, as well as some more advanced tactics such as the use of radio and the differences when creating a robot with "command blocking" turned off.