Erstellen eines "Kampfwertes" bei Onlinespiel

Hallo,

ich bin derzeit dabei, ein Onlinespiel zu programmieren bei dem die
Spieler folgende Eigenschaften haben:

- Stärke,
- Intelligenz,
- Agilität und
- Gesundheit

Die Spieler können gegen andere Mitspieler antreten, wobei all diese
Werte ausschlaggebend über den Ausgang des Kampfes sind.
Nun zu meinem Problem: Da ich nicht vorhabe, ein Level-System zu
implementieren, würde ich gerne einen Wert ausrechnen, der die
zusammenfassende Stärke eines Spielers darstellt - abhängig von oben
genannten Werten. Da die Gesundheit jedoch nur Werte von 0 bis 100
annehmen kann und Stärke, Intelligenz und Agilität unbegrenzt sind,
komme ich zu keinem Ergebnis, dass die Stärke eines Spielers so
darstellt, dass er mit anderen verglichen werden kann. Manchmal
beeinflusst die Gesundheit den Wert zu stark, manchmal zu schwach, so
dass das Ergebnis nie korrekt ist.
Der "Kampfwert" soll Spieler Auskunft darüber geben, ob sie stark
genug sind, gegen einen anderen Spieler anzutreten - gemessen an ihrem
eigenen Kampfwert.

Ich hoffe, Sie können mir weiterhelfen.
her.silent.silhouette [ So, 30 März 2008 16:18 ] [ ID #1931858 ]

Re: Erstellen eines "Kampfwertes" bei Onlinespiel

> Ich hoffe, Sie können mir weiterhelfen.

Keine wirkliche PHP-Frage...
Ich finde es ungewöhnlich, die Gesundheit so darzustellen und als
einziges zu begrenzen. Praktisch heisst das ja, dass sich Spieler
gegenseitig mit einem Schlag töten müssten, bzw. der erste gewinnt, weil
die Stärke bei beiden irgendwo jenseits von gut und böse liegt...

Persönlich fände ich es logischer, alle Werte zu begrenzen oder aufzulassen.
--
Mein Zeugs:
http://www.hadanite-marasek.de/classes.php
http://www.objektivsuche.de/
Ansonsten:
http://www.php-faq.de/q/q-newsgroup-wie-helfen.html
Hadanite Marasek [ So, 30 März 2008 17:15 ] [ ID #1931860 ]

Re: Erstellen eines "Kampfwertes" bei Onlinespiel

..oO(Hadanite Marasek)

>> Ich hoffe, Sie können mir weiterhelfen.
>
>Keine wirkliche PHP-Frage...

Überhaupt nicht. Eine RPG-Gruppe wäre evtl. etwas passender, da es ja
nicht um die Programmierung, sondern um einen Spielalgorithmus geht.

>Ich finde es ungewöhnlich, die Gesundheit so darzustellen und als
>einziges zu begrenzen. Praktisch heisst das ja, dass sich Spieler
>gegenseitig mit einem Schlag töten müssten, bzw. der erste gewinnt, weil
>die Stärke bei beiden irgendwo jenseits von gut und böse liegt...

Die brauchen sich nicht mal kloppen. Ein absoluter Intelligenzbolzen
kann seinen anabolika-gestählten, aber unterbelichteten Gegner mit
diesem System praktisch totquatschen. Einstein gegen Schwarzenegger.

>Persönlich fände ich es logischer, alle Werte zu begrenzen oder aufzulassen.

ACK

Allerdings erscheint mir das ganze System zu stark vereinfacht. Alle
Eigenschaften eines Charakters für einen Kampf zu einem einzigen Wert
zusammenzufassen kann IMHO nicht vernünftig und fair funktionieren.
Ein stures Zusammenrechnen führt zu Szenarien wie oben, und bei einer
Gewichtung der einzelnen Faktoren stellt sich unweigerlich die Frage,
wonach man denn gewichten will.

Micha
Michael Fesser [ So, 30 März 2008 17:36 ] [ ID #1931861 ]

Re: Erstellen eines "Kampfwertes" bei Onlinespiel

her.silent.silhouette [at] googlemail.com schrieb:
> Hallo,
>
> ich bin derzeit dabei, ein Onlinespiel zu programmieren bei dem die
> Spieler folgende Eigenschaften haben:

Bin ich auch gerade dabei, allerdings ein andres Genre. :)

> - Stärke,
> - Intelligenz,
> - Agilität und
> - Gesundheit
>
> Die Spieler können gegen andere Mitspieler antreten, wobei all diese
> Werte ausschlaggebend über den Ausgang des Kampfes sind.
> Nun zu meinem Problem: Da ich nicht vorhabe, ein Level-System zu
> implementieren, würde ich gerne einen Wert ausrechnen, der die
> zusammenfassende Stärke eines Spielers darstellt - abhängig von oben

Warum willst du das zusammenrechnen? Wenn ich mit einem Schwert kämpfe
ist doch wohl die Stärke wichtiger, wenn ich zaubere eher Intelligenz.
Wieso benötigst du hier eine Gesamtstärke? Zumal es wohl noch sowas wie
eine Abwehr geben müsste. Oder sind deine Angriffsfaktoren gleichzeitig
für die Abwehr zuständig?

> genannten Werten. Da die Gesundheit jedoch nur Werte von 0 bis 100

Sind das Prozentangaben also 0 bis 100%, wenn ja ok, ansonsten warum
sollte man es beschränken? Wenn ich Level Up mache und die Gesundheit
höher setze um länger zu leben ist das doch ein schöner Faktor. Bei %
Angaben musst aber wirklich darauf achten, dass der Angriff und die
Abwehr ausgeglichen geskillt werden kann. Nicht dass wirklich jemand der
viel auf Stärke skillt zum beispiel jeden Gegner mit einem Schlag killt.

> annehmen kann und Stärke, Intelligenz und Agilität unbegrenzt sind,
> komme ich zu keinem Ergebnis, dass die Stärke eines Spielers so
> darstellt, dass er mit anderen verglichen werden kann. Manchmal

Ich würde die Stärke bei Nahkampf mit der physischen Abwehr des Gegners
vergleichen, die Intelligenz beim Zaubern mit der magischen Abwehr des
Gegners und wer höhere Agilität hat darf erster angreifen. Das ist zwar
simpel, aber in den meisten Spielen fängt es ja so an.

> beeinflusst die Gesundheit den Wert zu stark, manchmal zu schwach, so
> dass das Ergebnis nie korrekt ist.
> Der "Kampfwert" soll Spieler Auskunft darüber geben, ob sie stark
> genug sind, gegen einen anderen Spieler anzutreten - gemessen an ihrem
> eigenen Kampfwert.
>
> Ich hoffe, Sie können mir weiterhelfen.

Sowas nennt man Balancing und keiner dürfte hier ohne Erfahrung mit
deinem System dir Tipps geben können. Einfach ausprobieren und Leute
spielen lassen, dann sieht man meistens schnell was nicht gut genug
ausgeglichen ist. Schau dir andere Rollenspielen an wie Guild Wars oder
Hellgate London, hier werden auch immer wieder Korrekturen vorgenommen,
weil manche Varianten zu stark sind im Spiel. Aber das sieht man erst,
wenn viele Spieler viele Möglichkeiten ausprobiert haben.

Aber wie die Anderen es schon gesagt haben, das hat nichts mit PHP zu
tun und es gibt andere Anlaufstellen (zum Beispiel
http://www.galaxy-news.de/) bei denen du vielleicht mehr Leute findest
die sich mit solchen Problemen auseinander setzen.

--
Mit freundlichen Grüßen,
Christoph Herrmann

http://dragonprojects.de/
Christoph Herrmann [ So, 30 März 2008 19:07 ] [ ID #1931865 ]

Re: Erstellen eines "Kampfwertes" bei Onlinespiel

Post removed (X-No-Archive: yes)
Notifier Deamon [ So, 30 März 2008 19:40 ] [ ID #1931866 ]

Re: Erstellen eines "Kampfwertes" bei Onlinespiel

Hi her.silent.silhouette,

> genannten Werten. Da die Gesundheit jedoch nur Werte von 0 bis 100
> annehmen kann und Stärke, Intelligenz und Agilität unbegrenzt sind,

Das macht keinen Sinn und dürfte berechnungsmäßig schwer zu
implementieren sein. Ich denke es kommt hier auch mit drauf an wie die
Werte "erspielt" werden können. Kann ich mir bspw. die Intelligenz
beliebig weit steigern und brauche dafür immer das selbe Geld, usw.? Ich
habe irgendwie das Gefühl das für eine funktionierende Rechnung nach
deinem Geschmack noch einige Informationen zur generellen Generierung
der genannten Werte fehlen.


> Der "Kampfwert" soll Spieler Auskunft darüber geben, ob sie stark
> genug sind, gegen einen anderen Spieler anzutreten - gemessen an ihrem
> eigenen Kampfwert.

Daher auch das Gefühl der fehlenden Werte. Ohne wirklich zu wissen wie
sich die Werte generieren lässt sich IMHO schlecht eine Aussage drüber
treffen wie fair oder unfair die Zusammenfassung der genannten Werte in
einen ist. Ich finde nämlich im Gegensatz zu meinen Vorrednern das die
Zusammenfassung in einen Wert nur sinnvoll ist, will man die Beurteilung
ob man stark genug ist für einen Kampf einigermaßen übersichtlich
halten. Nur dann sind IMHO mehr indirekte Werte für die Berechnung
notwendig um das ganze ordentlich gestalten zu können.

Ciao Markus
Markus Deckmann [ Di, 01 April 2008 12:25 ] [ ID #1933162 ]
PHP » de.comp.lang.php.misc » Erstellen eines "Kampfwertes" bei Onlinespiel

Vorheriges Thema: suche Programmierhelfer für PHP
Nächstes Thema: [FAQ-Hinweis] Lösungen für deine PHP-Probleme