Du bist nicht angemeldet.

Stilllegung des Forums
Das Forum wurde am 05.06.2023 nach über 20 Jahren stillgelegt (weitere Informationen und ein kleiner Rückblick).
Registrierungen, Anmeldungen und Postings sind nicht mehr möglich. Öffentliche Inhalte sind weiterhin zugänglich.
Das Team von spieleprogrammierer.de bedankt sich bei der Community für die vielen schönen Jahre.
Wenn du eine deutschsprachige Spieleentwickler-Community suchst, schau doch mal im Discord und auf ZFX vorbei!

Werbeanzeige

1

27.05.2015, 19:08

Coop RPG: "Learning by Doing" & "Exp Sharing" verbinden

Hi, ich arbeite im Moment an einem Coop RPG (im Stile eines Hack'n'Slay Dungeoncrawlers) und überlege derzeit wie ich das Sammeln von Exp implementiere.

Bisherige Ideen: Prinzipiell möchte ich auf ein explizites Klassen-System (Krieger, Paladin, Waldläufer, Hexenmeister etc.) verzichten. Wenige Klassen anzubieten schränkt die Spieler imho zu stark ein; viele Klassen anzubieten finde ich zwecks Übersichtlichkeit nicht förderlich. Daher tendiere ich eher zu einem freien Character-System, d.h. man verbessert das was man verbessern will ohne auf Klassenbeschränkungen achten zu müssen. Folglich sind de facto keine Grenzen gesetzt (außer der mangelnden Spielbarkeit zu utopischer Builds ^^). Dazu kommt ein "Learning-by-Doing"-Ansatz, den ich bei Dungeon Siege beobachtet habe: Dort gibt es 4 Talente (Nahkampf, Fernkampf, Kampfmagie, Naturmagie) und jede Waffe bzw. jeder Zauber fällt in genau einer dieser Kategorien. Greift der Spieler mit Waffe X an oder verwendet Zauber Y (egal ob offensiver oder defensiver Zauber), verbessert sich (abhängig z.B. vom angerichteten Schaden) das jeweilige Talent.

Mein Problem: Nun versuche ich das ganze Prinzip "Coop-fähig" zu machen. Mein Problem dabei ist, dass ich mit Sicherheit mit Balancing-Problemen zu kämpfen habe. Ein einfaches Beispiel: Wenn ein starker Nahkämpfer und ein Heiler zusammen spielen kann es vorkommen, dass der Nahkämpfer mal über längere Strecken gar keiner Heilung bedarf, d.h. der Heiler seine Zauber gar nicht anwenden kann. Entsprechend würde er nicht leveln und die Schere zwischen beiden Spielern trotz Zusammenspiel mit der Zeit auseinander gehen.

Lösungsidee: Die "klassische" Lösungsidee ist vermutlich Exp zwischen den Gruppenmitgliedern zu teilen (ggf. mit Restriktionen bzgl. der Level). Nehmen wir das gleiche Beispiel nochmal: Der Nahkämpfer habe Nahkampf-Talent Lvl X, der Heiler ein Magie-Talent Lvl Y. Dann sollten sich mit der Zeit das Nahkampftalent des Nahkämpfers und das Magietalent des Heilers verbessern. Die Frage ist nur: Woran mache ich fest, was das "aktive Talent" jedes Spielers ist?
  • Lasse ich das den Spieler explizit auswählen, habe ich vom Effekt her nichts anderes als ein "klassisches" Exp-Sammeln; im Extremfall lernt der angehende Bogenschütze das Bogenschießen vom "Zusehen", wie der Nahkämpfer mit der Axt metzelt .. das ist gerade das was ich vermeiden möchte :D
  • Lege ich das "aktive Talent" über die Waffe fest (d.h. Schwert -> Nahkampf; Bogen -> Fernkampf; Stab -> Magie) erzwinge ich, dass ein Heiler zum Magie-Leveln auch zwingend einen Stab trägt .. ist es aber ein Fernkampf-Magie-Hybrid (z.B. im Stile Bogenschießen + Heilen) habe ich hier wieder ein Problem.
  • Lege ich das "aktive Talent" über den aktiv gewählten Skill fest (z.B. Wundheilung -> Magie) fehlt mir hier die Zuordnung bzgl. Nah- und Fernkampf. Die Steuerung ist (auch wegen des Gamepad-Supports) auf wenige Tasten reduziert; hierfür relevant sind "Angreifen" (mit der jeweiligen Waffe) und "Zaubern" (mit dem jeweilige Zauber oder ggf. Skill; vgl. Diablo 2 Barbaren Schreie oder sowas ^^). Für Nah- und Fernkampf noch zwei "Standard-Skills" (Hieb bzw. Schuss) einzuführen (die ZWINGEND gewählt sein müssen) macht irgendwie nicht viel Sinn denke ich. Oder andersrum: Angenommen man hat den besagten Fernkampf-Heiler-Hybrid; Waffe: Bogen, Zauber: Wundheilung. Trainiert sich nun der Fernkampf oder die Magie? Oder beides?

So wirklich zufrieden bin ich mit keiner Lösung bisher :S Was denkt ihr: Lassen sich "Learning-by-Doing" und Exp-Sharing sinnvoll miteinander verbinden? Oder habt ihr eine Idee wie ich das angesprochene Balancing-Problem sonst lösen kann (ohne "Learning-by-Doing" zu kippen)? Ich bin auf eure Ideen gespannt :)

LG Glocke

2

27.05.2015, 20:13

So wirklich zufrieden bin ich mit keiner Lösung bisher :S Was denkt ihr: Lassen sich "Learning-by-Doing" und Exp-Sharing sinnvoll miteinander verbinden? Oder habt ihr eine Idee wie ich das angesprochene Balancing-Problem sonst lösen kann (ohne "Learning-by-Doing" zu kippen)? Ich bin auf eure Ideen gespannt :)

Eine Idee zu dem Problem hätte ich, da ich nicht weiß welche Skills es geben wird schreibe ich mal paar Beispiele.

Schutzzauber der Schaden absobiert gibt dem Zauberer für jeden absobierten Schadenspunkt die gleich Menge an Erfahrung für den Magie Skill.
Schaden der über eine Rüstung absobiert wird geht in höhe des absobierten schadens in den jeweiligen Rüstungsskill (Platte/Kette/Leder/Stoff).
Nahkampf-Fern-Magie schaden der Verursacht wird geht 1 zu 1 in den jeweiligen Skill.
Heilzauber geben auch 1 zu 1 die Erfahrung in den Skill.

Dies soll gelten wenn jemand solo Spielt.

Wird im Coop-Modus gespielt werden die XP gesammelt und gehen in ein XP-Pool. Jedem spieler stehen aus diesem Pool der gleiche Anteil zu. (bei 2 Spieler jedem 50%, bei 3 Spieler jedem 33% usw.)
Jetzt wird für jeden Spieler mit getrackt welcher Skill wieviel Schaden verursacht / wieviel Heilung / Schaden absobiert wird.

An einem Zeitpunkt X werden dann die XP aus dem Pool an die Spieler verteilt.

Im Pool befinden sich 1000 XP
Spieler 1 hat 100 Schaden verursacht und 500 schaden durch seine Rüstung absorbiertgeheilt.
Spieler 2 hat 800 Schadenspunkte geheilt und 200 Schadenspunkte absorbiert durch Schutzzauber.
Beide bekommen 500 XP, bei Spieler 1 gehen dann (100 / 600) * 500 XP in den Schadenverurschenden Skill und (500/600)*500 XP in sein Rüstungsskill,
bei Spieler 2 (800/1000) * 500 XP in den Heilungsskill und (200/1000) * 500 XP in den Schutzzauberskill.

Ich hoffe es ist einigermaßen Verständlich wie ich das Meine.

Schwachpunkt ist dann allerdings eine Totale Schieflage wenn ein Spieler gar nichts macht.

Gruß Koschi
Wer aufhört besser werden zu wollen hört auf gut zu sein!

aktuelles Projekt:Rickety Racquet

PuppetMaster

Frischling

Beiträge: 20

Beruf: Embedded-System Entwickler (C++)

  • Private Nachricht senden

3

02.06.2015, 21:52

So wirklich zufrieden bin ich mit keiner Lösung bisher :S Was denkt ihr: Lassen sich "Learning-by-Doing" und Exp-Sharing sinnvoll miteinander verbinden? Oder habt ihr eine Idee wie ich das angesprochene Balancing-Problem sonst lösen kann (ohne "Learning-by-Doing" zu kippen)? Ich bin auf eure Ideen gespannt :)

LG Glocke

Hi,
ein Levelsystem nach dem Vorbild von Grandia könnte passen.

Die Charaktere bekommen für besiegte Gegner normal XP (egal ob sie im Kampf Schaden gemacht haben oder nur herumstehen).
Beim Levelup steigen die Attribute ganz normal an (oder es gibt verteilbare Attributs Punkte etc.).
Jede Waffenkategorie und jede Magiekategorie hat ein eigenes Level, mit dem Kategorie-Level steigen bestimmte Attribute.
Durch den Einsatz von Waffen oder Magie erhält der Spieler XP in der entsprechenden Kategorie.

Beispielbild für die Magie in Grandia: http://prntscr.com/7cdjgh
Wenn z.B. die Erdmagie im Level steigt erhöht sich die MP um +2 und die Stärke um +1.

Durch ein solches System entstehen Anreize um aktiv zu spielen ohne Coop XP zu entwerten.


Bei dem Button Problem rate ich zum klassischen Secret of Mana Style:
Einfaches drücken führt einen Angriff aus, Knopf gedrückt halten lädt einen Spezialangriff auf wenn die Voraussetzungen erfüllt wurden (oder halt bis zu 8 Spezialangriffe wie im Fall von Secret of Mana)


MfG
PuppetMaster

Zitat von »"Billy Talent - Fallen Leaves"«

Run away before you drown, or the streets will beat you down.
Fallen leaves, fallen leaves, fallen leaves on the ground.

KeksX

Community-Fossil

Beiträge: 2 107

Beruf: Game Designer

  • Private Nachricht senden

4

03.06.2015, 17:57

Ich glaube du versuchst ein Problem zu lösen, das es gar nicht gibt. Wenn ein Spieler in einem Kampf ist, für die er keine Kollegen mehr braucht, dann ist das halt so. Er ist zu stark für den Gegner und sollte sich stärkere suchen. Nicht jeder Kampf muss fordernd sein.
WIP Website: kevinheese.de

5

03.06.2015, 18:29


Ich glaube du versuchst ein Problem zu lösen, das es gar nicht gibt. Wenn ein Spieler in einem Kampf ist, für die er keine Kollegen mehr braucht, dann ist das halt so. Er ist zu stark für den Gegner und sollte sich stärkere suchen. Nicht jeder Kampf muss fordernd sein.


Darum geht es hier, ja nicht wirklich.

Glocke möchte ein System haben das auf basis der Skillnutzung die Skill's steigert.
Unter Umständen kann es aber passieren das ein Tank sein Angriffsskill häufiger nutzt wie ein Healer sein Healskill.
Somit würde der Angriffskill den Healskill überholen und das zusammenspiele der beiden funktioniert dann nicht mehr so richtig.
Wer aufhört besser werden zu wollen hört auf gut zu sein!

aktuelles Projekt:Rickety Racquet

6

03.06.2015, 18:37

Glocke möchte ein System haben das auf basis der Skillnutzung die Skill's steigert.
Unter Umständen kann es aber passieren das ein Tank sein Angriffsskill häufiger nutzt wie ein Healer sein Healskill.
Somit würde der Angriffskill den Healskill überholen und das zusammenspiele der beiden funktioniert dann nicht mehr so richtig.

Genau so ist es :thumbup:

/EDIT:
Bei den bisherigen Vorschlägen fehlt mir der die Talentsteigerung auf Basis der Talentnutzung.

Spontaneinfall (d.h. hab das noch nicht 100%ig zu Ende gedacht):
  • Immer wenn es Exp gibt, wird diese (erstmal egal wie) unter den Spielern gleichmäßig aufgeteilt.
  • Alle aktiv teilnehmenden Spieler (d.h. jene, die mit ihrer Waffe angreifen oder einen Skill/Spell nutzen) bekommen die Exp sofort auf das entsprechende Talent angerechnet.
  • Alle "passiven" Spieler (z.B. der Heiler der gerade nix zu tun hat), bekommt die Exp erstmal nur gestackt bis er wieder "etwas macht" - dann geht ein Teil der gestackten Exp in das zugehörige Talent - d.h. er kann sie nicht ansammeln und dann auf einen Schlag holen. Dazu bekommt er natürlich auch die reguläre Exp für das "aktiv sein."
Man müsste sich natürlich überlegen wie viel Exp dann aus dem persönlichen "Vorrat" genommen wird. Ggf. sollte man vllt. auch einen Malus fürs "passive Exp-Ansammeln" geben, damit nicht einer die Arbeit machen muss und der Rest nur hinterher rennt :D

Dieser Beitrag wurde bereits 3 mal editiert, zuletzt von »Glocke« (03.06.2015, 18:46)


7

03.06.2015, 19:08

Hört sich sehr nach meinem Vorschlag an :D

Da wird es dann je nach Skillnutzung auf Basis der % Wert verteilt.
Wer aufhört besser werden zu wollen hört auf gut zu sein!

aktuelles Projekt:Rickety Racquet

KeksX

Community-Fossil

Beiträge: 2 107

Beruf: Game Designer

  • Private Nachricht senden

8

03.06.2015, 19:11

Ich bleibe dabei: Wenn du in einer Gruppe spielst und der Krieger keiner Heilung vom Heiler bedarf, dann ist er zu stark. Du belohnst damit Spieler fürs Nichts-Tun und ich weiß nicht so recht ob das Sinn der Sache ist.

In der Regel nimmst du doch Kollegen ins Team, um mehr zu schaffen als vorher.
WIP Website: kevinheese.de

9

03.06.2015, 19:15

Ich bleibe dabei: Wenn du in einer Gruppe spielst und der Krieger keiner Heilung vom Heiler bedarf, dann ist er zu stark. Du belohnst damit Spieler fürs Nichts-Tun und ich weiß nicht so recht ob das Sinn der Sache ist.

In der Regel nimmst du doch Kollegen ins Team, um mehr zu schaffen als vorher.


Sicher wenn ich mit Randomspieler spiele ist es mir schnuppe. Wenn ich aber mit jemanden spiele den ich in RL kenne will ich auch "sinnvoll" mit ihm spielen.

Soweit ich das im Kopf habe, kann man ja auch zusammen auf einem Rechner spielen.
Wer aufhört besser werden zu wollen hört auf gut zu sein!

aktuelles Projekt:Rickety Racquet

KeksX

Community-Fossil

Beiträge: 2 107

Beruf: Game Designer

  • Private Nachricht senden

10

03.06.2015, 19:16

Ich bleibe dabei: Wenn du in einer Gruppe spielst und der Krieger keiner Heilung vom Heiler bedarf, dann ist er zu stark. Du belohnst damit Spieler fürs Nichts-Tun und ich weiß nicht so recht ob das Sinn der Sache ist.

In der Regel nimmst du doch Kollegen ins Team, um mehr zu schaffen als vorher.


Sicher wenn ich mit Randomspieler spiele ist es mir schnuppe. Wenn ich aber mit jemanden spiele den ich in RL kenne will ich auch "sinnvoll" mit ihm spielen.

Soweit ich das im Kopf habe, kann man ja auch zusammen auf einem Rechner spielen.



Ja eben. "Hey du willst du mit mir spielen? Ich brauch dich zwar nicht, weil ich alles alleine schaffe, aber du kannst ja zugucken und später nachleveln" - so ist das doch sicherlich nicht gewollt, oder? ;)

Also ich würde z.B. absichtlich Schaden kriegen damit mein Heiler endlich die XP nachholen kann.
WIP Website: kevinheese.de

Werbeanzeige