Delphi-PRAXiS
Seite 2 von 5     12 34     Letzte »    

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Sonstige Fragen zu Delphi (https://www.delphipraxis.net/19-sonstige-fragen-zu-delphi/)
-   -   Delphi OOP und RPG (https://www.delphipraxis.net/56314-oop-und-rpg.html)

Der_Unwissende 3. Nov 2005 21:30

Re: OOP und RPG
 
Na ja, die Idee hinter dem Vererben ist es natürlich, dass du dem Grundcharakter erstmal alle sehr allgemeinen Eigenschaften zuweist (e.g. Name, Aussehen, Job, ...).
Dann erben von denen die Spezielleren Charaktere, die haben (dadurch dass sie den allgemeinsten beerben schon all dessen Eigenschaften). Alle erbenden werden dann weiter unterteilt in speziellere Erben. So könntest du von ganz Allgemein Charakter (mit Name, Aussehen und Job) eine Klasse NPC und eine Klasse Characters ableiten. Dann hat ein NPC also auch einen Namen, einen Job und ein Aussehen. Das wird sicher auch jeder Character haben. Doch wird ein NPC wohl eher nie krank und wenn er in Ruhe in seinem Haus sitzt interessieren dich wohl auch die LPs weniger.
Den Characters könntest du noch weitere Eigenschaften geben (Lebenspunkte, Mana, Gegenstände, was weiß ich...).

Beim Abspeichern musst du dir nur überlegen, wie du alles am besten ablegen (und wieder laden) kannst. Meine damit garnicht, dass du dir überlegen sollst ob nun IniFile, XML oder Records (wie speichert man denn die direkt?). Sondern vielmehr welche Daten du hast und wie man die am besten Strukturiert. Du kannst zum Beispiel in einer zip-Datei (mit eigener Erweiterung != .zip) mehrere Dateien anlegen. In einer speicherst du dann nur, was zu deinem Avatar gehört, in ner anderen die erfüllten Quests oder so...
Zum Speichern, letztlich ist ein Stream nur ein sehr einfaches Modell. Du streamst (wer hätte das Gedacht) einfach ein paar Bytes weg. Wo die hingehen wird durch den Stream komplett abstrahiert. Könnte ein Netzwerk sein, eine File oder was ganz anderes. Sehr Flexibel, aber halt eher low-level. Also beim Laden hast du dann nur Bytes und musst dir halt vorher ne Struktur überlegen, wo was liegt. Aber beim Speichern und Laden von eigenen Daten kommst du da eh weniger drum rum. Also heißt es erstmal die Struktur zum Laden/Speichern überlegen. Was muss gespeichert werden? Wie kann man das flexibel halten (weitere Daten hinzufügen, alte entfernen...)

malo 3. Nov 2005 21:47

Re: OOP und RPG
 
Zitat:

Zitat von Speedmaster
Allerdings musst du bedenken das du wenn du jeden Charakter als Klasse abbildest du bei jedem Patch den Code ändern musst. Daher empfiehlt es sich .NET zu verwenden, da du dort jeden Charakter in eine Assembly packen kannst, und diese Dynamisch laden!

Und was ist so schlimm daran, .DLLs zu nehmen? :gruebel: Ist doch eigentlich genau das gleiche.

3_of_8 3. Nov 2005 21:57

Re: OOP und RPG
 
Der is halt grade auf dem .NET Trip. :mrgreen:

malo 3. Nov 2005 21:58

Re: OOP und RPG
 
Zitat:

Zitat von 3_of_8
Der is halt grade auf dem .NET Trip. :mrgreen:

Naja, solange mans nicht übertreibt, soll es mir recht sein... :zwinker:

3_of_8 3. Nov 2005 22:10

Re: OOP und RPG
 
Ich frage mich auch, was er mit OpenGL will. Für das, was wir vorhaben ist es nicht nötig, plattformübergreifend zu werden.

@Master_RC: Wenn du mal allgemein Hilfe brauchst (wenn du weiter bist, Charaktere, Quests, Maps, Story usw.) wäre ich froh, wenn du mich fragen würdest. Ich hätte seeehr gerne ein RPG á la DivineDivinity (nur so ungefähr, nie so eine hohe Qualität) hingekriegt, bin aber dafür wohl zu dumm/newbig.

Der_Unwissende 3. Nov 2005 22:25

Re: OOP und RPG
 
Mal ganz allgemein und damit Off-Topic?, nehmt immer das womit ihr es am leichtesten hinbekommt. Und wenn jmd. ein super RPG in 3D nur in Lisp schreiben kann, dann sollte er/sie halt Lisp benutzen. Also letztlich sind alle Programmiersprachen (annähernd) gleichmächtig, auch wenn es in einigen ein, zwei Zeile mehr Code braucht.
Selbes gilt natürlich auch für OpenGL (kann nicht sehen dass es hier jmd. empfohlen hat) und DelphiX (und allem anderen). Kann hier nur sagen was schon gaaaaaanz viele vor mir sagten, ist einfach nur Geschmackssache. Denke jeder hat da seine Gründe und Vorlieben und wen interessiert bitte ob ein Spiel mittels OpenGL oder DirectX oder KryptaV7build 28 alpha gemacht wurde, hauptsache es sieht nett aus und macht Spaß.
Also nie reinreden lassen und nehmen was einem liegt!

Speedmaster 3. Nov 2005 22:25

Re: OOP und RPG
 
Zitat:

Zitat von malo
Zitat:

Zitat von Speedmaster
Allerdings musst du bedenken das du wenn du jeden Charakter als Klasse abbildest du bei jedem Patch den Code ändern musst. Daher empfiehlt es sich .NET zu verwenden, da du dort jeden Charakter in eine Assembly packen kannst, und diese Dynamisch laden!

Und was ist so schlimm daran, .DLLs zu nehmen? :gruebel: Ist doch eigentlich genau das gleiche.

.NET DLL <> WIN32 DLL, man hat z.b. keinen freien Zugriff auf Klassen und Strukturen die in der Assembly, oder ich habe was die ganzen Jahre verpennt! :mrgreen:

Naja, es gibt einige Vorteile, z.b. das benutzen von List<> ermöglicht jedes beliebige Objekt mit beliebig vielen Eigenschaften in eine Liste zu fassen.
Zudem lassen sich neue Spielelemente ohne großes Umschreiben hinzufügen.

Es für viele Spielefirmen auch keinen Grund nicht .NET zu verwenden( Ausser vielleicht der etwas bessere lesbare Code ), nur haben sie den großen Teil ihrer Engine schon in C++ geschrieben und das wäre zuviel Arbeit es umzuschreiben in einen .NET Dialekt.



Zitat:

Zitat von 3_of_8
Ich frage mich auch, was er mit OpenGL will. Für das, was wir vorhaben ist es nicht nötig, plattformübergreifend zu werden.

Schon wieder OT! :mrgreen:
Du glaubst garnicht wieviele Spielefirmen inzwischen Linuxversionen mit auf die CD packen!

Master_RC 3. Nov 2005 22:26

Re: OOP und RPG
 
Zitat:

Zitat von 3_of_8
@Master_RC: Wenn du mal allgemein Hilfe brauchst (wenn du weiter bist, Charaktere, Quests, Maps, Story usw.) wäre ich froh, wenn du mich fragen würdest. Ich hätte seeehr gerne ein RPG á la DivineDivinity (nur so ungefähr, nie so eine hohe Qualität) hingekriegt, bin aber dafür wohl zu dumm/newbig.

du weißt schon, dass DivineDivinity ein sehr sehr tiefes und gründlich programmiertes RPG ist? :roll:
ich denke kaum, dass ich soweit komme ;)


@Der_Unwissende:
Gut... dann wären da wieder Fragen: Wie geht das mit dem Vererben, bzw. wie stelle ich das am blödsten an?
Und... wie kann ich dann so eine Art ZIP-Archiv ertsllen?
Wegen den verschiedenen Dateien:
Ich hatt ja schonmal ein RPG versucht ;)
Da hab ich dann eben für jeden Charakter/Avatar einen exra Ordner angelegt, in dem jede Menge Dateien waren ^^
Und... wie kann ich "streamen"? Wie schwer ist das?
[ot]Mir kommts so vor, als ob du schon einige Erfahrung damit gesammelt hast... (Und du hast Spellforce gespielt ;) )[/ot]

3_of_8 3. Nov 2005 22:28

Re: OOP und RPG
 
[ot]Meinst du mich?[/ot]

Übrigens: Ich habe geschrieben:
nur so ungefähr, nie so eine hohe Qualität

Also, ich habe das auch nicht erwartet.
ZIP kriegste mit der ZLib hin. Guck mal in www.delphi-source.de

Speedmaster 3. Nov 2005 22:30

Re: OOP und RPG
 
Zitat:

Zitat von Der_Unwissende
Mal ganz allgemein und damit Off-Topic?, nehmt immer das womit ihr es am leichtesten hinbekommt. Und wenn jmd. ein super RPG in 3D nur in Lisp schreiben kann, dann sollte er/sie halt Lisp benutzen. Also letztlich sind alle Programmiersprachen (annähernd) gleichmächtig, auch wenn es in einigen ein, zwei Zeile mehr Code braucht.
Selbes gilt natürlich auch für OpenGL (kann nicht sehen dass es hier jmd. empfohlen hat) und DelphiX (und allem anderen). Kann hier nur sagen was schon gaaaaaanz viele vor mir sagten, ist einfach nur Geschmackssache. Denke jeder hat da seine Gründe und Vorlieben und wen interessiert bitte ob ein Spiel mittels OpenGL oder DirectX oder KryptaV7build 28 alpha gemacht wurde, hauptsache es sieht nett aus und macht Spaß.
Also nie reinreden lassen und nehmen was einem liegt!

Die Aussage halte ich für ein Gerücht, aber das wird echt zu OT( Hmm wer hat das schonwieder angestiftet *schief auf 3_of_8 gucke* :mrgreen: ).

Versuch mal DirectX ohne emulator auf Linux zum laufen zu bekommen. Oder schreib mir mal ein Game mit Brainf*ck( Ok schlechtes Beispiel ), sicherlich hat jeder Vorlieben, aber warum nichts neues Probieren?


Alle Zeitangaben in WEZ +1. Es ist jetzt 03:59 Uhr.
Seite 2 von 5     12 34     Letzte »    

Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz