Ich will spielen!
Es ist mal wieder Zeit für einen kleinen Update-Blog. Es gibt wieder ein paar Punkte zum Zeigen und Erzählen. Beginnen wir zunächst mit der üblichen Frage – wann geht es endlich in die Testphase?
Ganz ehrlich? – Keine Ahnung. Wir haben uns ein Wunschziel gesetzt, aber wir haben uns bewusst gegen feste Termine entschieden, da wir diese am Ende des Tages nicht einhalten können. Wir sind bereits auf einem sehr guten Weg, unsere interne Liste wird jeden Tag etwas kleiner. Leider haben Philipp und ich momentan durch die Arbeit mehr Aufgaben bekommen, was uns in der Entwicklung ein wenig ausbremst. Wir sind stetig dabei, nur musste das Tempo, in dem wir arbeiten, etwas reduziert werden.
Wir haben aktuell viele Baustellen in Form von Fehlerbehebungen und Anpassungen an unseren neuen Standard, wie ihr zuletzt beim Banking gesehen habt. Es wurden unter anderem aber auch schon ein paar neue, kleine Systeme entwickelt.
Teamupdates
Beginnen wir mit den üblichen Updates im Team. Wir haben Verstärkung im Gamedesign dazubekommen, speziell im Bereich Fahrzeugentwicklung. Wir freuen uns, dass t800 ab sofort ein Teil des Teams ist. Er stellt in unserem einzigartigen Fahrzeugsystem gemeinsam mit Günther Teufel das Fahrverhalten ein, um ein echtes Fahrgefühl zu vermitteln.
Wir freuen uns auf die Zusammenarbeit!
24/7 Shops
Für das Projekt und die Verfügbarkeit von Gegenständen ist auch ein NPC-basiertes System wichtig. Kein System auf dem Markt kann unser einzigartiges Penny-System bedienen, daher haben wir uns entschieden, hier ein eigenes NPC-Shop-System zu schreiben.
Philipp hat sich dem Ganzen angenommen und bereits gute Fortschritte erzielt. Im nachfolgenden Screenshot seht ihr die ersten Designs – aber vorweg gesagt: Nichts ist fest. Das Design wird sich vermutlich noch einmal verändern.

Der Pawnshop
Wie bereits im letzten Blogpost über den Pawnshop berichtet – was sollen wir sagen? Irgendetwas ist kaputtgegangen und daher muss der gesamte Pawnshop erneut eingerichtet werden. Das bedeutet, dass wir im MLO-Bereich mindestens eine Woche Zeit durch die erneute Einrichtung verlieren.
Wir sehen aber auch etwas Positives darin. Wir haben keine Deadline und mit dem, was bereits wieder eingerichtet wurde, ist Moewe erneut über sich hinausgewachsen und hat ein neues, verbessertes Design an den Tag gelegt. Seid gespannt auf die ersten Leaks dazu!

Müllfachangestellter
Wir haben vor einiger Zeit in einem Blogpost bereits informiert, dass Philipp an einem Müll- und Recyclingjob für die Zivilisten arbeitet. Dieser wurde begonnen, aber nicht vollständig beendet. Hier wurden die Themen erneut angepackt und weiterentwickelt.
Ab sofort werden Marker über den Mülltonnen zum Einsammeln angezeigt, wodurch der Spieler direkt erkennt, welche Mülltonne eingesammelt werden muss.
Des Weiteren wurden kleinere Fehler und Probleme behoben. Es gibt noch ein paar kleine Themen, die bearbeitet werden müssen, aber das System ist ebenfalls auf einem guten Weg, vervollständigt zu werden.

Tanksystem & Fahrzeugsystem
Unser eigenes Tanksystem wurde vollständig abgeschlossen. Auf Basis eines der meistverwendeten Tanksysteme „lc_fuel“ haben wir unser System aufgebaut. Wir haben UI-Elemente übernommen sowie die Objekte, die gestreamt werden, wie den Zapfhahn und die Elektrosäulen. Unter der Haube haben wir jedoch alles neu umgesetzt, um möglichst viele Features zu unterstützen.
Fahrzeuge verbrauchen anhand der Geschwindigkeit nun ihren Sprit anstelle der Drehzahl. Zuvor hatten wir das Problem, dass Fahrzeuge durch unser eigenes Fahrzeugsystem, das verschiedene reale Komponenten simuliert, häufig im hohen Drehzahlbereich waren und sich dadurch der Verbrauch unnatürlich angefühlt hat.
Jedes Fahrzeug hat eigene Tankgrößen und auch Verbrauchsklassen. Zudem wurden hier bereits Vorbereitungen für späteres Tuning getroffen, um daran anknüpfen zu können.
Generell gibt es Benzin und Diesel als mögliche Treibstoffe zum Tanken. Hier sollte aufgepasst werden, was getankt wird – das kann schnell zu einem Motorschaden führen. Auch die Werkstatt bekommt hier ihre Aufgaben, beispielsweise Fahrzeuge auszupumpen, wenn es doch einmal dazu kommen sollte.
Radialmenü
Um auf dem Projekt möglichst keine Befehle zu benötigen, haben wir unser eigenes Radialmenü im passenden Serverdesign entwickelt. Das System ist momentan noch sehr leer, da wir noch nicht entschieden haben, was alles im Radialmenü hinzugefügt werden soll.
Über den Punkt „Befehle“ steht jedem die Möglichkeit offen, eigene Befehle als Menüpunkte im Radialmenü hinzuzufügen. Das könnten Animationen oder ähnliche Funktionen sein oder einfache Befehle, die man sonst nutzen kann, die aber nicht standardmäßig im Radialmenü hinterlegt sind.
Das gesamte System bietet viele Navigationsmöglichkeiten, die später bei mehr Inhalten zum Vorschein kommen – wie Pfade zum Zurücknavigieren in Unterordnern sowie automatische Seiten zum Durchblättern bei vielen Auswahlmöglichkeiten.


Dashboard & Melden
Auf unserem Projekt wird es Fehler geben, es wird Probleme und Crashes geben. Das geht sehr oft mit eigenentwickelten Servern einher. Wir haben sehr viel selbst geschrieben und es werden sich immer wieder Fehler einschleichen. Umso wichtiger ist es, einen guten Ablauf zu haben, um diese Fehler zu lösen.
Dafür haben wir unser Dashboard aktualisiert. Das gesamte Design wurde an unser Serverdesign angepasst und der Menüpunkt „Meldungen erstellen“ hinzugefügt. Hierüber hat jeder die Möglichkeit, eine Meldung an uns zu senden und zwischen verschiedenen Arten auszuwählen.
Diese Ansicht gibt es zusätzlich auch direkt auf dem Server selbst und kann von jedem aufgerufen werden. Dort wird sie automatisch mit eurem Dashboard-Account verknüpft.


Auf der gleichen Oberfläche gibt es die Möglichkeit, bekannte Fehler einzusehen. Das Team kann offene Meldungen auswählen und dort anzeigen lassen, sodass jeder Spieler direkt sehen kann, ob eine Meldung möglicherweise bereits bekannt ist.

Hier ein kleiner Einblick in die generelle Oberfläche. Dort werden später Charaktere angezeigt sowie vielleicht auch Fahrzeuge. Sie soll dem Spieler ein paar grundlegende Informationen bieten.

Neben den bereits bestehenden Punkten haben wir schon einige Ideen niedergeschrieben, die langfristig ebenfalls Einzug in das Dashboard erhalten sollen – aber dazu mehr, wenn es so weit ist.
Drogenverkauf
Für die Crime-Spieler auf dem Projekt ist der Verkauf von Drogen ein wichtiges System. Wir möchten kein klassisches Drogenverkaufssystem haben wie auf x-beliebigen FiveM-Servern – gehe zum NPC, fahre mit deinem Burrito an Stelle XY und verkaufe deine Ware.
Du musst aktiv auf die Bürger in der Welt zugehen, um deine Drogen in Los Santos zu verkaufen. Das System wurde von Philipp entwickelt und bringt viele Funktionen sowie Integrationen in die Spielwelt mit sich.

Manchmal ist das auch nicht so einfach ...

Mehr möchten wir zu diesem System nicht erzählen – ihr sollt später auch noch ein wenig entdecken können.
Überarbeitung ox_lib
Wie die meisten Projekte nutzen wir ox_lib als zentrales Werkzeug für viele Funktionen in unseren Skripten. Es bietet eine weitreichende Funktionsbasis, die wir für unsere Systeme einbinden. Gleichzeitig stellt es Funktionen wie Mitteilungen, Menüs, Bestätigungsfenster, Eingabefelder usw. bereit.
Hier haben wir uns die Zeit genommen, die Benutzeroberfläche an unsere UI-Infrastruktur anzupassen. Es sind kleine Änderungen, die später im Gesamtbild alles zusammenbringen.
Hier ein paar Einblicke aus der Entwicklungsumgebung, die ox_lib bereitstellt, um die Oberflächen im Browser zu testen. Daher sind hier teilweise sehr interessante Testwerte in den Menüs zu sehen.





Fahrschule
Da in den letzten Wochen die Überarbeitung und Behebung bestehender Systeme ganz oben auf unserer Liste stand, war auch die Fahrschule mit dabei.
Die Fahrschule war – ebenso wie das Banking – eines unserer ersten Systeme und ist daher bereits etwas in die „Jahre“ gekommen. Wir haben das Interface erneut überarbeitet, kleinere Anpassungen am Skript selbst vorgenommen und so ein aktualisiertes, modernes System geschaffen. Es müssen noch kleine Farbanpassungen vorgenommen werden, aber wir sind weitestgehend zufrieden.

Weiterhin bleibt die Funktionalität bestehen, dass ein Führerschein mindestens zwei echte Tage beansprucht. Aber keine Sorge – du darfst am Anfang mit deinem Visum bereits ein Fahrzeug durch die Welt bewegen.

Was hat uns noch beschäftigt?
Neben den großen Neuerungen gibt es auch immer wieder Fehler, die beim Testen und Entwickeln anderer Systeme auffallen. Wir versuchen teamintern bereits alle Systeme zu testen und Fehler aufzudecken. Hier ein paar nennenswerte Probleme, die viel unserer Zeit in Anspruch genommen haben.
Tanksystem
Durch unser eigenes Tanksystem hat sich die Art und Weise, wie der Tank gespeichert wird, geändert. Hier mussten wir viele Systeme – wie unser Fahrzeugsystem – anpassen, sodass dieses den Tank korrekt setzt.
Dabei haben wir ein paar kleine Stellen übersehen, die schwer zu finden waren, aber dazu geführt haben, dass der schwarze Rußeffekt verursacht wurde, der standardmäßig bei unter 7 % Tankfüllung in GTA 5 auftritt. Unter anderem fährt das Fahrzeug dabei rückwärts.
Dieser Fehler ist bei neu gespawnten Fahrzeugen aufgetreten, da der Tank erst kurz nach dem Einsteigen gesetzt wurde. Dieser kurze Moment hat jedoch ausgereicht, um den Effekt auszulösen, selbst wenn der Tank direkt danach korrekt gesetzt wurde. GTA hat diesen Effekt in diesem Augenblick bereits ausgeführt.
Wir mussten daher alle fahrzeugbasierten Systeme durchsuchen und teilweise anpassen, sodass Fahrzeuge bereits vor dem Einsteigen mit dem richtigen Tankwert spawnen.
Fahrverhaltenssimulation
Auch unsere Fahrverhaltenssimulation hatte noch kleinere Fehler. Hier gab es Probleme mit LKWs, da diese ein anderes Verhalten in der Gangschaltung gezeigt haben. Sie haben nicht automatisch abgebremst, sondern sind gefühlt dauerhaft im Drehzahlbegrenzer gefahren. Das Fahrgefühl wirkte unnatürlich.
Hier scheint es ein Fehler von GTA zu sein: Selbst wenn die Drehzahl durch das Skript kurzzeitig gesenkt wird, bleibt der Sound gleich und wird erst durch kurzes Wegnehmen des Gases zurückgesetzt.
Wir mussten einige Tests durchführen, um eine Lösung zu finden, und haben letztendlich für LKWs eine kurze Sperre der Gastaste eingebaut. Diese sorgt dafür, dass sich die Soundkulisse an die Schaltung anpasst und das Verhalten natürlicher wirkt.
Manchmal sind es die kleinen Probleme, die andere Denkweisen erfordern.
Im gleichen Zuge haben wir uns mit den Wheelies von Muscle-Cars und deren Launch Control beschäftigt. Diese haben wir deaktiviert, da sie im RP zu unrealistischem Verhalten führen.
Die HUD
Auch die neu entwickelte HUD benötigte noch eine Anpassung. Durch die Möglichkeit, einige UIs auf einem 4K-Display zu testen, ist aufgefallen, dass die HUD-Skalierung nicht stark genug einstellbar war, um auf 4K wirklich groß zu erscheinen. Hier musste die Skalierungsreichweite entsprechend erhöht werden.
Banking
Im Zuge des Tankstellensystems ist ein Fehler im Zahlungsterminal aufgefallen, durch den auch andere Skripte für NPC-Zahlungen gestartet werden konnten. Hier musste einiges an der Logik angepasst werden, sodass bestimmte Buttons im NPC-Modus ausgeblendet werden, um Fehler zu vermeiden.
Die Anpassungen waren recht umfangreich, wurden jedoch erfolgreich umgesetzt.
Weiteres
Es gab noch viele weitere kleinere Anpassungen an Werten und Funktionen. Diese wurden häufig nebenbei vorgenommen und waren daher meist nur kleinere Änderungen.
Was steht als nächstes an?
Weiterhin ist das Gangsystem in Entwicklung. Aktuell werden dort viele Arbeiten erledigt, um tatsächliche Funktionen einzubinden.
Für unsere Stadtverwaltung wird anschließend unser System für das Rathaus benötigt, das viele Schnittstellen anbindet – sei es das Bürgerregister, das Fahrzeugregister oder das Lizenzsystem. Über dieses System sollen die verschiedenen Datenbanken zur Verwaltung miteinander verknüpft werden.
Als weiteres großes System folgt das Tuning- und Wartungssystem für Fahrzeuge. Hier wird viel Testing notwendig sein, um einen guten Mittelweg bei den Einstellungen zu finden.
In naher Zukunft ist außerdem unser Questsystem geplant, um den Spielern eine weitere Beschäftigung bereitzustellen.