niwax schrieb: gandro schrieb: das benötigt aber halt dann doch echt gute Wegfinde-Algorithmen.
Aber nur, wenn man gegen Bots spielt. echte Spieler sollten das doch selbst finden, man könnte einfach auswählen, auf welcher Seite man spielen möchte.
Wir sprechen von Tower-Defense. Da ist eigentlich immer so, dass die Creeps vom Computer gesteuert werden, selbst wenn sie einem Spieler gehören (was bei uns ja aber vorerst nicht der Fall sein wird).
Okay, ich dumpe hier dann mal noch alle restlichen Gedanken die ich so hatte:
Generell Spielprinzip: Es gibt eine zu verteidigende Basis in der Mitte der Karte. computergesteuerte Viecher strömen herein und gehen auf die Basis los, mit dem Ziel diese zu erreichen. Haben genügend Creeps die Basis erreicht, ist das Spiel verloren.
Multiplayer würde also so funktionieren, dass es zwar ein gemeinsames zu verteidigendes Hauptquartier gibt, aber jeder Spieler sein eigenes Einfallstor hat, das er mit Geschütztürmen verteidigen muss und wo er Geld für getötete Viecher kriegt.
Internals:
Spielfeld also wie gesagt ein Raster aus aus Kästchen, die für Creeps (die Viecher) betretbar sind oder nicht, und falls sie betretbar sind, ob sie auch bebaubar sind. Ich würde empfehlen das Raster recht grob zu machen, um die Wegfindung weniger rechenintensiv zu machen, dafür können Creeps dann Positionen von 1/4 eines Kästchens oder so besitzen (also 1 Gebäudefeld = 4x4 Creepfelder).
Protokoll: Das ich gelesen habe ist TCP für RTS-artige Multiplayerspiele ausreichend gut. UDP alleine wäre zu wenig und der Geschwindigkeitsvorteil den Programmier-Aufwand nicht wert:
RTS Multiplayer - GameDev.net
Die Position (aka Wegfindung) der Creeps würde vom Server berrechnet, so dass der Client die nur darstellt. Ist davon auszugehen, dass es verschiedene Clients gibt, also macht das wenig Sinn dass da die Clients all zu viel bestimmen.
Ähnliches gilt für "Geschosse", wobei es imho keine kluge Idee ist, Positionen einzelner Kanonenkugeln übers Netzwerk zu schicken.
Vielmehr gäbe es protokollintern zuerst die Anweisung, dass ein Geschützturm ein bestimmts Ziel im Visier hat und wie lange es dauert bis geschossen wird; und danach eine Anweisung, dass der Geschützturm den Creep getroffen hat (oder keine mehr, wenn der Creep inzwischen Tod oder ausser Reichweite ist). Dann ist es den Clients überlassen, die einzelnen Kugeln dann einzuzeichnen oder ob sie in "Revenge of the Titans"-Manier einfach nur Laser mit Suchscheinwerfer machen:
YouTube - First Minutes Of: Revenge Of The Titans - Endless #1
Nachtrag: Am Anfang würde ich vorschlagen, dass wir ein Mazing TD machen, bei dem die Gebäude keinen Schaden nehmen: Die Creeps würden also einfach strikt Richtung Ziel laufen, bis sie an ein Hindernis stoßen und dann da drum herum gehen, also sowas hier:
http://www.youtube.com/watch?v=7QdAU4o7NZ4
Und erst wenn wir gescheite Wegfindung haben, dass wir auch Gebäude zerstören lassen können, so dass die Viecher sich ggf. ihren eigenen Weg bahnen.