Stein-Schere-Papier im Onlinespiel
Benni
- programmiertechnik
0 Andres Freund0 Calocybe0 Benni
0 Sven Rautenberg
Hallo!
Ich bin gerade dabei ein kleines Onlinespiel zu programmieren.
Ähnlich wie bei anderen Onlinespielen oder dem Echtzeit-Strategie-Spiel Command&Conquer sol man sich dabei auch gegenseitig angreifen können und Einheiten des Gegners - oder bei Pech - seine eigenen Einzheiten vernichten.
Dieses Reduzieren der Einheiten soll jedoch nicht nur durch einen einfachen Angriffs- und Verteidigungswert der einzelnen Einheiten realisiert werden, bei dem diese Werte gegeneinander abgewogen werden und die Differenz daraufhin bei beiden Spielern reduziert wird.
Ich möchte das Einheitensystem ähnlich wie bei dem wahrscheinlich allseits bekannten Spiel Stein-Schere-Papier umsetzen, bei dem die Schere immer gegen das Papier gewinnt, gegen den Stein jedoch verliert usw.
Wie ist mir das möglich? Muss dafür bei jeder Einheit für die einzelnen Gegnereinheiten immer ein eigener Angriffs- bzw. Verteidigungswert erstellt werden?
Auch wären mir Ratschläge hilfreich, in denen Tipps und Ideen dazu geäußert werden, wie es realisiert werden kann, wenn eine aus mehreren verschiedenen Einheiten bestehende Trupppe eine andere, ebenfalls aus mehreren Einheiten bestehende Truppe, angreift. Als Gegner sind dann sowohl stärkere als auch schwächere Einheiten vorhanden.
Vielen Dank im Voraus sagt
Euer Benni
Hi,
da hast du dier ja eine Menge vorgenommen.
Zu deiner Frage mit den verschiedenen Einheitentypen und Schere-Stein-Papier: Ich würde jeder Einheit verchiedene, z.B. 3 wie Schlag Stich und Fernwaffen, Arten von Panzerung verpassen. Jede Einheit richtet einen bestimmten Prozentsatz Schaden gegen eine andere Einheit an. So genug aus meiner Spiele-Zeit zusammengekratzt.
mfg Andres Freund
ps: Für wen soll denn das Spiel sein? Wofür gibt es das orginal C&C?
Hi!
Ähnlich wie bei anderen Onlinespielen oder dem Echtzeit-Strategie-Spiel Command&Conquer sol man sich dabei auch gegenseitig angreifen können und Einheiten des Gegners - oder bei Pech - seine eigenen Einzheiten vernichten.
Onlinespiel heisst, dass das ueber's Internet laeuft, also Spieler A aus Berlin mit Spieler B aus Koeln spielt? Oder einfach, dass das Spiel als Webseite aufrufbar ist und z.B. in JavaScript realisiert ist, dann aber beide (bzw. alle) Spieler vorm selben Rechner hocken muessen. Falls ersteres, wie soll da die Kommunikation aussehen? Immer Formulare zu einem Game-Server abschicken?
Wie ist mir das möglich? Muss dafür bei jeder Einheit für die einzelnen Gegnereinheiten immer ein eigener Angriffs- bzw. Verteidigungswert erstellt werden?
Ja, ich schaetze, das wird noetig sein, wenn Du Dir die Flexibilitaet erhalten willst, ueber die Wahl der A/V-Werte dafuer zu sorgen, dass ein sinnvolles Spiel moeglich wird.
Uebrigens wird dieses Konzept auch im Spiel Empire Earth (http://games.sierra.com/games/empireearth/) umgesetzt (welches ein sehr schoenes Spiel waere, wenn es nur mal laenger als 1/4 Stunde ohne Absturz laufen wuerde).
Auch wären mir Ratschläge hilfreich, in denen Tipps und Ideen dazu geäußert werden, wie es realisiert werden kann, wenn eine aus mehreren verschiedenen Einheiten bestehende Trupppe eine andere, ebenfalls aus mehreren Einheiten bestehende Truppe, angreift. Als Gegner sind dann sowohl stärkere als auch schwächere Einheiten vorhanden.
Entweder die Spieler steuern jede Einheit einzeln (wie seinerzeit bei History Line), oder Du stellst eine KI zur Verfuegung, die eine Strategie errechnet, um die eigene Truppe moeglichst gut wegkommen zu lassen. Dann koennte sich der Spieler darauf beschraenken, ganze Kampfverbaende zu dirigieren.
So long
Hi!
Ähnlich wie bei anderen Onlinespielen oder dem Echtzeit-Strategie-Spiel Command&Conquer sol man sich dabei auch gegenseitig angreifen können und Einheiten des Gegners - oder bei Pech - seine eigenen Einzheiten vernichten.
Onlinespiel heisst, dass das ueber's Internet laeuft, also Spieler A aus Berlin mit Spieler B aus Koeln spielt? Oder einfach, dass das Spiel als Webseite aufrufbar ist und z.B. in JavaScript realisiert ist, dann aber beide (bzw. alle) Spieler vorm selben Rechner hocken muessen. Falls ersteres, wie soll da die Kommunikation aussehen? Immer Formulare zu einem Game-Server abschicken?
Hallo!
Vielleicht habe ich mich etwas undeutlich ausgedrückt.
Mit Onlinespiel meine ich eine Spiel, welches auf einer Weboberfläche durch PHP realisiert wird und für alle Spieler über den Browser zu erreichen ist. Eine weitreichende Grafik wird es aus diesem Grund nicht geben, die Angriffe werden durch Eingabe der gegnerischen Koordinaten ausgeübt. Da nur reale Spieler gegen einander antreten, kann glücklicherweise auch auf den Einsatz einer KI verzichtet werden.
Insofern sehe ich durch das Spiel auch keinen Ersatz bzw. eine Konkurrenz für das grafische Kultspiel Command & Conquer.
Vielen Dank jedenfalls erstmal für die Antworten und den Link.
Mit freundlichen Grüßen und in der Hoffnung auf weitere Antworten,
Euer Benni
Moin!
Ich möchte das Einheitensystem ähnlich wie bei dem wahrscheinlich allseits bekannten Spiel Stein-Schere-Papier umsetzen, bei dem die Schere immer gegen das Papier gewinnt, gegen den Stein jedoch verliert usw.
Wie ist mir das möglich? Muss dafür bei jeder Einheit für die einzelnen Gegnereinheiten immer ein eigener Angriffs- bzw. Verteidigungswert erstellt werden?
Da hast du vermutlich die komplexeste Frage angeschnitten, die es im Spielebereich so gibt.
Wenn du Stein-Schere-Papier willst, dann hast du im Prinzip drei grundlegende Situationen:
1. Eine Einheit kann den Gegner besonders gut bekämpfen (Stein trifft auf Schere und gewinnt)
2. Eine Einheit kann vom Gegner besonders gut bekämpft werden (Stein trifft auf Papier und verliert)
3. Eine Einheit und der Gegner sind ebenbürtig (Stein trifft auf Stein, es ist Gleichstand)
Das Dumme beim Kriegspielen: Sowas wie ein Patt oder Unentschieden gibt es nicht. Auch bei Szenario 3 entstehen Schäden. Du mußt entscheiden, welche Schäden entstehen.
Außerdem mußt du mehr oder weniger realistisch entscheiden, welcher Einheitentyp am besten andere Einheiten bekämpfen kann, bei welchen ungefähr Gleichstand ist, und bei welchen Einheiten eher versagt wird.
Flak ist offenbar am besten gegen Flugzeuge geeignet, sicherlich kann man sie auch gegen Infanterie einsetzen, aber gegen U-Boote wird sie versagen. Infanterie hingegen ist möglicherweise gut gegen Flak geeignet, mittelprächtig gegen Infanterie, und machtlos gegen Panzer. Panzergranaten hingegen sind prima gegen Panzer, mittelprächtig gegen Infanterie, und machtlos gegen Flugzeuge.
Du kannst es also komplex machen und jeden Einheitentyp mit Angriffs- und Verteidigungswerten gegen jeden anderen Einheitentyp versehen.
Du kannst es vielleicht auch einfacher machen und Einheitentypen gruppieren: Fußtruppen, Fahrzeuge, Flugzeuge, Seefahrzeuge. Treffen unterschiedliche Gruppen aufeinander, wirken Modifikatoren, was die Schadensberechnung angeht, ansonsten gehts 1:1 aufeinander, und der bessere gewinnt. Obwohl bei genauerer Betrachtung hierbei doch die Einheitenvielfalt etwas leiden würde, bzw. die Komplexität geringer wäre.
Auch wären mir Ratschläge hilfreich, in denen Tipps und Ideen dazu geäußert werden, wie es realisiert werden kann, wenn eine aus mehreren verschiedenen Einheiten bestehende Trupppe eine andere, ebenfalls aus mehreren Einheiten bestehende Truppe, angreift. Als Gegner sind dann sowohl stärkere als auch schwächere Einheiten vorhanden.
Das ist auch gar nicht so einfach. Die Frage ist: Welche Regeln gelten dafür? Wenn es noch keine Regeln gibt - erfinde welche. Und mache sie den Spielern bekannt. Dann können sie das in ihrer Taktik anwenden. Oder der Spieler kann die Reihenfolge der Einheiten selbst bestimmen, was aber sicherlich eher zum Chaos führen würde.
Die spannende Frage, auch bei gleichartigen Einheiten: Wie läuft eine Schlacht ab? "Gleichzeitig" wohl doch eher nicht, sondern rundenbasiert. Anders dürfte so ein Spiel kaum realisierbar sein. Wie rundenbasiert? Reihum darf jeder eine Aktion mit einer Einheit machen, wie beim Schach, oder ziehen alle Spieler gleichzeitig ihre Einheiten bzw. geben ihre Züge in Unkenntnis des Gegnerverhaltens ab, und es folgt dann eine Computer-Runde, in der die entstehenden Schlachten abgewickelt werden. Und wie wird so eine Runde abgewickelt.
Mir scheint, du solltest mal ein wenig nach den vielen existierenden Play-by-Mail-Spielen Ausschau halten. Das, was du willst, haben andere schon lange in funktionierende Spiele umgesetzt, von denen man sicher viel lernen kann. Natürlich steht da nicht bei, wie man so ein Spiel selbst erstellt, aber wenn man mal eine Umsetzung gesehen hat, kommt man sicher auf eigene Ideen.
- Sven Rautenberg