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

Databyte

Alter Hase

  • »Databyte« ist der Autor dieses Themas

Beiträge: 1 040

Wohnort: Na zu Hause

Beruf: Student (KIT)

  • Private Nachricht senden

1

17.02.2008, 14:09

Zauber/Waffen realisieren

Hallo

wollte mal fragen wie man Zauber in Spielen realisiert.
Denn jeder Zauber sieht anders aus, wirkt anders etc....

Man könnte jeden Zauber direkt implementieren, aber dann
ist es doch schlecht erweiterbar... man könnte auch Plugins benutzen
oder halt Script-sprachen...

Das gleiche mit Waffen.... wie würdet ihr sowas machen oder gibt es noch eine
bessere Möglichkeit ?

Fred

Supermoderator

Beiträge: 2 121

Beruf: Softwareentwickler

  • Private Nachricht senden

2

17.02.2008, 14:21

Ich würde die Infos über jede Waffe in einer Ini-Datei speichern. Dann eine Struktur für eine Waffe erstellen, die Sachen, wie Modell, Munition, Geschoss etc. enthält und dann für jeden Waffentypen eine "Waffe" erstellen und die Daten aus der INI-Laden.
Bei Zauber das gleiche mit Werten, wie: Partikel, Stärke, Reichweite, Mana-Verbrauch, etc.
Wobei man evtl. sogar alles in eine Struktur packen kann und zwar, wenn man beispielsweise das nötiogste in einer Geschoss-Klasse realisiert und eben bei einerm Gewehr Kugel rauskommen und bei einem Zauberstab Feuerbälle und dann muss man die Strukturen eben vereinen und kann so auch Schusswaffen, die einen magischen Effekt haben erzeugen. Bei Schlagwaffen muss man das halt ggf. extra vermerken und Schaden bestimmen etc.

3

17.02.2008, 16:58

@Fred: Das würde aber Problematisch, wenn die Zauber ihren jeweiligen Effekt auf unterschiedliche Weise berechnen sollen. In dem Fall würde ich zum Einsatz von Skripten tendieren.

TrommlBomml

Community-Fossil

Beiträge: 2 117

Wohnort: Berlin

Beruf: Software-Entwickler

  • Private Nachricht senden

4

17.02.2008, 17:30

es gibt noch eine andere möglichkeitm, die das vorgehen wie eine datenbank ermöglicht. cih meine zauber /waffen sind zwar sehr unterschiedlich, aber es gibt eine endliche anzahl an zustandsänerungenm, scahdenberechnungen u. ä. ich würde das in einer datenbank packen, bei dem man den zauber klassifiziert und enstprechend datenfelder einträgt. ist zwar etwas speicherlastiger, spart aber internen beabeirtungsaufwandt / wartungsaufwandt.

5

17.02.2008, 19:10

Erstmal ne lange Liste an Waffen machen und dann auf Gemeinsamkeiten schauen.
Die allermeisten Waffen verschießen wohl einfach nur Objekte. Feuerbälle, Kugel, Flammenpartikel (bei nem Flammenwerfer).
Dann gibts Werte für Frequenz, Genauigkeit, Geschwindigkeit (der Partikel), und Art der Partikel (diese umfasst Grafiken, Schaden und wer weiß was noch).
Wenn es jetzt noch andere Waffen (z.B: Nahkampf) gibt, benötigen die wohl eine andere Kategorie, als Schusswaffen.

Letztendlich kann man dann noch eine Skriptmöglichkeit bieten, wobei Skripte langsamer als kompilierter C++ Code sein werden, daher könntest du alle Schusswaffen in C++ behandeln (dann mit Parametern) und exoitischerere Waffen mit Skripten.
Lieber dumm fragen, als dumm bleiben!

Fred

Supermoderator

Beiträge: 2 121

Beruf: Softwareentwickler

  • Private Nachricht senden

6

17.02.2008, 22:04

Zitat von »"PCShadow"«

@Fred: Das würde aber Problematisch, wenn die Zauber ihren jeweiligen Effekt auf unterschiedliche Weise berechnen sollen. In dem Fall würde ich zum Einsatz von Skripten tendieren.


Ich weiß nicht genau we du das meinst. Das berechnen des Effekts kann man ja je nach Typ unabhängig voneinander machen

dot

Supermoderator

Beiträge: 9 757

Wohnort: Graz

  • Private Nachricht senden

7

17.02.2008, 23:16

ich würd mal sagen dass polymorphie eine wirklich tolle erfindung ist... ;)

8

19.02.2008, 16:20

@Fred: ich bezog mich auf auf die Tatsache, dass es in RPGs viele verschiedene Werte gibt und - je nach System - vermutlich die Zauber die diversen Werte auf vollkommen unterschiedliche Weise zur Berechnung der Folgen heranziehen. Und irgendwann wird das dann auch irgendwann mit der C++-implementierten Typisierung schwierig. Es ist zugegebenermaßen fraglich ob dieses "irgendwann" von einem Hobbyprogrammierer erreicht wird...

Werbeanzeige