What programming language do I need to write a Grobots side?
Updated
You write a Grobots side in a simple dialect of Forth. That is the only language the game itself accepts for robot control programs, so if you want to compete or experiment with your own strategies, Forth is the place to start. If you only want to watch matches or run existing sides, no programming is required at all.
What Grobots expects from you
Grobots is a real-time strategy programming game in which you write programs to control teams of robots that forage, reproduce, and fight. The programs that control the robots are called sides, and they are written in a simple dialect of Forth. The game runs on Mac OS X, Windows, and Linux, and a Java port also exists that is compatible with the C++ version and can run existing sides with essentially the same results.
The practical implication: your job is not to click through a tech tree but to express robot behavior as Forth code. Everything your robots do — gathering, reproducing, combat — comes from the program you write.
Before you start: know what you're signing up for
The site is candid about the difficulty. It states that the learning curve is steep and the documentation is, unfortunately, poor. Documentation is being moved to a wiki so users can help fix this. Plan for experimentation and reading existing sides rather than following a polished tutorial.
Two resources soften the curve:
- Existing sides to play with. There are many sides available, and tournament results to ponder; the current champion is ISI. Reading a working side is often the fastest way to learn the dialect's idioms.
- The mailing list, which is the main discussion forum. If you have a new side to show or want to enter tournaments, you send it there or post it to the wiki.
Note also that maintenance from the original authors is sporadic, and they can be very slow to respond — so self-sufficiency matters.
A practical starting path
- Install a build. Download source and binaries from the site; four builds are listed, including Mac OS X. The Java port broadens platform support, including Unixes and probably some phones, though some GUI windows (notably the minimap) are not yet implemented.
- Run existing sides first. Watch a few matches and open the sides that ship with the game. This shows you what a complete program looks like before you write one.
- Write a minimal side in Forth. Start with one behavior — for example, foraging — and confirm it works in a match before adding reproduction or combat logic.
- Test by playing. The game is the verification tool: run your side against a known side and observe whether the behavior you intended actually appears.
- Share and iterate. Post your side to the mailing list or the wiki, and check tournament announcements if you want feedback under competitive conditions.
Common sticking points
- Poor documentation. Expect to learn from example sides and the wiki rather than a manual. Contributing what you figure out to the wiki is explicitly welcomed.
- Steep curve. Budget time for the Forth dialect itself before your robot strategy gets interesting.
- Slow author response. Don't block on a reply from the authors; the mailing list and wiki are the practical support channels.
Is Forth experience required?
Not strictly, but it helps. The dialect is described as simple, so the barrier is the game's concepts and the thin documentation more than the language's complexity. If you already know Forth, you can focus on robot strategy immediately. If not, expect to learn stack-based programming alongside the game — which is exactly why the learning curve is described as steep.
Licensing and cost
Grobots is free software distributed under the GNU General Public License, so you can download the source and binaries and modify them yourself. The site does not describe any paid tier or account requirement for playing or writing sides.