Aber wofür "klein" anfangen, wenn man gleich (fast) alles auf einmal haben kann?
Wenn es einfach ist, kein Problem. Ich habe ein wenig Angst, dass sich das ganze Projekt bei zu hohen Ansprüchen im Sande verläuft.

Wenn man die 2D-Physik schnell zum laufen bekommt, ist es sicherlich eine professionelle Sache und gut verwendbar.

Wir programmieren doch Objekt orientiert oder? Wenn man die Klassen und deren Schnittstellen sauber definiert, sollte sich der Unterbau der "Umweltsimulation" ja einfach austauschen lassen. Das wäre toll, man könnte, um schnell zu sein, ein ganz einfaches Umweltmodell unterlegen ( z.B. das was wir jetzt schon haben ) und dann einfach das komplexe Modell unterschieben. Ich gebe zu: ich bin jemand, der erst das grobe Ganze konstruiert und danach die Einzelteile verfeinert. Viele meiner Kolegen bevorzugen aber das umgekehrte Vorgehen: alle Einzelteile sauber nach einander aufbauen. Beide Vorgehensweisen haben ihre Vor- und auch Nachteile und ich will gar nicht sagen, dass meine Vorgehensweise besser wäre. Sie hat aber den Vorteil, dass man schnell zu einem irgendwie laufenden Programm kommt, dass man so lange verfeinern kann, bis einem die Lust ausgeht ( was ja bei Hobby-Projekten öfters mal vorkommt. )
Das ist auch der Grund, warum ich Robosim einfach mal so hin programmiert habe, ohne jedes Detail zu perfektionieren.

Wie würde man die Klassen in diesem Projekt aufteilen? Lass uns das doch mal genauer diskutieren. Ich würde gerne Deine Vorstellungen dazu hören.

- Scheduler, der die Programme in den einzelnen Robotermodellen startet
- RoboterObjektklasse ( alle Objekte, die man in der Welt verschieben kann )
- Roboterklassen: Asuro, NiboBee usw. mit ihren eigenen Programmbefehlen
- Umweltklasse ( oder 2d-Physiksimulation )

Diese Liste ist nur ein Brainstrorming, wir können Sie beliebig verändern, verwerfen o.ä.

Wie sollten die Schnittstellen aussehen?