Hi,
auch ich habe jetzt ein Problem, ich bin seit wochen am überlegen, wie ich am besten mein Kampfsystem mache... bis jetzt leider ohne Erfolg.
Es geht in dem Spiel darum, das man "eine" Person spielt diese Skilled und gegen andere Kämpfen kann/soll/muss wie mans sieht.
Darum wollte ich fragen, wie ich dieses Problem am besten löse... bin wie schon oben erwähnt bis jetzt ideen los geblieben...
Wenn mir jemand helfen könnte wäre ich euch sehr dankbar!
so long comFX
Kampfsystem
gepostet vor 19 Jahre, 7 Monate von comFX
gepostet vor 19 Jahre, 7 Monate von Grewo
hm, soeine art game hab ich net aber ich würde vll erstmal ganz einfach anfangen.(nehme einfach mal an dein kampf ist rundenbasiert und jeder skill verbraucht eine bestimmte menge energie)
also zb
Angriffsskills
1-> Schaden 10-15 (Energieverbrauch: 2)
2-> Schaden 20-30 (Ev: 3)
etc.
1 Verteidigungsskill -> Block von 15 (Ev: 4)
2 Verteidigungsskill -> Block von 30 (Ev: 6)
das kann man dann weiterführen in der art.
Flinke Hiebe -> 2x 5-10Schaden mit der chance von 10% zusätzlich 50Schaden zu verursachen...
---
da ich mich nur mit php und sql gut genug auskenne würde ich für jeden user eine spalte in einer Skill-tabelle erstellen.
Je nachdem ob skill erlernt oder net 1/0.
Die Daten für den jeweiligen skill aus ner neuen Tabelle mit den ganzen infos...
skill_id,skillname,schaden,block,verbrauch.
und für den kampf würde ich immer die zwischenwerte der hp und Energie in einer "Kampftabelle" aktualisieren.
kampf_id,kämpfer1,kämpfer2,hp1,hp2,e1,e2
der kampf ist dann zuende wenn hp==0 oder hp==0 || e==0 da der user ja ohne energie keine skills mehr ausführen kann.
ich hoffe damit helfe ich dir a bissl weiter
also zb
Angriffsskills
1-> Schaden 10-15 (Energieverbrauch: 2)
2-> Schaden 20-30 (Ev: 3)
etc.
1 Verteidigungsskill -> Block von 15 (Ev: 4)
2 Verteidigungsskill -> Block von 30 (Ev: 6)
das kann man dann weiterführen in der art.
Flinke Hiebe -> 2x 5-10Schaden mit der chance von 10% zusätzlich 50Schaden zu verursachen...
---
da ich mich nur mit php und sql gut genug auskenne würde ich für jeden user eine spalte in einer Skill-tabelle erstellen.
Je nachdem ob skill erlernt oder net 1/0.
Die Daten für den jeweiligen skill aus ner neuen Tabelle mit den ganzen infos...
skill_id,skillname,schaden,block,verbrauch.
und für den kampf würde ich immer die zwischenwerte der hp und Energie in einer "Kampftabelle" aktualisieren.
kampf_id,kämpfer1,kämpfer2,hp1,hp2,e1,e2
der kampf ist dann zuende wenn hp==0 oder hp==0 || e==0 da der user ja ohne energie keine skills mehr ausführen kann.
ich hoffe damit helfe ich dir a bissl weiter
gepostet vor 19 Jahre, 7 Monate von schokofreak
Schritt 1: Bestimmen der Skill Punkte / Skill Werte
Wo soll der Spieler Skillbar sein; wie heissen diese Werte genau?
Vorschlagen (in Unkenntniss deines Games) würde ich Dir hier die Werte:
- Angriffstaktik im Nahkampf (umso höhere Taktik; umso mehr der Schläge treffen)
- Angriffsstärke Nahkampf
- Verteidigungsstärke im Nahkampf
- Angriffstaktik im Vernkampf (Pfeilbogen) (umso höhere Taktik; umso mehr der Schläge treffen)
- Angriffsstärke im Fernkampf
- Verteidigungsstärke im Fernkampf
Nun sagen wir ganz einfach: Die Skills können von Wert 1 bis hin zu Wert 100 gehen. wobei 1 = keine Erfahrung und 100 = Cheffe der Cheffen.
Das Problem ist nun: Was bedeutet Skill 10? Resp 50 oder 100?
Der einfachste Ansatz ist der, dass man das ganze "umverteilt". Und zwar in solch einer Methode, dass Skill 10 zu Skill 20 eine gleiche Verbesserung der Kampfeskraft bedeutet wie Skill 20 zu Skill 30 oder 90 zu 100.
Danach gehts ans "Coden des Kampfes selber".
Taktik Spieler 1 - Taktik Spieler 2 gibt die effektiven Taktikvorteile, welche der Spieler hat.
Angriffsstärke Sp 1 - Verteidigungsstärke Sp 2 dito
und Angriff 2 - Vert 1 dito
Nun hast du 3 verschiedene Werte für einen Kampf:
1. Taktik; ist ein Grundsätzlicher Wert was für Vor / Nachteil Spieler 1 gegenüber Spieler 2 hat
2. Abstrakter Wert, welche Schaden angibt, welchen Spieler 1 bei Spieler 2 macht
3. Abstrakter WErt, welchen Schaden Spieler 2 bei Spieler 1 macht
Was machen?
Einen Schwellenwert definieren: alles über diesem Wert wird für diese 3 Werte auf diesen Gesetzt.
für alle 3 Messwerte durchführen.
Taktik wert nehmen. Taktikwert / Schwellenwert * ca. 0.5 (einfluss Taktik) * aktuellen Wert 2 = neuen Wert 2
das selbe einfach in andere Richtung für Wert 3.
Nun hast du noch 2 Werte.
Diese wiederum nach Oben abschneiden beim Schwellenwert.
Stärke der Waffe Spieler1 * (Wert 1 / Schwellenwert) * 0.5 + Waffe Spieler1 * 0.5
Gibt Schaden, welcher Spieler 1 macht. Schaden - Panzerungswert Spiler 2 gibt effektiven Schaden.
Das selbige Dito für umgekehrten Fall (Waffe Spieler2, Wert 2, Panzerung Spieler 1)
Schon hast du ein System, welches mit existenten Skills zwischen 1 und 100 sauber funktioniert.
Wie du den Skill- Gain bauen kannst, findest sicher selber raus.
aber vorsicht; das obige System ist noch relativ primitiv und zeigt schwächen auf Beispielsweise bei Spielern mit identischen Skills, gibt es gar nie eine Verletzung
Gruss
Wo soll der Spieler Skillbar sein; wie heissen diese Werte genau?
Vorschlagen (in Unkenntniss deines Games) würde ich Dir hier die Werte:
- Angriffstaktik im Nahkampf (umso höhere Taktik; umso mehr der Schläge treffen)
- Angriffsstärke Nahkampf
- Verteidigungsstärke im Nahkampf
- Angriffstaktik im Vernkampf (Pfeilbogen) (umso höhere Taktik; umso mehr der Schläge treffen)
- Angriffsstärke im Fernkampf
- Verteidigungsstärke im Fernkampf
Nun sagen wir ganz einfach: Die Skills können von Wert 1 bis hin zu Wert 100 gehen. wobei 1 = keine Erfahrung und 100 = Cheffe der Cheffen.
Das Problem ist nun: Was bedeutet Skill 10? Resp 50 oder 100?
Der einfachste Ansatz ist der, dass man das ganze "umverteilt". Und zwar in solch einer Methode, dass Skill 10 zu Skill 20 eine gleiche Verbesserung der Kampfeskraft bedeutet wie Skill 20 zu Skill 30 oder 90 zu 100.
Danach gehts ans "Coden des Kampfes selber".
Taktik Spieler 1 - Taktik Spieler 2 gibt die effektiven Taktikvorteile, welche der Spieler hat.
Angriffsstärke Sp 1 - Verteidigungsstärke Sp 2 dito
und Angriff 2 - Vert 1 dito
Nun hast du 3 verschiedene Werte für einen Kampf:
1. Taktik; ist ein Grundsätzlicher Wert was für Vor / Nachteil Spieler 1 gegenüber Spieler 2 hat
2. Abstrakter Wert, welche Schaden angibt, welchen Spieler 1 bei Spieler 2 macht
3. Abstrakter WErt, welchen Schaden Spieler 2 bei Spieler 1 macht
Was machen?
Einen Schwellenwert definieren: alles über diesem Wert wird für diese 3 Werte auf diesen Gesetzt.
für alle 3 Messwerte durchführen.
Taktik wert nehmen. Taktikwert / Schwellenwert * ca. 0.5 (einfluss Taktik) * aktuellen Wert 2 = neuen Wert 2
das selbe einfach in andere Richtung für Wert 3.
Nun hast du noch 2 Werte.
Diese wiederum nach Oben abschneiden beim Schwellenwert.
Stärke der Waffe Spieler1 * (Wert 1 / Schwellenwert) * 0.5 + Waffe Spieler1 * 0.5
Gibt Schaden, welcher Spieler 1 macht. Schaden - Panzerungswert Spiler 2 gibt effektiven Schaden.
Das selbige Dito für umgekehrten Fall (Waffe Spieler2, Wert 2, Panzerung Spieler 1)
Schon hast du ein System, welches mit existenten Skills zwischen 1 und 100 sauber funktioniert.
Wie du den Skill- Gain bauen kannst, findest sicher selber raus.
aber vorsicht; das obige System ist noch relativ primitiv und zeigt schwächen auf Beispielsweise bei Spielern mit identischen Skills, gibt es gar nie eine Verletzung
Gruss