Ich bin Mitglied im Team der Gothic Reloaded Mod. Unsere Mod ist grafischer Natur: Alle 3D-Modelle, alle Texturen und die gesamte Weltgrafik von Gothic 1 werden rundum erneuert.
Problem: Wir haben >1500 Texturen, ca. 700 3D-Objekte sowie die gesamte Weltoberfläche zu überarbeiten.
Um nun die ganzen Aufgaben, Bugs, Verbesserungsvorschläge und unsere Teammitglieder (Zugehörigkeiten) sowie Dateien, fertige Assets, Screenshots etc. verwalten zu koennen, arbeite ich momentan an einer Webanwendung, welche die Funktionlität einer Aufgabenverwaltungssoftware mit einem zentralen Ort fuer alle Projektdaten (Digital-Asset-Management-System-Software) vereint. Speziell zugeschnitten auf Gothic-Grafik-Mods, inbesondere auf die GRM.
Das Besondere: Es sollen alle Texturen & Vobs direkt im Browser angezeigt werden können (3D per WebGL mit three.js), sodass die neue und alte Version direkt verglichen werden können.
- OS mit installiertem Java 8 oder höher
- 512 MB Arbeitsspeicher
Festplatte:
- 50 MB für Webapp + Server
- 200 MB für Blender (https://www.blender.org/)
- Genug Platz für alle verwalteten Assets (Texturen & 3DS Dateien)
Erstellen, Editieren und Löschen von Tasks & Comments
Taskinformationen: Gruppierung von Tasks (Label), Titel, Priorität, Status, Autor, Erstelldatum, Detail-Beschreibung und Möglichkeit, den Task einem User zuzuweisen (assigned user)
Laden und Speichern der Tasks in/aus human-readable XML-Dateien & detailliertes Conflict Handling
Textur-Import: Generierung von Texture-Tasks aus Texturen
Textur-Vorschau der alten & neuen Textur in jedem Texture-Task
Model-Import: Generierung von Model-Tasks aus 3D-Modellen
3D-Model-Vorschau der alten und neuen 3D-Modelle in jedem Model-Task
File management für Texture-Tasks & Model-Tasks
Beliebige zusätzliche Dateien (z.B. .blends oder photoshop-projekte) an Texture-Tasks & Model-Tasks anhängen
User Management und Passwort Änderung
Automatische Backups
Kommentarsystem fuer alle Aufgaben
Integration von SVN für Asset-Versionsverwaltung
Notifications über alle Änderungen die von anderen gemacht werden
Von Modellen abhängige Texturen werden innerhalb eines Model-Tasks angezeigt
Da ich jedoch leider nicht uneendiche Zeitreserven habe, suche ich Leute, die mich bei der Entwicklung unterstützen:
Spoiler:(zum lesen bitte Text markieren)
Voraussetzungen:
- Englisch
- Backend: Java, minimal auch Python
- Frontend: Javascript / HTML / CSS
Wenn du ein bisschen Zeit hast, Java-Webanwendungen dich interessieren, und du die "Gothic Reloaded Mod" unterstützen willst, melde dich bei mir!
Hi!
Das sieht ja nach einem grßen Projekt aus, das einem die Arbeit enorm erleichtert.
Aber wie kann man dich ohne Programmierkenntnisse unterstützen?
Naja, wenn du einen Gothic-Fan MIT (am besten mit Java-) Programmierkenntnissen kennst, könntest du ihm von dem Projekt erzählen^^
Ich hab kein Problem mit dem Aufwand, eher mit der Entwicklungsgeschwindigkeit, und die erhöht sich nur mit mehr Leuten.
Das Projekt wurde jetzt auf maven umgestellt, was die Einrichtung, Kompilierung & Starten des Projektes stark vereinfacht. Es gibt jetzt außerdem eine detaillierte Anleitung, wie genau man das Projekt in wenigen Schritten lokal zum laufen bekommt.
Edit: Gesamte Lister der Anfoderungen im EP verlinkt.
Ich suche ab demnächst ein paar Pre-Alpha-Tester, umd die bisher implementierten Features zu testen und Fehler zu finden.
Dafür steht ab dem nächsten Wochenende ein Staging Server zur Verfügung, das heißt, die Tester müssen nix einrichten : ]
Wer möchte kann sich hier oder per PM melden und bekommt dann die Login-Daten, mit denen er sich auf der Staging-Website anmelden kann.
Wer brav ist , bekommt einen Admin-Account : D (vorausgesetzt ich hatte nen guten Tag)
Edit: Voraussetzung: Ein moderner Browser (Firefox oder Chrome), IE wird nicht unterstützt!
Das heißt, wer keine Ahnung von Builden, Servern und Java hat, kann jetzt trotzdem ganz einfach den GMM ausprobieren. Es wird dann automatisch ein kleiner Server mit GMM auf eurem Rechner gestartet. Anleitung und Download hier:
- Bugs gefixed
- Automatische Backups beim server/servlet shutdown, stündlich, täglich, monatlich und vor kritischen Operationen wie laden von tasks / importieren von assets
- Vollständigere deutsche Übersetzung
Changelog:
- Mehr Funktionen, Fixes, Performance
- Erste Stufe der Synchronisation implementiert für gleichzeitige Benutzung durch mehrere Leute über page reload
This is not a mod, but rather "tooling support" for making big Gothic mods in a team. Its basically a web application with some cloudy stuff.
Check out the wiki: https://github.com/Katharsas/GMM/wiki
UI languages fo this web app are English (100%) and German (about 40% done, wip).
Changelog:
- 3D-Vorschau Wireframe & Solid Modus
- 3D-Model-Tasks zeigen an, welche Texturen das Model verwendet
- automatische / manuelle backups werden beim Starten automatisch geladen (konfigurierbar)
- Performance: Workbench synchronisiert sich mit dem Server, Änderungen an Tasks führen nicht mehr zwangsläufig zu einem Neuladen der gesamten Liste
Anstatt die Hoheit über alle Assets haben zu müssen, kann der GMM jetzt mit SVN zusammenspielen (und dank Plugin-API könnte man auch Plugins für andere Versionierungssysteme recht einfach implementieren). Wenn über den GMM Dateien geändert werden, comittet der GMM die Änderungen im SVN. Wenn im SVN Dateien geändert werden, kann der GMM über einen HTTP POST Request benachrichtigt werden und updatet sich dann auf den neuesten Stand.
Es wurde außerdem soweit herumpoliert, dass der GMM in dieser Version halbwegs gut benutzbar sein sollte (z.B. die JS-Client-Performance ist jetzt deutlich besser).
- Multithreading: Es wird jetzt angezeigt ob der Server gerade im großen Stil mit Dateien rumhantiert (SVN updaten, preview-dateien erstellen, automatische imports, etc..) und während dieser Zeit sind alle Funktionen, die Dateien verändern, für alle User gesperrt, damit sich nix in die Quere kommt.
- Performance: Die Anzahl der Threads, mit denen die Previews (= texturen- und 3D-vorschau-dateien für den Browser) generiert werden, ist jetzt konfigurierbar und die Threads haben niedrigere Priorität, damit sie nicht den Server lahmlegen
- Performance: Wenn der Server hunderte (oder tausende) Dateien importiert/verändert/lädt, wird der Browser-Client jetzt nicht mehr mit Updates vollgeballert, und es gibt eine Anzeige ob der Client gerade schwer am ackern ist
- Performance: Websockets werden jetzt verwendet, um den Browser-Clients mitzuteilen, ob sich was geändert hat, wodurch Änderungen einer Person instant von den anderen Mitgliedern gesehen werden. Synchronisation zwischen Clients sollte jetzt vollständig sein.
- Build: Der Stack ist aufgefrischt worden: Von Maven zu Gradle, von Java 8 zu Java 10, von Tomcat 7/8 zu Tomcat 9, und damit im Prinzip jetzt auch HTTP2-kompatibel xD
Das Laden von Texturen im TGA-Format (für das Erstellen von Vorschaubildern im PNG Format für den Browser) wurde um bis zu 250x beschleunigt, z.B. von 2,6 Sekunden pro Bild zu 10 Millisekunden pro Bild auf meinem Rechner.
Das eigentliche Konvertieren zu PNG geht zwar bereits sehr schnell, wird aber durch Einsatz der nativen Bibliothek OpenCV in Zukunft auch noch um einige Faktoren schneller (funktioniert bereits, ist aber noch nicht unter Linux getestet). Allerdings verdoppelt aktiviertes OpenCV die Größe der Webandwendung, da die nativen Bibliotheken mitgeliefert werden müssen.
Dateiverwaltung:
Der GMM erlaubt das Hochladen von Assets (TGAs und 3DS-Datein) sowie dazugehörigen WIP-Dateien jetzt wieder. Falls es für ein Asset noch keinen Ordner gibt, kann man den jetzt auch im GMM erstellen und dabei auswählen wo das Asset im Verzeichnisbaum gespeichert werden soll (wichtig wenn die Assets z.B. im SVN am richtigen Ort liegen sollen).
Kompakteres und bessere lesbares XML-Format für das persistente Abspeichern aller GMM-Daten ("Datenbank").
Bugfixes:
Stündliche backups werden stündlich gemacht wie geplant nicht schon aller 10 Minuten
Texturen im TGA-Format, die mit RLE komprimiert sind, können korrekt eingelesen werden
Alle Threadpools sollten nun korrekt geschlossen werden wenn der GMM beendet wird
Weniger Fehlermeldungen (Tomcat servlet Serialisierung deaktiviert)
Mehr Fehlermeldungen (falls tatsächlich was schiefgeht)
Kompilieren des GMM mit Java-Versionen größer als 8 erzeugt nun funktionierenden Java Byte-Code und TGA-Import sollte deswegen nicht mehr zur Laufzeit crashen