Ergebnis 1 bis 20 von 20

Thema: Vorstellung und Demo - FawesomeEngine

Hybrid-Darstellung

Vorheriger Beitrag Vorheriger Beitrag   Nächster Beitrag Nächster Beitrag
  1. #1
    Ich hab mich entschieden eine eigene Engine zu schreiben, aber nicht mit C++, sondern mit Java um es plattform-unabhängiger zu machen.
    Mit Java hab ich wegen der Uni Übung, dafür hab ich einfach zu viel schon in Java und nicht C++ geschrieben.
    C++ ist bei mir schon etwas angestaubt.

    Was meine auf thornEngine getaufte Engine schon hat, ist:
    • mehrere Maps darstellen (und der Status der Map beleibt erhalten) und wechseln
    • Scrollen der Map (falls größer als 640x480 Pixel)
    • Midi (unabhängig, davon ob Timidity installiert ist, oder nicht) und wave, aiff, au usw. Wiedergabe simultan
    • Bilder (png, bmp, jpg, usw.) lesen und darstellen
    • Player bewegen
    • globale Variablen und Switches
    • Items und Spells (als Datenstruktur)
    • bis zu 2 Millionen Layer mit Objekten (Bilder, NPCs, usw.) pro Map
    • Textausgabe (Messages)
    • Laden von Maps (als xml über SAX)
    • Events und Skripting (geht größtenteils)


    Was noch nicht implementiert wurde, ist:
    • Kollisionsabfrage für den Layer des Spielers und der NPCs/der Spielwelt
    • Speichern von Maps/Spielstände (als xml - geht schon teilweise)
    • Debug-Modus für globale Variablen und Switches, usw.

    Geändert von niR-kun (27.08.2011 um 02:07 Uhr)

  2. #2
    Renderer? OpenGL?

  3. #3
    Im Moment werden die Bilder mit AWT/Swing auf einen Canvas gezeichnet. Ich muss erst mal die 4 verbleibenden Sachen implementieren, bevor ich den Quellcode freigebe.

    PS: Ich aktualisiere den Post von mir, wenn was neues kommt. ^^

  4. #4
    Zitat Zitat von niR-kun Beitrag anzeigen
    Im Moment werden die Bilder mit AWT/Swing auf einen Canvas gezeichnet
    Hast du mal einen Leistungstest gemacht? Bilder mit Transparenzen, Animationen, große Bilder scrollen. Ich hab im Zuge eines Studienprojektes mal ein 8-Wege Movement ohne Powerrenderer (wie OpenGL) in Java gebastelt und es war scheußlich von der Performance. Palettierte 8Bit Grafiken ging super, nur Transparenzen etc. führten schnell zum Einbrechen der Performance unter AWT/Swing. Ist aber locker 2 Jahre her, k.a. was die Javaleute mittlerweile tolles in Java eingebaut haben.

  5. #5
    250-300 Bilder (gleiches Bild zufällig auf dem Bildschirm verteilt, 200x200 Pixel groß, 24Bit Farbtiefe mit 50% Transparenz) geht locker ohne Ruckeln.
    Großes Bild (4600x3400 Pixel, 24Bit Farbtiefe ohne Transparenz) scrollen geht mit unregelmäßigem, sehr leichtem Ruckeln.
    Animationen, soweit wie ich es implementiert habe, geht ohne Ruckeln.

    UPDATE(1): Aber du hast Recht, dass es doch besser wäre, gleich OpenGL statt AWT zu nutzen.
    Da scheint es sogar schon ne ordentliche Implementierung zu geben: LWJGL (http://www.lwjgl.org/)

    UPDATE(2): So, die ganze Grafik ist auf OpenGL umgestellt. Es läuft wesentlich flüssiger als mit AWT.
    Ich frag mich immer noch, warum ich bei GL11.glOrtho(0, width, height, 0, -1, 1); meine ganzen Sprites um Fensterhöhe + 64 Pixel verschieben muss, damit sie sichtbar sind. Bei GL11.glOrtho(0, width, 0, height, -1, 1); rendert er es auch ohne die Verschiebung, aber auf dem Kopf stehend.
    Dummer Fehler, ich hab irgendwie die Desktophöhe/-breite genommen, statt die Fensterhöhe/-breite.

    PS: Minecraft nutzt sogar LWJGL.

    Geändert von niR-kun (25.08.2011 um 19:38 Uhr)

  6. #6
    jop LWJGL is nice. Lebt man besser mit, hab ich damals auch so gelöst.

Berechtigungen

  • Neue Themen erstellen: Nein
  • Themen beantworten: Nein
  • Anhänge hochladen: Nein
  • Beiträge bearbeiten: Nein
  •