2D Tileengine

Status
Nicht offen für weitere Antworten.

Axion

Mitglied
Hallo zusammen,

ich würde gern ein Programm (UO Architect, muss man nicht kennen) nach Java protieren. Ich hab mich auch schon in den letzten paar Tagen versucht über die Möglichkeiten die mir Java bietet zu informieren. Dabei sind aber eher mehr Fragen entstanden als gelöst wurden. Im Moment besteht auf meiner Seite ein Begriffsdurcheinander den ich gern klären möchte um danach an die Portierung des Programms zu gehen.

Hier sieht man einen Screenshot von der Oberfläche des Programms.

uoarchitectyd9.jpg


Ich würde sagen das es eine Isometrischedarstellung in der Militärperspektive ist. Um Kacheln (Tiles) aus der Vorlage zu laden, eventuell zu drehen, würden mir ja die Java (Java2D?) eigenen Funktionen genügen. An verschiedenen stellen hab ich aber schon gelesen das man das ganze auch mit OpenGL beschleunigen kann bzw. es auch dafür verwenden soll.

In der Portierung soll später auch gescrollt werden und animierte Tiles zu sehen sein.

Würdet ihr mir jetzt dazu raten das ganze den Java Bordmitteln zu lösen oder mit der OpenGL Unterstützung?

Axion
 

hupfdule

Top Contributor
Wüsste nicht, was OpenGL da helfen sollte. Dafür brauchst du doch kein 3D. Die Tiles können alle 2D sein.

Und wenn du OpenGL bräuchtest, dann wärst du gut beraten eine 3D Engine zu benutzen, sonst wirst du ja nie fertig.
 

Axion

Mitglied
Du meinst mit 3D Engine etwas in die Richtung wie JMonkey oder jPCT und der gleichen aber nicht JOGL bzw. LWJGL?

Soweit ich das jetzt versteh versucht ja Java von hausaus Hardwarunterstützung zu benutzen (Direct irgendwas oder halt OpenGL) und als Notfall halt Softwarerendering?

Da ich die Anwendung primär unter Linux betreiben möchte ist es wohl nicht so falsch direkt mit OpenGL zu arbeiten.
 

EgonOlsen

Bekanntes Mitglied
Naja, man kann's zum Blitten der Tiles schon nehmen. Aber ich würde es auch erstmal mit den in Java vorhandenen 2D-Möglichkeiten probieren. Wenn du mit den entsprechenden Imageformaten arbeitest, sind die auch hardwarebeschleunigt.
 

Axion

Mitglied
Java2D reicht dicke bis jetzt. Ich hab mich wohl mit OpenGL in eine komplett falsche Richtung bewegt. Die ersten kleinen Erfolge kann ich auch schon vorzeigen. Im Moment kann man über das Menü einen neuen Plot, mit frei wählbarer Größe erstellen, der dann dargestellt wird.

uoarchitectjavalc4.jpg

uoarchitectjava2hf4.jpg


Bis jetzt war das Forum und die Suchfunktion sehr hilfreich und ich konnte mir 90% aller Fragen beantworten. Die Application besteht auch zu einem guten Teil aus Codesnipseln die ich im Forum gefunden habe.

In der oben gezeigten Version werden die einzelnen Tiles noch sehr statisch gezeichnet. Das bedeutet sobald ich ein anderes Tile, mit einer anderen Größe, zeichen möchte muss ich den Offset im Sourcecode manuell anpassen muß damit die Tiles wieder zueinander passen.

Im Moment arbeite ich daran das ich alle Bilder die sich in einem Verzeichnis befinden komplett lade, eine definierte Farbe vollständig transparent mache und das ganze irgendiwe organisiere damit ich leicht darauf zugreifen kann.

Als Zeites brauche noch eine Datenstruktur für den Plot die abbildet wo und auf welcher Höhe sich welches Tile befindet.

Als drittes soll meine Zeichenroutine mit der mit der größe eine Tiles und der Position umgeben können und selbständig daraus den Offset zum zeichnen berechnen. Im moment Zeichne ich auch noch zu viel, das bedeutet das ich Pixel 2 oder sogar noch öfter zeichne wenn diese verdeckt werden.

Es ist noch eine gutes Stück arbeit aber in kleinen Schritten geht es voran.
 
Status
Nicht offen für weitere Antworten.

Oben