Home » Artikel » Hinter den Kulissen » Rust – Entwicklertagebuch 45

Rust – Entwicklertagebuch 45

Auch wenn Garry Newman zum Jahresanfang mitgeteilt hatte, dass die Inhalte der Entwicklertagebücher zu Rust sinken würden, so veröffentlichen er und sein Team von Facepunch Studios offensichtlich trotzdem jede Woche ein weiteres Tagebuch.

Diese Woche ist es mal wieder vollgepackt mit zahlreichen Änderungen und Neuigkeiten. Wir haben euch, wie immer, die aktuelle Ausgabe übersetzt und wünschen euch viel Spaß beim Lesen und Stöbern.

Euer Gameplane.de – Team

Rust - Entwicklertagebuch 45 - Header

Das neue Benutzeroberflächensystem

Wir haben auf das Benutzeroberflächensystem von Unity gewechselt. Es ist nicht ganz ohne Fehler (an denen sie gerade arbeiten: Anm. d. Red.), aber es ist um einiges besser, als es vorher war.

Während ich die Mehrheit der Inhalte schon übertragen habe, behaltet bitte im Hinterkopf, dass dies in gerade mal zwei Wochen Arbeit passiert ist. Ich habe mich darauf konzentriert, die wichtigsten und kompliziertesten Inhalte zu übertragen. Es werden also noch einige Teile fehlen, an deren Wiederherstellung ich gerade arbeite.

Das Hauptmenü

Wir wollen den Bildschirm des Hauptmenüs weniger unnütz gestalten. Wir wollen keinen Bildschirm daraus machen, den ihr nur benutzt, um dann zu einem anderen Bildschirm zu kommen. Wir möchten ihn benutzen, um euch auf dem aktuellen Stand zu halten. Ihr könnt dies im Moment an einem kleinen Beispiel sehen, da wir gerade Verknüpfungen zu den letzten drei Entwicklertagebüchern anzeigen.

Die Serversuche

Die Serversuche ist jetzt ein wenig umfangreicher als die vorherige Version. Wir haben eine Liste für Netzwerkserver, Favoriten und zuvor besuchte Server (History) hinzugefügt. Ihr könnt einen Server zu euren Favoriten hinzufügen, indem ihr den Stern an seinem Namen anklickt.

Die Benutzeroberfläche von Unity ist bei der Verarbeitung von massiven Listen noch ein wenig langsam (sie schauen sich das gerade noch an: Anm. d. Red.), darum habe ich die Serverlisten darauf begrenzt, die obersten 200 Server anzuzeigen. Ich werde zu gegebener Zeit noch Werkzeuge für Filter und Suchfunktionen hinzufügen.

Der Verbindungsbildschirm

Ein neuer Bildschirm, der Verbindungsbildschirm, zeigt euch den aktuellen Status der Verbindung. Wenn ihr von einem Server getrennt werdet, dann zeigt er euch den Grund dafür an. Wenn ihr im Spiel „ESC“ drückt und dann ins Menü kommt, dann werdet ihr mit seiner Hilfe die Verbindung trennen können.

Rust - Entwicklertagebuch 45 - Connection Screen

Der Bildschirm ist noch eine Art Platzhalter. Ich hoffe, ich kann in der Zukunft noch einige Funktionen hinzufügen, damit ihr mehr Möglichkeiten habt, mit dem Server zu interagieren. Ich denke da an Logos, die Nachricht des Tages, einer Liste der Administratoren, Statistiken der Verbindung (Ping, usw.) und einer Funktion, um Spieler zu melden.

Todesbildschirm

Der Todesbildschirm wird nun übersprungen, wenn ihr zuvor nie gelebt habt. Die linke Seite ist dabei momentan noch ein wenig leer, aber das wird sich im Laufe der nächsten Wochen noch ändern.

Die rechte Seite sollte euch nun die Optionen zur Wiederbelebung anzeigen. Ihr könnt euch nun aussuchen, an welchem Schlafsack ihr wieder erscheinen wollt. Wenn ihr wegen der Zeitsperre gerade nicht an einem bestimmten Schlafsack erscheinen könnt, dann zeigt euch das Menü nun direkt auf dem Knopf an, wie lange es noch dauern wird.

Ihr könnt eurem Schlafsack nun im Spiel noch einen netten Namen geben.

Rust - Entwicklertagebuch 45 - Rename Sleeping Bag

Der Schlafbildschirm

Der Schlafbildschirm hat jetzt keinen Knopf mehr zum Aufwachen. Ihr könnt nun einfach irgendeinen Knopf drücken, um aufzuwachen.

Das Inventar

Rust - Entwicklertagebuch 45 - Inventar

Das Inventarmenü ist jetzt ohne Umrandungen und über den ganzen Bildschirm angelegt. Dies hat den Nachteil, dass manche Dinge, die im Hintergrund geschehen, verborgen werden, aber es hat den Vorteil, dass es nicht schlecht aussieht. Bei größeren Auflösungen mag es ein wenig groß aussehen. In der nächsten Woche werde ich hier ein paar Anpassungsoptionen hinzufügen, so dass ihr es nach eurem Belieben verkleinern könnt.

Gegenstände auswählen

Ihr könnt einen Gegenstand nun auswählen, indem ihr daraufklickt. Daraufhin wird euch eine Information zu dem Gegenstand am oberen Ende des Bildschirms angezeigt, zusammen mit den Optionen, die dieser Gegenstand bietet (wie z.B. Nahrung zu essen). Der Bereich wird momentan noch zu wenig genutzt, aber wir haben jetzt schon Pläne, die seine Existenz rechtfertigen.

Auf diesem Weg könnt ihr nun auch Gegenstände wegwerfen. Ich kann nachvollziehen, dass dieser Ablauf für die Tonne ist, aber in der nächsten Woche werde ich eine Option einfügen, mit der ihr die Sachen einfach aus eurem Inventar ziehen könnt, um sie fallen zu lassen.

Aufteilen

Die Art und Weise Stapel, aufzuteilen, hat sich geändert und zwar so, dass wir euch dies extra vorstellen wollen. Wenn ich einen Stapel auswählt, bekommt ihr jetzt einen Balken angezeigt. Zieht den Balken einfach auf die Menge ,die ihr nehmen möchtet und dann zieht das Symbol dorthin, wo ihr es hinpacken wollt. Aber das ist noch nicht alles:

  • Mit der linken Maustaste bewegt ihr den kompletten Stapel
  • Mit der rechten Maustaste bewegt ihr einen einzelnes Teil aus dem Stapel
  • Mit der rechten Maustaste bewegt ihr genau die Hälfte des Stapels

Wir sind voller Hoffnung und gleichzeitig der festen Überzeugung, dass die drei Klicks, die ihr benötigt, um einen genauen Betrag zu verschieben, vielleicht von euch nie benötigt werden, da ihr stattdessen zumeist die mittlere und die rechte Maustaste benutzen werdet. Aber wir werden sehen, wie sich das entwickelt.

Blaupausen

Rust - Entwicklertagebuch 45 - Blueprints

Die neue Liste der Blaupausen hat eine Kategorie, die „Alles“(All) genannt wird. Sie wird euch auch zeigen, wieviele Blaupausen ihr freigeschaltet habt. Ihr könnt durch die Liste blättern, indem ihr sie hoch oder runter zieht. Die Gegenstände, die ihr nicht bauen könnt, weil euch die Ressourcen fehlen, findet ihr am Ende der Liste. Die restlichen Gegenstände sind nach ihren Namen sortiert.

Wenn ihr etwas herstellt, wird eine Zeitanzeige erscheinen, zusammen mit einer Anzeige für die Warteschlange der Herstellung. Ihr könnt einen Gegenstand aus dieser Warteschlange entfernen, indem ihr ihn rechtsklickt. Dies ist um Einiges einfacher als die letzte Version und ihr verliert zu einem gewissen Grad ein Stück Spielkontrolle. Aber wir werden sehen, wie sich das entwickelt.

Anpassungen

Rust - Entwicklertagebuch 45 - Tweak

Das Anpassungsfenster wurde neu gestaltet und hat ein paar neue Optionen bekommen. Es zeigt euch jetzt sogar die Bildrate an und hat einen Graphen zur Bildrate entlang der Unterseite. Dies sollte es euch einfacher machen zu erkennen, ob eine Veränderung der Einstellungen euch irgendwelche Verbesserungen in der Leistung gebracht haben.

Ich habe festgestellt, dass der graue Übergang im Hintergrund einfach schrecklich ist, deshalb werde ich ihn nächste Woche ändern. Lasst es mich wissen, wenn ihr noch andere Optionen in dieser Ansicht haben möchtet.

Der Chat

Rust - Entwicklertagebuch 45 - Chat

Der Chat zeigt euch nun die Avatare aus Steam und stellt die Namen von Entwicklern und Admins in anderen Farben dar. In der nächsten Woche muss ich noch einen Verlauf hinzufügen und die weiße Linie am unteren Rand aller Avatare entfernen.

Zufällige Gestaltung der verstrahlten Städte

Wir testen momentan ein Systems, mit dem wir Teile der verstrahlten Städte und der Monumente per Zufall abändern können, je nach Konfiguration des Servers. Ihr könnt euch das wie eine vereinfachte Version des KI-Verwalters in Left 4 Dead vorstellen. Ich kann zum Beispiel Wände, Gebäude oder andere Objekte aus den Städten entfernen oder sie hinzufügen, um es den Leuten schwerer zu machen, sich deren Aufbau oder die Beutepunkte zu merken. Auf lange Sicht ist es unser Ziel, dass die Leute gezwungen werden, sich auf Überraschungen einzustellen, wenn sie eine verstrahlte Stadt betreten. Selbst wenn sie bereits zuvor in diesem Typ Stadt gewesen sind.

Momentan benutzen wir das System nur sehr zurückhaltend, um sicher zu sein, dass es funktioniert wie es sollte. In der aktuellen Phase der Entwicklung ist es nicht mehr als ein Feldversuch eine Konzeptes, um zu sehenn, welche Formen der Variabilisierung Sinn machen könnte, wenn wir die verstrahlten Städte in der Zukunft gestalten. Aber stellt euch darauf ein, einige Objekte und Eingänge zu den Städten zu sehen oder halt nicht zu sehen. Ganz in Abhängigkeit davon, auf welchem Server ihr spielt.

Unbesiegbare Pilze

Wir haben bestimmten Bäumen per Zufall Pilze hinzugefügt. Ihr könnt sie zum jetzigen Zeitpunkt noch nicht sammeln, da sie nur den Zweck erfüllen, unser neues System zur dynamischen Platzierung von Gegenständen zu testen. Dies vorausgesetzt, werden wir euch in Zukunft vielleicht mit diesen kleinen Details interagieren lassen. Die Spieler könnten ihren ersten Stein bekommen, indem sie einen kleinen Stein vom Boden aufheben oder die erste Nacht überleben, indem sie Pilze oder Beeren essen und ihr erstes Werkzeug aus Holzstücken bauen, die sie zuvor aufgesammelt haben.

Wasser

Die Beta 21 zu Unity 5 hat eines unserer Probleme gelöst, die wir mit den Tastern für dynamische Reflektionen hatten, weshalb wir nun die Reflektionen von Wasser unter OS X und Linux wieder aktivieren konnten. Dies bedeutet, wenn ihr auf einem dieser beiden Betriebssysteme spielt, werdet ihr nun endlich saubere Farben im Wasser sehen, anstatt einer grauen Fläche, die tagsüber zu dunkel und des Nachts zu hell ist. Trotzdem ist es immer noch möglich, dass einige Hardware/Software – Kombinationen in den dynamischen Reflektionstastern schwarze Pixel sehen, die meist im Wasser und auf schimmerndem Material auftauchen.

Das Wasser verfügt nun ebenfalls über eine Fließkarte, die auf der normalen Karte der Welt basiert. Dies bedeutet, dass ihr nicht länger Wasser sehen werdet, das einfach von der Küste wegfließt, sonder stattdessen fließt es immer in eine Richtung, die zumindest Sinn macht. Diese Änderung erlaubt es uns, in Zukunft auch  einen sauberen Wellengang in 3D hinzuzufügen.

Speichernutzung

Rust nutzt gern den Arbeitsspeicher. Manchmal benutzt es den Arbeitsspeicher aus einem guten Grund, um die Ausführungszeiten zu verbessern, indem es einige Berechnungen ein Mal macht und das Ergebnis für die weitere Nutzung abspeichert. Manchmal benutzt es den Arbeitsspeicher aus anderen Gründen, die weniger Sinn machen.

Wir haben diese Woche einige Änderungen vorgenommen, um zu versuchen, die Nutzung des Arbeitsspeichers ein wenig zu bremsen. Dazu haben wir einige Komponenten aus dem Spielerprogramm entfernt, die nur der Server brauchte. Gleichzeitig haben wir sichergestellt, dass zufällig erstellte Texturen aus dem Arbeitsspeicher entfernt wurden, sobald sie in die Grafikkarte geladen wurden. Natürlich erst nachdem sichergestellt war, dass die CPU sie nicht weiter brauchen würde.

Diese Änderungen sind keine Zauberei, die es euch auf magischem Weg ermöglicht, nun Rust auf eurem Toaster zu spielen. Um in Zukunft die Auslastung eures Speichers verfolgen zu können, haben wir im F1-Menü eine Systeminformation hinterlegt, die euch zeigt, wieviel Speicher auf eurem Rechner zur Verfügung steht, wieviel Speicher momentan von Mono genutzt wird (z.B. Speicher den wir benutzen, um unsere Skripte auszuführen und zu verwalten) und die Summe an Aufräumaktionen, die das Spiel seit dem Start durchgeführt hat. Unity selbst benötigt ebenfalls ein wenig Speicher für Raster, Texturen und ähnliches, welcher zur Zeit nicht in dem Statusfenster angezeigt wird, aber dies wollen wir in der Zukunft noch einfügen. Es ist eine gute Idee diese Systeminformation mit einem Screenshot zu erfassen, wenn ihr Probleme habt und in den Foren und Reddit nach Hilfe fragt oder uns einen Fehler melden wollt.

Prüfsummenunstimmigkeit (Checksum Mismatch)

Die Leute fragen uns ständig, was die Warnung bezüglich der Prüfsummenunstimmigkeit in der Konsole bedeutet. Deshalb will ich das jetzt erklären. Die Prüfsumme soll die Welt des Servers mit der Welt auf eurem Computer vergleichen. In der Zukunft werden wir dieses Verfahren nutzen, um Spieler rauszuwerfen, deren Prüfsummen nicht mit denen der Server übereinstimmen. Aktuell ist diese Unstimmigkeit eine reine Warnung, die keinerlei Folgen für den Spieler hat. Wir schreiben es momentan nur in die Konsolen und schicken uns eine Information, um zu sehen, wieviele Leute davon betroffen sind. Somit können wir jeden Fehler im Spiel entfernen, der vielleicht diese Unstimmigkeit verursacht.

Am Anfang der Woche haben wir einen solchen Fehler lokalisiert und behoben, weswegen wir hoffen, dass ein Haufen weniger Leute nun in den nächsten Tagen diese Fehlermeldung zu Gesicht bekommt.

Anti Cheat

EAC wurde für die letzte Woche abgeschaltet, während die Jungs eine Fehleranalyse betrieben haben, warum einige Leute per Zufall von den Servern geflogen sind. Die Analyse ist nun beendet und es ist wieder scharf geschaltet.

Eine Jungs haben herausgefunden, dass man an der großen Datei mit den Ressourcen rumpfuschen kann, um Cheats zu erstellen. Ich hätte jetzt Zeit damit verbringen können, einen Code zu schreiben, der diese Möglichkeiten abstellt, aber die Jungs von EAC arbeiten an einer besseren und globaleren Lösung, die in Kürze fertig sein sollte.

Linux

Die Version für Linux sollte nun wieder funktionieren!

Zusammenfassung

Mann, die letzte Woche waren ein ganz schön dicker Brocken, aber es fühlt sich toll an, damit fertig zu sein. Ich werde die nächste Woche damit verbringen alles aufzuräumen, Fehler zu beheben, einige fehlende Funktionen wieder einzufügen und Rückmeldungen anzunehmen. Ich habe den Basis-Code von Raknet in unsere DLLs eingefügt, sodass ich damit auch bald starten kann, um die Netzwerkprobleme zu beheben, die wir mit Lidgren hatten.

Informiert mich über alle Probleme/Ideen/Meinungen, die ihr bezüglich der neuen Benutzeroberfläche habt. Entweder über @garrynewman oder in diesem Forum.

Sag uns deine Meinung:

Auch interessant!

Amazon

Amazon Cyber Monday – Deals und Angebote am 21.11.2017

Zweite Runde, neues Glück bei der Schnäppchen-Jagd der Amazon Cyber Monday Woche. Auch am 21. ...