Website review
This review may include AI-generated content and is not individually verified. Domain, certificate and other facts come from the observed data on this page.
What is Grobots?
Grobots is a real-time strategy programming game: instead of controlling robots directly, you write programs that control teams of robots as they forage, reproduce and fight. Those programs are called "sides" and are written in a simple dialect of Forth. It runs on Mac OS X, Windows and Linux, and is free software under the GPL. The project's own page is candid that the learning curve is steep and the documentation poor.
Who it suits
- Programmers curious about AI and emergent behaviour, who enjoy tuning code and watching the results play out rather than issuing commands.
- Forth users or language tinkerers, since the side language is a Forth dialect.
- Competitive tinkerers, as there are many existing sides to study and tournament results to compare against—the page names ISI as the current champion.
Trade-offs to expect
- You get depth and replayability from writing your own strategies, but the barrier is real: expect to read existing sides and experiment rather than follow a tutorial.
- The community is small and maintenance is described as sporadic, with discussion centred on a mailing list and a wiki. A Java port exists that runs existing sides with essentially the same results, though some GUI windows such as the minimap were not yet implemented at the time of that note.
Practical next step
If you want to judge fit quickly, download a build, run a few of the bundled sides against each other, then open one side's source to see how simple the control logic is. If reading that code feels approachable, the game will reward you; if not, the steep curve will bite early.
For comparison with other programmable-robot games, BattleCode and Robocode are established alternatives with different languages and match formats.
What programming language do I need to learn to write a side for Grobots?
You need to learn Forth — specifically, the simple dialect of Forth that Grobots uses to write the programs controlling robot teams (called "sides"). According to the project page, sides are written in "a simple dialect of Forth," so you don't need to know the host language the game is implemented in (C++ or the newer Java port) to write one.
What to expect
- Forth, not a general-purpose language. Sides are Forth programs, so the skills that transfer are stack-based programming, word (function) definition, and thinking in terms of a data stack rather than variables and expressions.
- A steep climb. The page itself warns that "the learning curve is steep, and the documentation is, unfortunately, poor," and that docs are being moved to a wiki. Budget time for reading existing sides as examples rather than expecting a polished tutorial.
- Existing sides as reference material. The page notes there are "many sides to play with," and the current champion is named ISI. Reading and modifying a working side is the most practical way to learn the dialect.
A useful next step
Download the build for your platform and open a simple existing side alongside the game, changing one behavior at a time (for example, foraging range or reproduction threshold) and observing the effect in a match. If you already know a stack language or Forth, you can start writing a minimal side almost immediately; if not, learn core Forth first (stack words, definitions, control flow) before tackling robot logic.
For general Forth background, the Forth interest group's site is Forth.org. The Grobots project itself lives at Grobots on SourceForge, where the download and wiki links are listed.
How do I install and run Grobots on Windows, Mac OS X, or Linux?
Download a build for your platform from the Grobots project site, unpack it, and launch the game; then load one of the included "sides" (the Forth programs that control your robots) and start a match. Grobots is free software under the GPL and is described as running on Mac OS X, Windows, and Linux, so there is no purchase or licence step.
Getting it running
- Go to Grobots and open the Download section. The page lists four builds, including a Mac OS X build and Windows builds; the project also notes a Java port that runs on more platforms, including various Unixes.
- Pick the build matching your system. If your platform has no native build, the Java port is the fallback the page points to.
- Unpack the archive and run the executable. On Windows, recent builds include a revised default window layout and working keyboard shortcuts.
- Start a game with one of the bundled sides rather than writing your own first — the page says there are "many sides to play with," and watching two of them compete is the quickest way to see how foraging, reproduction, and combat work.
- When you want to write your own side, you will be working in a simple dialect of Forth. Expect a steep learning curve; the authors themselves describe the documentation as poor and are moving it to a wiki.
A realistic first session
Suppose you are on Windows and want to see whether the game is for you. Install the Windows build, run a match between two existing sides, and watch the statistics and graphics panels. If the idea of tuning a program's behaviour — when to reproduce, when to fight, how to allocate energy — appeals to you, move on to editing a simple side and running it against a weak opponent. If you bounce off the Forth syntax, the Java port will not change that; the language is the same.
Practical trade-offs
- Native builds vs. Java port: native builds are the original C++ code; the Java port is described as fast, simulation-compatible with existing sides, and usable, but some GUI windows (notably the minimap) are not yet implemented.
- Maintenance: updates from the original authors are sporadic. The page is candid about this, so treat bugs as something you may need to work around or fix from source.
- Help: the main discussion forum is the project's mailing list, and the authors warn they can be slow to respond. The wiki is the place to check for and contribute documentation.
As a next step, read the overview page before downloading so you understand what a "side" is; it will make the first match far more legible.
How can I enter my robot side in a Grobots tournament or share it with other players?
Submit your side to the Grobots mailing list, which the project describes as its main discussion forum, or post it on the project wiki. The page also notes that the authors run occasional tournaments and ask players to send sides in for those events; the last one mentioned on the page was scheduled for August 13, with a request to send sides or post them on the wiki.
A "side" is the Forth-dialect program controlling a team of robots, so what you share is source code plus any notes needed to run it. Because the page says documentation is poor and maintenance is sporadic, include a short readme with the side's name, the Grobots build you tested it on (the C++ builds or the Java port), and expected behavior. That makes your submission usable by others without a round of questions.
Practical next step: check the wiki for current tournament announcements and submission conventions before sending, since the news items on the page are dated and the schedule may have changed. If you want your side to be comparable with existing ones, the page points to tournament results and names ISI as the current champion—reviewing those results helps you judge whether your side is ready for competition or better shared as a work in progress.
For context on the project itself, see Grobots, a programming game.
How does the Java port of Grobots differ from the original C++ version in features and performance?
The Java port of Grobots is a platform-broadening rewrite that keeps the simulation compatible with the C++ original rather than a feature-for-feature replacement. According to the project's own news notes, Mike Anderson's Java translation runs the same existing sides with "essentially the same results," and its simulation is described as complete and fast. The main gap is in the interface: some GUI windows, notably the minimap, are not yet implemented, so the Java version is usable but not yet visually complete. The C++ build, by contrast, is the version with the full window set, including the graphics, statistics and layout improvements made in 2012.
| Area | C++ original | Java port |
|---|---|---|
| Platform reach | Mac OS X, Windows, Linux | Many more platforms, including various Unixes and probably some phones |
| Simulation | Reference implementation | Complete, fast, compatible with existing sides |
| GUI | Full set, including minimap | Some windows missing, notably the minimap |
| Status | Sporadic maintenance from original authors | Described as already quite usable, with GUI work unfinished |
For a concrete choice: if you are writing and testing a new side and want the full visual feedback, start with the C++ build as listed on Grobots; if you are on a platform the C++ build does not cover, or want faster simulation runs, the Java port is the practical option, accepting that you may need to read robot state without a minimap.
Where can I find documentation or tutorials to get started with Grobots given its steep learning curve?
Start with the game's own overview and screenshots pages, then read the Forth dialect reference for sides before writing your first program. The site itself states the learning curve is steep and the documentation is poor, and that a wiki migration is underway—so treat the wiki as a work in progress and cross-check anything you rely on.
Practical path for a newcomer
- Read the overview, then skim screenshots to understand the forage/reproduce/fight loop before touching code.
- Study an existing side. The site says many sides are available and points to tournament results (current champion: ISI). Reading a working side teaches the Forth dialect faster than the reference alone.
- Run before you optimize. Get a minimal side compiling and simulating, then iterate.
- Use the mailing list for questions and to share sides; the site notes the authors can be slow to respond, so the list and wiki are better bets than direct contact.
- Check the Java port (announced 20140724) if you want to run on more platforms; the site says it is simulation-compatible with the C++ version, though some GUI windows such as the minimap are missing.
Where to look beyond the site
- SourceForge hosts the project's download and source pages, useful for older builds and the code itself.
- Forth Standard for general Forth concepts, since Grobots uses a simple dialect rather than full Forth.
- ForthFreak Wiki for beginner-oriented Forth tutorials and examples.
Decision criterion
If your goal is learning the game's strategy, start from existing sides and tournament results. If your goal is learning Forth, start with a general Forth tutorial, then map it onto Grobots' dialect reference.
User reviews (0)