In 2003, now 20 years ago, I proposed a 3d physical simulation as a new league for RoboCup, the largest annual robotics competition [1]. Marco Koegler and I had developed a prototype with the ODE open source physics engine, and a graph-based flexible scene representation. (Sim)Spark, the new simulator, was released on sourceforge and accepted to establish the new RoboCup 3D Soccer Simulation League. We used the year till 2004 to turn the prototype into something that could be used [2] - initially the robots were just spheres that could "kick" the ball using collisions. A scene description language was added, and eventually we started to use articulated robots - we had a model for the Fujitsu HOAP, and then for the Aldebaran Nao.
Many other people contributed to the version that is still used for the annual competitions now, Markus Rollman and Joschka Boedecker (now Freiburg) were early contributors, and Joschka's worked helped a great deal getting more people involved and getting used to the flexible but somewhat complicated architecture. In 2006 or so, I created a visualisation using Ogre3D but a better one (that is still being used) was created by Justin Stoecker and Ubbo Visser (U Miami) [3]. Here's a YouTube video from the 2023 final, FCPortugal playing magmaOffenburg: https://www.youtube.com/live/j8Qre4XjaEI?feature=share&t=111
Recent work on robot soccer at Deep Mind [4] also made use of a physical soccer simulator, unfortunately doing only a poor job on referencing this (and other) prior work from RoboCup -
It's been amazing to see the evolution and the use of our (Sim)Spark simulator over the past two decades, from its somewhat modest beginnings. From today's perspective, we obviously would approach a few things differently. Maybe also it will be time for a different simulator at some point - better support for machine learning approaches is one thing that comes to my mind, e.g., in form of a fully differentiable simulator.
[1] Simulation League: The Next Generation
Marco Kögler & Oliver Obst
In: Polani, D., Browning, B., Bonarini, A., Yoshida, K. (eds) RoboCup 2003: Robot Soccer World Cup VII. RoboCup 2003. Lecture Notes in Computer Science(), vol 3020.
https://link.springer.com/chapter/10.1007/978-3-540-25940-4_40
[2] Spark – A Generic Simulator for Physical Multi-agent Simulations
Oliver Obst & Markus Rollmann
https://link.springer.com/chapter/10.1007/978-3-540-30082-3_18
[3] RoboViz: Programmable Visualization for Simulated Soccer
Justin Stoecker & Ubbo Visser
https://link.springer.com/chapter/10.1007/978-3-642-32060-6_24
[4] https://www.deepmind.com/publications/from-motor-control-to-team-play-in-simulated-humanoid-football