I had remembered SimSpark as a 2003 project. Going back through the old repository corrected me: the story begins a year earlier, on 6 August 2002, with a four-page document called New Soccer Server Initiative.
I had contacted Artur Merke and Martin Riedmiller, and the optimistic ellipsis after our names suggests that we must have hoped to add more. The proposal argued that the established two-dimensional soccer server should remain stable as a scientific benchmark, while a new open-source simulator should be built from scratch. The wish list already contained three-dimensional physics, flexible sensors and actuators, variable-speed experiments, extensible objects and, eventually, humanoid robots. The first implementation commits followed six days later.
Artefact01
New Soccer Server Initiative
- Date
- 6 August 2002
- Location
- Koblenz, Germany
- Creator
- Artur Merke, Oliver Obst and Martin Riedmiller, …
- Source
- Surviving SimSpark repository source
Significance
This is the earliest surviving statement of the project that became Spark, SimSpark and RCSSServer3D.“Central Idea: Open-Source Development of a new simulator environment … finally, simulation of humanoid robots.”
Building the thing
The early system grew out of work in Koblenz on physical multi-agent simulation and three-dimensional visualisation. Marco Kögler and I built a prototype around the Open Dynamics Engine, with a graph-based scene representation that Marco developed so that bodies, sensors and actuators could be assembled rather than hard-coded. Marco documented that work in his 2003 diploma thesis, and we presented the public proposal Simulation League: The Next Generation at RoboCup 2003.
The first rcssserver3d release appeared at the end of 2003. In 2004, the
3D Simulation competition became a RoboCup subleague. Markus Rollmann’s work
turned the prototype into Spark, a more deliberately generic,
component-based simulator; together we published that architecture at MATES
2004 and, in expanded form, in Computer Systems: Science & Engineering in
2005.
This is how the name evolved then:
- Spark was the generic component framework and physical simulation architecture.
- RCSSServer3D was the RoboCup football server built from those components.
- SimSpark became the name of the separately released generic simulator, especially after the project was split into clearer packages in 2008.
The names were not always used consistently at the time. The code was growing faster than the vocabulary. Sometimes, the articulated bodies would “explode” as the hardware could not always keep up with the more complex physics.
From spheres to knees
The first competition players were spheres. That was not glamorous, but it let teams work on strategy while the physics and league machinery settled. A simple HOAP-2-derived humanoid arrived in 2007. In 2008 the Nao model changed the centre of gravity of the league: walking, balance, getting up, kicking and low-level control became research problems in their own right.
An early articulated Soccerbot model. Source: SimSpark user manual figures
The Nao model used from 2008. Source: SimSpark project wiki
The simulator kept stretching. Separate SimSpark and RCSSServer3D releases arrived in 2009. Multi-threading and performance work eventually made real-time 11-versus-11 humanoid games possible in 2012. Heterogeneous robot types and a drop-in player challenge followed in 2013. The development home moved from SourceForge to GitLab in 2017.
Two complete teams in RoboViz. Source: SimSpark project wiki
The people in the machine
SimSpark was never one person’s program, nor even one small group’s for very long. The surviving proposal, papers, theses, manuals and repository history make many contributions visible:
- Artur Merke and Martin Riedmiller were with me on the 2002 proposal; Tom Howard and Patrick Riley appear in the first week of the code.
- Marco Kögler built and documented the early ODE-based prototype with me. Markus Rollmann shaped Spark into a generic component architecture.
- Joschka Boedecker pushed the humanoid simulation and walking work forward. Klaus Dorer, Jan Murray, Yuan Xu and Hedayat Vatankhah are among the people whose development, league and documentation work carried the platform through later generations.
- Feng Xue and Marian Buchta are among the editors preserved in the manuals. Justin Stoecker and Ubbo Visser created RoboViz, the visualisation and debugging tool through which many people came to know the simulator.
- Later maintainers, including Stefan Glaser and Hannes Braun, kept old ideas working on new operating systems and compilers.
This is not an exhaustive list, and it is certainly not a ranking. League organisation, documentation, testing, model building and helping new teams rarely show up cleanly in commit counts. SimSpark lasted because a community kept adopting it.
A short SimSpark timeline
- 2002 — the initiative: a proposal for an open-source 3D physical simulator is committed on 6 August; implementation begins that month.
- 2003 — prototype and release: Marco Kögler’s thesis documents the prototype; the project is presented at RoboCup;
rcssserver3d0.1 is released in December. - 2004 — a league platform: RoboCup’s 3D Simulation competition begins with spherical agents; Spark emerges as the generic architecture.
- 2007–2008 — humanoids: HOAP-2 and then Nao models move the research focus towards articulated control; the project is split into SimSpark, RCSSServer3D and supporting tools.
- 2009–2013 — full teams: independent releases, real-time 11-a-side games, heterogeneous robots and the first drop-in player challenge.
- 2017 — a new home: the project and its accumulated history move to GitLab.
- 2026 — the handover: after more than two decades, RoboCup’s 3D competition moves to the MuJoCo-based RCSSServerMJ.
A good handover
SimSpark has now been replaced as RoboCup’s 3D competition simulator. The official 2026 call describes a transition to the more realistic, MuJoCo-based RCSSServerMJ (External link) and states that no SimSpark competition will take place at RoboCup 2026.
That is not quite the same as saying that the software vanished. SimSpark 0.3.8 and RCSSServer3D 0.7.9 were still released in 2026, with fixes for modern compilers and libraries. Old experiments, teams and records still depend on it. But its long job as the league’s official field is complete.
I like this ending. A research platform should not have to remain young forever. SimSpark carried RoboCup 3D from spherical agents to full teams of articulated humanoids, gave a generation of researchers a common world to work in, and lasted long enough for a new simulator to take over. The 2002 proposal asked for a path to humanoid robots. It got one.
Papers, code and recovered material
- The 2002 proposal as a PDF, with its original LaTeX and BibTeX
- The first surviving repository commit (External link)
- Marco Kögler and Oliver Obst, “Simulation League: The Next Generation” (External link) (RoboCup 2003 / published 2004)
- Oliver Obst and Markus Rollmann, “Spark — A Generic Simulator for Physical Multi-agent Simulations” (External link) (MATES 2004)
- The recovered 2005 CSSE author manuscript. The journal’s published, typeset version has not yet been recovered.
- Joschka Boedecker and Minoru Asada, “SimSpark — Concepts and Application in the RoboCup 3D Soccer Simulation League” (External link) (2008)
- The RoboCup league’s 3D history (External link) and the current SimSpark repository (External link)
- RoboCup 2026’s transition announcement (External link)
This page is a personal account assembled from project records, publications and memory. Corrections and missing names are welcome.