| 

.NET C# Java Javascript Exception

0
Wie ist ein ordentliches selbstgeschriebenes Spieleframework aufgebaut d.h. welche Klassen sollte es grundlegend geben und wie werden GameStates am besten behandelt?
08.09.2009
BooTes 93 1 4
Das ist eine umfangreiche Frage. Darauf eine umfassende Antwort zu schreiben, benötigt viele Tastenanschläge ;)
Vielleicht solltest Du erst einmal erläutern, was Du mit Spieleframework meinst? Soll es ein echtes Framework werden? Also bei der Entwicklung jeglicher Spiele unterstützen. Oder meinst Du ein "Framework" passend zu dem Spiel, dass Du gerne entwickeln würdest?

Sollte es ein echtes Framework werden, musst Du Dir darüber klar werden, dass Du lange nicht alles abdecken kannst. Alleine die Abstraktion von der Grafikengine wird schwierig, da unklar ist, welches Spiel entwickelt wird.
anonym 08.09.2009
4 Antworten
1
Ein guter Einstiegspunkt ist vielleicht Enginuity Teil 1 bis 5.
08.09.2009
knivil 209 2
0
Ich muss mich Newlukai anschließen.
Allerdings haben sich zu dem Thema schon mal einige Leute Gedanken gemacht, z.B. hier:
3D Game Engine Architecture
Dieses Buch bezieht sich hauptsächlich auf die Darstellung, dein Framework soll vermutlich mehr können als das. Ein Anfang wäre es aber schon mal.

Ein Kapitel gibts auch online zum reinschnuppern:
Chapter 3 - Scene Graphs and Renderers
08.09.2009
Vector 61 1 2
0
auf jeden fall muß eine (oder mehrere) Spielerklasssen her.

Bei Rundenbasierten Spielen eine Klasse zum Abhandeln der Spielrunden (Vor- und Nachbereitung der Rundengeschehnisse)
Bei Realtime ist sicherlich ein eventhandler mit entsprechendem Stack sinnvoll um die anfallenden Events "vernünftig" abhandeln zu können.

Abhängig von der Art des Spieles brauchst du sicherlich eine "Spielwelt" also eine bestimmte Umgebung in der das Spiel stattfindet (Ein Ort, ein Thematisches Umfeld). Diese Spielwelt sollte in der Hierachie recht weit oben stehen.

Es würde aber sicher helfen, wenn Du eine ungefähre Vorstellung des Spiels hast, denn wie meine Vorredner schon bemerkt hhaben wirst du kein allgemein gültiges Framework finden.

Ein 3D-Shooter verhält sich eben doch ganz anders als eine Partie Skat.
08.09.2009
MiW 1,0k 1 8
0
Eigentlich kann ich mich meinen Vorrednern nur anschließen.

Allgemein lässt sich vll sagen, dass man solch komplexe Problemstellungen, meiner Meinung nach, mit dem bekannten Schema "Teile und Hersche" lösen kann. Soll heißen, man macht sich eine Liste, was das Framework alles können soll. Danach versucht man das Ganze irgendwie logisch zu Gliedern und zu Sortieren.

Als (ganz grobes!) Beispiel:
Du hast das "Problem", dass dem Benutzer irgendwas gerendert werden muss. Dafür brauchst du die Daten aber in geeigneter Form, das wär dein 2. "Problem". Damit hätten wir schonmal 2 Probleme, die, für sich betrachtet, recht leicht zu lösen sind.

Man teilt die Probleme also nach Möglichkeit immer in kleinere Teilprobleme auf für deren Lösung man dann den Code schreibt.

Wenn man dass soweit geschafft hat, sollte man die interne Darstellung der Daten von der externen Darstellung irgendwie abkapseln. (Ich hoffe ich hab mich hier jetzt nicht falsch ausgedrückt)
Damit man, sofern man eine neue, bessere Lösung für ein Teilproblem hat, nur den Code für das Teilproblem ändern muss und der ganze Rest auch weiterhin funktioniert. Ich bin mir ziemlich sicher, dass es dafür auch ein Schlagwort aus der Programmierung gibt, welches mir aber grade nicht einfällt.

Zu guter Letzt darf natürlich 1 nicht fehlen: eine gute Dokumentation. Über eine schöne Klassenhierarchie mit Memberfunktionen freu ich mich immer. Dazu dann noch einige Erläuterungen, was die jeweilige Memberfunktion macht, und ein paar Beispiele, damit bin ich eigentlich schon zufrieden.
08.09.2009
Shelling 356 1 3

Stelle deine Cplusplus-Frage jetzt!