Hallo Leute! Heute möchten wir euch ein Statusupdate zu den aktuellen Änderungen geben (falls ihr noch nichts von unserem Plan wisst, dass wir das Spiel auf eine neue Engine portieren, könnt ihr euch unsere vorherige Ankündigung anschauen).
Kurzfassung
Wir haben nun die Terrain-Generierung abgeschlossen (unten findet ihr ein paar erste Screenshots) und außerdem auch ein paar interessante Features implementiert. Zum Beispiel ist die neue Version in der Lage, größere Sichtweiten zu bieten sowie wesentlich höhere Berge. Abgesehen davon haben wir vollen Gamepad-Support eingebaut, wir haben die UI von Grund auf neu gestaltet (welche nun verschiedene Auflösungen und Bildverhältnisse unterstützt), und haben auch ein UDP-basiertes Netzwerksystem implementiert. Übrigens gibt es ein neues Update für die Java Version, den Changelog dazu findet ihr in unserem Forum
Lange Version
Wir haben in den letzten Monaten viele Fortschritte gemacht, aber natürlich liegt noch eine Menge Arbeit vor uns. Eines der größten (und zeitaufwändigsten) Features, an dem wir aktuell arbeiten, ist die neue Weltgenerierung. Bei diesem Feature haben wir zwei Hauptprioritäten: Einerseits wollen wir interessantere und ansprechendere Landschaften bieten, andererseits wollen wir auch größere Sichtweiten ermöglichen (ohne die Performance zu killen). Tatsächlich haben wir in dieser Hinsicht großen Fortschritt gemacht, denn größere Sichtweiten sowie wesentlich höhere Berge werden mit der neuen Version möglich sein. Wir können noch keine genauen Zahlen nennen (da wir noch nicht alle Welt-Features implementiert haben), aber die ersten Resultate sehen sehr vielversprechend aus!
Hier sind einige erste Screenshots der neuen Terrain-Generierung. Bitte bachtet dass wir hier überwiegend Platzhalter-Texturen verwendet haben (und wir haben auch noch keine Vegetation oder besonders tolle Shader), aber die Bilder dürften einen groben Eindruck vom neuen Terrain geben:
Abgesehen davon haben wir eine "native Bridge" implementieret, welche es uns ermöglicht, performance-kritischen Code direkt in C++ zu schreiben. Das hat bspw. unsere Terraingenerierung wesentlich schneller gemacht im Vergleich zu C#!
C++ gibt uns auch mehr Kontrolle über den Speicher (es ist kein Garbage-Collector involviert) und erlaubt uns, CPU Features wie SIMD zu nutzen.
Zusammenfassung der wichtigsten Features
Hier ein kleiner Überblick über die wichtigsten Features, die wir bisher umgesetzt haben:
- Neue Terrain-Generierung: Die neue Version wird ansprechendere und realistischere Landschaften bieten (verglichen mit der alten Version). Außerdem werden wesentlich größere Sichtweiten und höhere Berge möglich sein (entsprechend können auch höhere Gebäude erstellt werden)
- Bessere Player-Physik: Wir haben versucht, die Spieler-Steuerung ähnlich zu der in der alten Version zu halten, allerdings haben wir ein paar Verbesserungen vorgenommen. Einerseits gibt es kein "Gezittere" mehr, wenn man auf unebenen Flächen steht, andererseits kann man keine steilen Hänge mehr hochklettern wie eine Bergziege. Allerdings haben wir dabei festgestellt, dass wir nun definitiv irgendwelche Bergsteigerausrüstung benötigen
- Neue UI: Wir erstellen eine von Grund auf neue UI. Wir verstehen und stimmen auch zu, dass das alte "Holz" Design nicht unbedingt ansprechend war, deshalb fokussieren wir uns nun auf ein modernes flat-design. Die neue UI skaliert korrekt in Anhängigkeit zur Auflösung und des Bildverhältnisses (wir unterstützen 16:9, 21:9 und 32:9)
- Gamepad Support: Wir haben bis jetzt vollen Support für Xbox360/One, PS4 und alle gängigen XInput Controller. Maus/Tastatur sowie Gamepad können gleichzeitig verwendet werden, aber das Spiel ist auf Wunsch auch komplett ohne Tastatur spielbar
- UDP-basiertes Netzwerksystem: Die neue Version wird ein "verbindungsloses", UDP-basiertes Netzwerksystem verwenden. Im Vergleich zu TCP dürfte das zu besserer Performance führen, aber insbesondere dürften Verbindungsabbrüche und Connection Resets damit der Vergangenheit angehören
- C++ Integration: Nicht direkt ein "Feature", aber wir haben eine Verbindung zwischen C# und C++ hergestellt - dies ermöglicht uns, performance-kritischen Code direkt in C++ zu schreiben und einzubinden, was zu weniger Overhead und mehr Performance führt
- Lokalisierung: Wir haben zwar noch keinen Support für andere Sprachen, aber zumindest unterstützen wir nun chinesische und kyrillische Zeichen. Die Sprachdateien sind einfach zugänglich und veränderbar, sodass Community-Übersetzungen bequem eingebunden werden können (auch wenn dies für deutschsprachige Spieler vmtl. weniger relevant ist, da Deutsch ja bereits unterstützt wird)
Natürlich haben wir bisher auch noch viele andere Dinge implementiert. Falls ihr einen besseren Überblick darüber bekommen wollt und auch wissen möchtet, woran wir aktuell arbeiten, könnt ihr euch gerne unsere Development Roadmap auf Trello anschauen: https://trello.com/b/t5Leypcj/rising-world-development
Wir sind noch dabei, die Weltgenerierung abzuschließen, aber bald werden wir anfangen an Features zu arbeiten, die generell mehr "visuelles Feedback" liefern - zB Animationen, Objekte, Vegetation etc. Dies ermöglicht uns, mehr Screenshots und Videos in kürzeren Zeitabständen zu präsentieren.
Es gibt übrigens auch ein neues Update für die Java Version Anbei der vollständige Changelog:
Changelog 05.11.2019 (0.9.6):
- [Neu] Befehl "stopplantgrowth" hinzugefügt, um einzelne Pflanzen dauerhaft vom Wachstum abzuhalten
- [Neu] Dreieckige Holzplanke kann nun an der Sägebank hergestellt werden
- [Neu] Befehl "invite" hinzugefügt, um Spieler zu einer Gruppe/Party einzuladen, und "leavegroup", um Gruppe zu verlassen
- [Neu] Befehl "id" funktioniert nun auch mit Pflanzen (d.h. es kann damit der zu platzierende Pflanzen-Typ geändert werden)
- [Neu] API Bilder können nun auch auf Interface-Bilder des Spiels zugreifen (siehe GameImageInformation, einfach "Interface/" Pfad verwenden)
- [Neu] Optionen hinzugefügt, um Bauelemente und Objekte (Möbel) von Blueprints auszuschließen
- [Neu] Das NPC-Edit-Fenster (editnpc) ermöglicht es nun auch, NPCs zu locken/unlocken
- [Neu] Befehl "deletenpc" hinzugefügt, um einen NPC zu löschen ohne ihn töten zu müssen
- [Neu] 2 neue Musikstücke hinzugefügt
- [Geändert] Ziegen und Schafe geben nun auch Fleisch (Platzhalter)
- [Geändert] Skelette despawnen automatisch nach ~30 Stunden (damit neue Skelette nachspawnen können)
- [Geändert] Wireframe wird nun deaktiviert, wenn man ins Menü zurückkehrt
- [Geändert] Spawn-Rate für Banditen etwas angehoben
- [Geändert] Mindestwerte für "size" Befehl im Survivalmodus entfernt
- [Behoben] TNT Explosionen spawnen nun Steine / Erde mit korrekten IDs
- [Behoben] Glasscheiben werden nun für die Innenraum-Prüfung berücksichtigt (sofern dicker als 0.2 Blöcke)
- [Behoben] Beim Schließen eines Contextmenüs mit der linken Maustaste wird kein Mausklick mehr ausgelöst (Waffen werden nicht mehr versehentlich abgefeuert)
- [Behoben] Behoben, dass "Ducken umschalten" nicht korrekt mit Leitern funktionierte
- [Behoben] Falsches Klavier-Mapping für englisches Tastaturlayout korrigiert
- [Behoben] Bug beim Löschen von Map-Markern behoben, die während der gleichen Session erstellt wurden
- [Behoben] Behoben, dass man durch Banditen keinen Schaden mehr genommen hat, wenn man mit anderen Spielern in einer Party war
- [Behoben] Behoben, dass im NPC-Edit-Fenster bestimmte Bereiche nicht anklickbar waren
- [Behoben] NPC Sounds werden nun ebenfalls von der eingestellten Laustärke für Tiere beeinflusst
- [Behoben] Bug behoben, welcher in sehr spezifischen Situationen zum Crash geführt hat