2009-10-19 4 views
5

Ich habe seit einiger Zeit an einem Java-Simulationsspiel gearbeitet (das Thema Krankenhaus auf meine eigene Art neu gestaltet). Bis jetzt habe ich alles in 2d getan, Quadrate und Kreise etc. verwendend. Ich habe nach einigen Tutorien gesucht, wie man 3d in Java tut, fand Koks und Code, jedoch bin ich unsicher, wenn das ist, was ich verwenden muss. Meine Idee war, entweder einfach 3d zu haben, wie in flat 3d. oder echtes 3d, das wäre viel mehr Arbeit und schwieriger. Ich wollte wirklich die allgemeinen Gedanken der Leute über 3D gehen hören. Hier ist ein Video meiner Fortschritte von vor ein paar Monaten (http://screenjel.ly/bdO7Rj8DVl8). Die 2D-Grafik ist eher unscheinbar. Ich möchte etwas mehr Fortschritte machen, allerdings weiß ich nicht, ob ich mich in 2d weiter entwickeln soll, wenn ich irgendwann 3d gehen will.Soll ich 3D für mein Spiel gehen? Wenn ja, wie weit und gute Tutorials?

Auch ich weiß nicht, wie schwierig 3D wäre. Idealerweise möchte ich 3D vollständig drehen. Ich weiß, dass das ziemlich ehrgeizig ist, aber ich würde mich eher für blockige Leute und Gegenstände als für Kreise und Quadrate entscheiden. Wer weiß von einem guten 3d in Java-Tutorials, die Rotation beinhaltet?

Irgendwelche anderen Gedanken oder Kommentare zu diesem Thema?

Dank

+1

+1 für Thema Krankenhaus: D – sfussenegger

+0

Danke. Es war wirklich ein tolles Spiel! :) – Relequestual

Antwort

4

Verwenden Sie Isometric Projection!

Ich glaube nicht, dass "echtes 3D" benötigt wird, um das Aussehen von Theme Hospital nachzubilden. Sie benötigen nur ein Bild für jede Ausrichtung (wenn Sie möchten, dass der Benutzer aus 4 Blickrichtungen wie im Original auswählen kann) und jedes Objekt. Beugen Sie einfach Ihre vertikalen Rasterlinien um 45 Grad und lassen Sie Ihre Objekte in 3D aussehen (und sich über benachbarte Zellen zeichnen), um ein 3D-Aussehen zu erzeugen, ohne zusätzliche Komplexität wie OpenGL für Ihren Code hinzuzufügen.

Ich hoffe, dass ich meinen Standpunkt klar gemacht habe. Sonst bitte fragen :)

Okay, also habe ich mich nicht klar gemacht - wie erwartet :) Ich bin auch kein Experte, sorry. Was ich oben "Biegung" nannte, wird "Scherung" genannt (zumindest in Gimp). Die Grundidee besteht darin, einen 3D-Look zu erstellen, ohne 3D zu erstellen - so wie man einen 3D-Würfel auf Papier zeichnen würde. Vielleicht kann ein (zugegebenermaßen ziemlich hässlich) Beispiel helfen:

looks 3D but isn't http://i37.tinypic.com/6jlkqr.png

Es ist nicht 3D - keine Koordinaten in einem dreidimensionalen Raum benötigt - nur Bitmaps ein einheitliches Erscheinungsbild zu schaffen.

+1

Entschuldigung, ich weiß sehr wenig über Grafiken ... Was meinst du mit "Einfach deine vertikalen Rasterlinien um 45 Grad biegen"? Ich bin nicht sicher, ob ich für das Aussehen von Theme Hospital vollständig gehen möchte, da es bereits 2 Projekte gibt, die die ursprünglichen Grafiken verwenden. Ich möchte etwas grafisch Einzigartiges über das Spiel haben. – Relequestual

+1

Nur ein Beispiel hinzugefügt – sfussenegger

+1

Das isometrische Betrachtung genannt. – Blindy

9

3D gehen die Erstellung von Inhalten Kosten von 7x erhöhen wird. (Es tut mir leid, kann nicht auf die Studie verweisen, aber NCsoft Korea untersucht und berichtete eine 7-fache Erhöhung). Dies liegt daran, dass die Schaffung von lebensfähigen, effizienten und gut aussehenden Vermögenswerten eine Vielzahl von Fähigkeiten erfordert. Behalte das im Hinterkopf. Viele Leute denken, dass das Bewegen zu 3D magisch ihr Spiel "besser aussehen lässt". Das ist ein Trugschluss. Es wird nur besser aussehen, wenn die Vermögenswerte gut genug sind, um ein Niveau der Immersion besser als das, was Sie vorher hatten, zu schaffen.

2D bleiben gibt Ihnen eine Menge Freiheiten. Sie können wirklich einen Kunststil erstellen, sich auf das Spiel konzentrieren usw. Wenn Sie 3D betreten, verbringen Sie die meiste Zeit damit, den Client zu optimieren, anstatt ein besseres Spiel zu machen.

Also, die Entscheidung liegt letztendlich bei Ihnen, wir können es nicht für Sie machen.

Wenn Sie sich für 3D entscheiden, müssen Sie entscheiden, was Ihr Ziel ist. Wenn es nur darum geht, das Spiel zu erstellen, dann sollten Sie vielleicht in eine Engine schauen, um die Entwicklung zu reduzieren. Wenn Sie etwas über die zugrunde liegenden Mechanismen von 3D-Grafiken erfahren möchten, gehen Sie direkt zu OpenGL mit JOGL oder LWJGL.

Einige Motoren schauen:

  • Jmonkeyengine (Ich bin hier voreingenommen).
  • Ardor3D
  • jPCT

Good Luck.

+0

Danke für das Wiegen beider Seiten. Ich bin kein großer Künstler, also 2D oder 3D, ich werde wahrscheinlich keine der Grafiken machen. Ich weiß sehr wenig über die Verwendung von Engines für Spiele. Dies ist mein erstes Spiel, also hoffe ich es zu lernen :) jME sieht für ein Projekt dieser Größe etwas zu groß aus. Ich plane, die 3D-Grafiken auf einer z-Ebene zu halten (ich denke), wie in nur einer Etage zu einer Zeit, so würde Artikel nur ein x und y, und z wäre immer 0. Sah das jPCT, interessant. .. – Relequestual

1

Wenn Sie 3D erstellen, ist es wahrscheinlich am besten, wenn Sie etwas wie OpenGL verwenden (z. B. über JOGL). In diesem Fall beschreiben Sie grundsätzlich Ihre Objekte im 3D-Raum (z. B. Positionen und Farben von Wänden, Positionen und Farben von Lichtern usw.). Sie geben dann eine aktuelle "Kamera" -Stelle an. Die Drehung wird (normalerweise) durchgeführt, indem einfach eine andere Ausrichtung für die Kamera festgelegt wird.

Das Erlernen der OpenGL-API ist nicht trivial, aber die Chancen stehen gut, dass Sie um die falschen Dinge besorgt sind - nur die vollständige 3D-Rotation ist zum Beispiel ziemlich trivial. Erstellen realistische Beleuchtung (vor allem, wenn Sie Schatten hinzufügen möchten) ist ein große mehr Arbeit.

+0

Hum, Ok, yeh ich kann deinen Standpunkt sehen. Wenn ich das täte, denke ich, dass ich trotzig OpenGL gehen würde. Beleuchtung wäre ein zweitrangiges Problem für mich, obwohl es nett wäre, zu haben. – Relequestual

2

Theme Hospital - gute Erinnerungen :)

Wenn dies ein Lernprojekt ist, würde ich auf jeden Fall 2D beginnen. Sie werden viel mehr erledigen und ein funktionierendes Spiel viel früher. Hinzufügen von 3D in diesem Stadium wird nur Komplikationen hinzufügen.

Plus, würde Theme Hospital nur komisch in 3D aussehen!

+0

hehe oh ja, gute Erinnerungen in der Tat! Yeh, es ist mein erstes Projekt von anständiger Größe, also lehne ich mich an und habe schon viel gelernt! Ich möchte nur die Option haben, 3d zu einem späteren Zeitpunkt zu gehen, wenn ich möchte. Wahrscheinlich härter als ich denke, es wäre – Relequestual

+0

Ich würde sagen, tun Sie alles in 2D, dann, wenn Sie 3D gehen wollen, gehen Sie für etwas viel einfacher zu beginnen mit. Vielleicht können Sie Java Hospital erneut besuchen ... – Skilldrick

+0

Ja, ich stimme zu, denke ich. Ich meine 3D klingt wie eine nette Idee, aber um es in meinem ersten Projekt diesen Komplex einzuführen ... Ah gut. Danke für Ihre Eingabe :) – Relequestual