Grobots is an open source programming game. Users (known in the community as designers) create virtual robots to compete against each other and collect biomass using built-in hardware and instructions. It is free software licensed under the GNU GPL. The first version was created in January 1996 by Devon Schudy.
Grobots was most immediately inspired by RoboWar. The first mention of it is just after some RoboWar math in one of Devon's notebooks. Many of the details come from two other programming games, 'bot and Genesis. We encountered 'bot before RoboWar, although it is actually a few years more recent (1991-2), and was itself presumably inspired by RoboWar. Grobots' hardware more closely resembles that of 'bot than RoboWar. Genesis was a game (with an alife element) of programming cells which reproduced, which is where we got that idea. (Has anyone heard anything about 'bot or Genesis in the last five years?)
Both the name and the basic design date back to January 1996. The first design had many extraneous features; the history of Grobots since has been a struggle to simplify without losing the (imagined) feel of the game. (This is usual; most designs start out complicated and only later, if ever, achieve simplicity.) Frequently alternate versions would split off, and rivalry between them would force simplifications that would otherwise not have been made. [Someday Devon should go through old drawing books and transcribe the history of the design. The ways it changed may be illuminating.]
The present implementation was started in January 2000, but work was sporadic. It was ten months before the first robots fought, and fifteen more before all the basic features were done. Some features were removed because they were too hard to implement, and others (such as sensors) were changed drastically. Experience with the implementation caused more changes (sensors again, explosions and force fields, shields). The feel of the game remains close to what we imagined seven years ago. Only some multicellular organism and ecosystem aspects have been lost. The first alpha release was in March 2002. Matt sent us Gnats and Megadont, the first user sides, a month later. The latter was the first of many user sides that exploited imbalances. Cells aren't supposed to be large or aggressive, but how were users supposed to know that?
We released the source in November 2002. Headless mode was added in August 2005. The full UI was ported to Windows in November 2005. Between then and 2012 there was very little activity on the mailing lists.
In late March 2012, the Grobots Wikia was created to facilitate the collaboration and community aspects of the game. Although others had tried to create similar wikis before at Wikispaces and Sourceforge, they had been largely unsuccessful. Later that year the first tournaments for several years were publicized and additional tournament tools, such as lukelavalley's Python wrapper, were released. Long overdue improvements to the client were added and overall activity picked up for a short time.
Grobots is a programming game in which robots capable of reproducing compete to survive each other's presence. They are limited by energy, which can be obtained (and spent) in a variety of ways, and by their hardware, which restricts what each robot can do. Robots can move, sense, think, eat, reproduce, communicate, fight, and die - all without human intervention.
Sometimes Grobots seems more biological than mechanical. This is deliberate. You can think of robots as cells if you want; we often do. Note, however, that there is no genetic variation and therefore no evolution; this is not artificial life. A side is more analogous to a multicellular organism than to a population of individuals.
Sides, Types, and RobotsEdit
A Grobots file describes a side: one group of robots in the competition. A side may contain multiple types. Each type describes one sort of robot on that side, with its own hardware and software.
For example, a side might contain a gatherer type, which collects food and makes more robots, and a warrior type, which defends the harvesters. Many former champions fit this description.
Each side starts with a small group of robots. They gain energy from sunlight, or by collecting manna, or killing and eating other robots, or even theft.
Each robot is controlled by a program in a simple stack-based language. This follows RoboWar, although the Grobots language is more powerful. Devon has said that the core implementation is language-neutral, however, and other or additional languages could be used to program sides in the future.
Grobots takes place in a two-dimensional rectangular world. The size can vary, but it's large - usually more than a thousand pixels square. Distance is measured in units of 16 pixels visible as a grid.
There are three important kinds of objects in the world: robots, shots, and food. The large colored circles are robots. There are two types of shots shown: blasts (pink things) and grenades (little yellow circles). The squares are food - red for corpses, green for manna.
There are many sides (usually ten) in the world at once. Each one starts with a seed of a few cells. The object is usually to accumulate as much biomass as possible. The round ends after 18000 frames (about ten minutes). It will also end when only one side is left, but this rarely happens.
Original overview at Sourceforge