Anmelden

Vollständige Version anzeigen : Staedtebauspiel in 3D?


tobing
25.08.2005, 21:39
Angeregt durch gewisse Diskussionen in den Entwicklerforen überlege ich gerade, aus der Allegro-Geschichte wieder auszusteigen und eine richtige 3D-Engine zu verwenden. Einerseits kann man isometrische Spiele damit auch machen, und andererseits könnte man ja auch hingehen und ein richtiges 3D-Spiel herstellen.



Denn: Die Engines (und hier rede ich ausschliesslich von Open Source!) sind ziemlich beeindruckend und fix, können also eine Menge. Und nachdem ich ja nun selbst versucht habe (ohne besonderes grossen Erfolg), ein paar ansprechende isometrische Grafiken für TNTrain herzustellen, könnte ich mir vorstellen, dass es nicht so viel schwieriger sein kann, einfache Polygonmodelle von kleinen Gebäuden mit Texturen zu überziehen und die dann in so eine 3D-Engine reinzustekcen.



Hat mal jemand Kartonmodelle gebaut? Das ist im Grunde genau sowas, und vielleicht könnte man sogar einfache Bögen scannen und ... naja, da gibt es vielleicht Möglichkeiten. Malen ist auch einfacher, wenn man nicht immerzu Pixel zählen muss, und immer muss alles in der richtigen Perspektive sein und so. Eine 3D-Engine macht das alles nämlich automatisch. Mit freier Kamerapositionierung!



Zur Auswahl stehen zur Zeit als Kandidaten einer solchen Engine:

Irrlicht

OGRE

Genesis3D

CrystalSpace

in der aktuellen Reihenfolge meiner Präferenz.



Hat irgendjemand von euch mit einer dieser Engines Erfahrung? Meinungen dazu? Was gehört? Bin für alle Hinweise dankbar, denn ich möchte das nur einmal programmieren, und zwar gleich mit der richtigen Engine. Als Kandidaten kommen natürlich nur lebende Projekte in Frage, mit aktiver Community, ist ja klar. Man muss ja wo was fragen können.



Und noch eine Frage: Wie sehen denn eure Vorlieben so aus, würdet ihr lieber im alten Stil Staedte bauen, also mit festgelegter Ansicht, isometrisch, oder mit einer Ansicht so wie bei CotN? Die Spielregeln hängen davon natürlich nicht ab, mein Ziel wäre nach wie vor ein Spiel nach den alten Regeln, also Pharao, zu programmieren. Zumindest zum grossen Teil, ein paar Änderungen habe ich da schon vor. Und die Grafiken werden auch in beiden Fällen nicht besonders schön, also kein Vergleich zunächst mal, weder mit Pharao noch mit CotN...

Realo
24.09.2005, 11:31
Leider habe ich vom Programmieren keine Ahnung, aber wenn ich mir die 2D-Grafik von der erste Kaiser anschaue, ziehe ich die aber jeder 3D-Grafik vor, zumal sie nicht nur gut aussieht sondern offensichtlich auch viel weniger Hardwarehunger hat.

Was mir an der erste Kaiser weniger gefällt, ist, daß die dargestellten Bürger auf den Straßen durch einander durchgehen. Ist sowas wie ein Kollisonsmodell in 2D nicht möglich?

Könnte man ein Kollisonsmodell schaffen, dann wäre es auch möglich, die Verkehrsstruktur in einer Stadt besser auszubauen. Wenn auf bestimmten Straßen viel Verkehr ist, könnten Staus entstehen und die Straßen müßten verbreitert werden.

Manni
24.09.2005, 11:58
..........weniger gefällt, ist, daß die dargestellten Bürger auf den Straßen durch einander durchgehen. Ist sowas wie ein Kollisonsmodell in 2D nicht möglich?



Doch, ist möglich!

Bei Siedler 3 & 4 sowie Cultures "weichen" die Männekins einander aus.

Realo
24.09.2005, 14:19
Welche Vorteile bietet eine 3D-Engine überhaupt für Strategiespiele? Drehbar ist 2D ebenfalls, sogar zoombar (Tropico), wobei ich auf Zoombarkeit auch verzichten kann.

2D-Grafik sieht eigentlich immer erheblich besser und detailreicher aus. Das einzige, was in 3D besser aussieht, ist Wasser aufgrund von Shadereffekten (breite Flüsse und Seen).

Auf Tag-/ und Nachtwechsel, die ich bisher nur in 3D gesehen habe, kann man eigentlich auch verzichten, weil nachts ist es eh finster und der Großteil der Bevölkerung schläft.

Ich weiß aber nicht, wie heute in der Spielindustrie gearbeitet wird. Manchmal habe ich den Eindruck, die Entwickler kaufen nicht nur eine Grafikengine, sondern aus Bequemlichkeit oder Zeitgründen das Gameplay gleich mit. Nur so kann ich es mir erklären, daß insbesondere RTS-Spiele sich alle so gleichen und so wenig Innovation stattfindet.

laser114
25.09.2005, 08:39
Welche Vorteile bietet eine 3D-Engine überhaupt für Strategiespiele? Drehbar ist 2D ebenfalls, sogar zoombar (Tropico), wobei ich auf Zoombarkeit auch verzichten kann.



:o

Du kannst auf zoombarkeit verzichten? Also, das verlange ich inzwischen von jedem guten Spiel, dass man auch mal herrauszoomen und sich die Welt bsser anschauen kann.



2D-Grafik sieht eigentlich immer erheblich besser und detailreicher aus. Das einzige, was in 3D besser aussieht, ist Wasser aufgrund von Shadereffekten (breite Flüsse und Seen).[/quote]



Das hängt von dem Grafiker ab. ;) Man kann auch ein komplettes ISO-2D Spiel mit einer 3D Engine machen, und sehr schöne Grafiken dazu entwickeln.[/quote]



Auf Tag-/ und Nachtwechsel, die ich bisher nur in 3D gesehen habe, kann man eigentlich auch verzichten, weil nachts ist es eh finster und der Großteil der Bevölkerung schläft.[/quote]



Tag- und Nachtwechseln ist davon unabhängig. ;)



Ich weiß aber nicht, wie heute in der Spielindustrie gearbeitet wird. Manchmal habe ich den Eindruck, die Entwickler kaufen nicht nur eine Grafikengine, sondern aus Bequemlichkeit oder Zeitgründen das Gameplay gleich mit. Nur so kann ich es mir erklären, daß insbesondere RTS-Spiele sich alle so gleichen und so wenig Innovation stattfindet.



Das hat aber auch wenig mit der Engine zu tun, sondern eher mit den Studios und ihren Konzepten.

Realo
25.09.2005, 15:36
Du kannst auf zoombarkeit verzichten? Also, das verlange ich inzwischen von jedem guten Spiel, dass man auch mal herrauszoomen und sich die Welt bsser anschauen kann.



Zoombarkeit und freie Drehbarkeit sind zwar nette Features, aber man muß auch sehen, was das für das Spiel und Gameplay bedeutet, was den Hardwarehunger angeht.

Ein durchschnittlicher Rechner kann bei einer 2D-Engine wahrscheinlich eine Stadt mit tausenden von Einwohnern berechnen, muß aber nur die Grafik im Fenster mit einem Bruchteil der Einwohner darstellen. Mit einer frei dreh-/ und zoombaren 3D-Engine dagegen gehen selbst Highendrechner schon bei wenigen hundert Einwohnern in die Knie.

tobing
26.09.2005, 09:06
Mit der heute selbst in etwas älteren PCs eingebauten Hardware ist eine einfache Darstellung in 3D mindestens genauso schnell anzuzeigen wie eine reine 2D-Darstellung. Performance wird erst dann interessant, wenn man von der 3D-Darstellung eine hohe Detailgenauigkeit verlangt. Generell sehe ich die Sache so, dass das eigentliche Spiel von der gewählten Darstellung komplett unabhängig sein sollte. Es ist nicht einfach, das auch so zu programmieren, aber zumindest im Design des Spiels darf die Darstellung noch keinen Einfluss haben.



Zoomen ist schön, Drehen kann manchmal nützlich sein, allerdings halte ich es meistens so, dass ich die Richtung meiner Ansicht nicht gross verändere, weil ich sonst die Orientierung verliere.



Nochwas zu 2D versus 3D. Ich habe ja bereits ein paar Grafiken zu 2D gemacht, und die Erfahrung dabei ist: Das ist nicht so einfach. Es ist sogar ausgesprochen schwierig, ansprechende 2D-Bildchen für ein Spiel herzustellen. Und für ein komplettes Spiel braucht man ewig viele von diesen Bildchen, das bedeutet also ewig viel Arbeit. Mit 3D wird das nicht wirklich einfacher, nur anders: Die Modelle brauchen ein bisschen mehr Zeit, man hat dafür aber gleich immer alle möglichen Ansichten parat, weil in diesem Fall ja das Rendering von der GraKa zur Laufzeit gemacht wird, und nicht vom Zeichner bei der Erstellung der vielen Bildchen. Des weiteren wird es auch erheblich einfacher sein, einen Grafiker zu finden, der Modelle herstellt, als einen, der noch Interesse hat, einfach 2D-Bildchen zu malen (falls man sich zur Fertigstellung eines solchen Spiels Hilfe sucht, zum Beispiel einen Grafiker).



Für mich sieht das so aus, dass ich im Grunde noch gar nicht gleich festlegen möchte, ob das Spiel ausschliesslich in 3D oder 2D zu sehen sein soll, sondern ich möchte versuchen die Archtiektur der Software so aufzuziehen, dass man noch eine geraume Zeit lang die Wahl hat, welches die endgültige Darstellung sein soll.



Kollision: Es mag schicker aussehen, wenn die Läufer nicht durcheinander hindurchgehen. ALlerdings erfordert dies eine Kollisionsbestimmung zwischen Hunderten oder gar Tausenden von kleinen Objekten, und das nicht nur im sichtbaren Kamerabereich! Eines der grossen Probleme in Punkto Performance ist genau diese umfangreiche Kollisionsberechnung, die nicht von der GraKa ausgeführt wird. Und spielerisch hat diese Kollision praktisch keine Bedeutung, jedenfalls nicht bei einem Städtebauspiel (im Gegensatz zu einem RTS-Spiel, damit nicht alle Einheiten auf einem Fleck stehen).



Hardwarehunger: Die Darstellungsgeschwindigkeit einer 3D-Variante hängt im Wesentlichen von der Anzahl gleichzeitig sichtbarer Polygone ab (die Gesamtzahl aller Polygone hat aber natürlich auch einen Einfluss). Diese Gesamtzahl kann man mit mehr Realismus beliebig hoch treiben, allerdings sollte es sich in Grenzen halten, wenn man eine gewisse Eckigkeit von Gelände und Häusern, aber vor allem Personen in Kauf nimmt. Man könnte zum Beispiel als Läufer einfach Mensch-Ärgere-Dich-Nicht Figuren in verschiedenen Farben nehmen, die zudem keine Kollisionen prüfen: Das würd dann eher nach einem Spiel als nach Realität aussehen, die Anzahl der Polygone aber sehr weit reduzieren, so dass auch schwächere GraKas ein paar Tausend davon darstellen können sollten.