Ich möchte hier auch mal wieder pushen, ist ja nicht so, als würde sich hier nichts tun
Im Moment entwickel ich ziemlich parallel am Launcher und Editor, wobei es beim Editor eigentlich eher Bugfixes sind
Der Launcher ist mittlerweile soweit, das er Maps darstellen und User Input verarbeiten kann. Ebenso gibt es ein Rudimentäres Update Verhalten der einzelnen Entitys (Map, GameObjects, etc).
Ich habe mir in den letzten Tagen vermehrt den DatabaseIO angeschaut, und festgestellt, das ich damit absolut nicht zufrieden bin, und das ganze nochmal komplett neu geschrieben.
Jetzt ist hat das Ganze keine Vererbungen mehr, und lässt sich somit einfacher kombinieren. Vor allem ist der Code jetzt wesentlich aufgeräumter
Zudem nutze ich jetzt keine Threads mehr, was vorher auch ein wenig Overkill für die paar Daten war (muss ich in einem regulären Projekt mal anschauen, aber ich kann mir nicht vorstellen, dass das irgendwas großartig raus reißt).
Als nächstes möchte ich die Maps im Binary Format speichern. Das hat den Grund, das gerade hier, unbedachte User Änderungen schnell zu Inkonsistenz führen können, und XML einfach viel zu viel Overhead ist. Die Geschwindigkeit ist eigentlich ok (waren nie mehr als ~50ms für den Mapload) aber 1. waren meistens nicht sonderlich viele Objecte darauf platziert und 2. die Maps einfach viel zu groß (1MB für eine 500*500 Map mit einem Layer).
Damit werde ich mich jetzt auf jeden Fall die nächsten Tage beschäftigen
Jetzt habe ich aber noch ein kleineres Problem. Ich versuche den Launcher in den Fullscreen zu bekommen. Dabei soll aber nicht die Auflösung verändert, sondern eben skaliert werden (sodass es eben passt, bei 4:3 mit schwarzem Rand). Das ist soweit auch kein Problem, die entsprechende Funktion habe ich bereits implementiert. Allerdings scheint QT in Sachen Skalierung überhaupt nicht performant zu sein. Jedenfalls reißt es mir die FPS von nahezu 500 auf ~60 runter (mein System ist recht stark, andere haben hier nur ~12). Hat hier jemand Erfahrung mit? Im Prinzip setze ich nur eine Skalierung auf das QGraphicsView. Habe ein wenig gegoogled und es scheint ein bekanntes Problem zu sein. Eine akzeptable Lösung habe ich bisher allerdings nicht gefunden.
Zum Schluss möchte ich nochmals betonen, dass das Projekt Open Source ist und ich liebend gerne jemandem in meinem Team begrüßen würde. Einiger Maßen gute C++ - sowie Grundlegende QT-Kenntnisse sind allerdings erforderlich. Einfach melden, wenn Interesse besteht