Wir haben ein wenig mit dem JigLib experimentiert. JigLib ist eine Physik Engine die ihren Ursprung bei C++ hat und nun nach ActionScript3 portiert wurde.
Man nehme Papervision3d, JigLib für AS3 + SmartFox Server und heraus kommt dudaballs.
Eigentlich geht’s bei dudaballs nur darum seine Gegner von der Plattform zu schubsen, macht aber trotzdem Spass.
Das Spiel war relativ schnell zusammengestellt. Der SmartFox Server und Papervision3d stellen grosszügig API und Hilfe zur Verfügung. JigLib ist noch nicht ganz so weit, war aber auch nicht so schwer darin zu recht zu finden.
Die wahre Schwierigkeit bestand in der Spiel Logik:
Unser erster Ansatz war, dass einer der Mitspieler auch der Host ist. Das heisst seine Flashinstanz berechnet die 3d Welt und schickt die wichtigen Daten zu den anderen Spielern. Diese wiederum senden aufgrund der grafischen Darstellung ihre Aktion zum Berechner.
Probleme:
Natürlich könnte man jetzt eine Ausgleichlogik einbauen die den Lag mit einberechnet. Aber wir haben uns für eine schnellere und einfachere Lösung entschieden.
So kann ein flüssiger und fast 100% korrekter Spielablauf garantiert werden.
Für einen Prototype ist die Lösung gar nicht schlecht, müsste für eine Endlösung aber sicher überdacht und verbessert werden.