Das folgende stammt aus einem Post in Marek Rosas Blog - Ich habe den Post lediglich übersetzt
_______________
Hallo, ich bin Ondrej Petrzilka, für die unter euch, die mich nicht kennen, ich bin der Chefentwickler für Space Engineers und Medieval Engineers. Ich arbeite seit 2011 bei Keen Software House, zunächst als Programmierer für Miner Wars 2081 und seitdem an vielen verschiedenen Projekten, hauptsächlich aber an der Entwicklung von Space Engineers. In diesem Blogpost möchte ich ein wenig unsere jetzigen und zukünftigen Pläne für Space Engineers beleuchten. Im Moment arbeiten wir an drei großen Sachen: Planeten, Szenarien und einem neuen Multiplayer.
Als Space Engineers als Early Access veröffentlicht wurde, waren wir sehr pessimistisch in Bezug auf Planeten, aber das hat sich Ende 2014 geändert, als der prozedurale Asteroidengenerator programmiert wurde. Uns wurde klar, dass wir wahrscheinlich größere Asteroiden erzeugen konnten - mehr als 8 km Durchmesser. Als wir im Team über Planeten diskutiert haben, stellten wir fest, dass wir keine größeren Asteroiden, sondern Planeten 'mit allem' haben wollten.
Eigenschaften von Planeten:
Stellt euch einen Planeten mit 100 km Radius vor. Wenn der Planet euren gesamten Bildschirm ausfüllt (Standard FOV), seid ihr immer noch 73 km entfernt. Wenn ihr mit der Höchstgeschwindigkeit von 104 m/s darauf zu fliegt, wird es fast 12 Minuten dauern bis ihr ankommt. Das scheint zu viel.
Wie lange würde es dauern, um eine 100 km Planeten zu fliegen? Der Umfang eines 100 km Planeten ist 628 km. Mit Höchstgeschwindigkeit würde es mehr als 90 Minuten dauern ihn zu umkreisen.
Lösung. Erst erwogen wir, die Höchstgeschwindigkeit zu erhöhen, aber das ist zu problematisch. Wir sind durch die physische Stabilität, bullet-through-paper Probleme (weiß jemand, wie das zu übersetzen wäre?) und andere Probleme limitiert. Wir haben entschieden, die Planetengröße in den Welteinstellungen konfigurierbar zu machen (Minimale und maximale Größe). So können wir die Planeten bald implementieren und sowohl Spieler, die riesige Planeten wollen, als auch Spieler die kleine Planeten wollen zufrieden stellen. Möglicherweise werden wir die Höchstgeschwindigkeit in Zukunft neu bewerten.
Gravitation. Planeten werden Gravitation haben, die der der Erde ähnlich ist. Mit wachsender Entfernung zu einem Planeten wird die Gravitation abnehmen, größere Planeten werden mehr Gravitation haben. Wir planen, dass auch Schiffe von der planetaren Gravitation beeinflusst werden.
Atmosphäre. Wir planen Atmosphäre zu bestimmten Planeten hinzuzufügen; wo es Atmosphäre gibt, wachsen auch Pflanzen. Andere Planeten werden nackt, ohne Atmosphäre generiert. Die Vegetation soll die gleiche sein wie in Medieval Engineers. Um nette Atmosphäreneffekte zu erzielen, planen wir einen speziellen Shader zu verwenden, der Sonneneinstrahlung, Luftdichte, die Entfernung die das Licht zurücklegt und andere Parameter berücksichtigt. Es wird möglich sein, innerhalb der Atmosphäre frei zu atmen und die Sauerstofftanks aufzufüllen.
Sichtweite. Space Engineers hat eine Standardsichtweite von 20 km. Wenn du 30 km for einem Asteroiden oder Planeten fliegst, siehst du nichts ... nichts ... nichts ... und dann taucht plötzlich ein gigantischer Planet vor dir auf. Das sieht schräg aus und würde das Spielgefühl beeinträchtigen, also mussten wir eine Lösung finden.
Eine Möglichkeit wäre gewesen, die Sichtweite zu erhöhen, aber ab 50-70 km geht aufgrund der Z-Buffer Präzision nichts mehr. Wir wollten aber, dass die Spieler Planeten ab 1000 km oder mehr sehen können. Wir haben entschieden, weit entfernte Planeten 'getrennt' zu rendern. Das erlaubt Spielern, Planeten aus Distanzen von mehr als 10,000 km zu sehen, währedn andere Objekte wie Schiffe und kleine Asteroiden erst ab 20 km gerendert werden.
In den letzten 15 Monaten haben wir viele Features zum Spiel hinzugefügt, aber wir haben nicht viel am Spielprinzip geändert. Space Engineers ist jetzt ein Sandbox-Spiel, mit dem ihr viele verrückte Dinge machen könnt... ohne ein Ziel. Wir planen bald Ziele hinzuzufügen: ihr habt vermutlich das erste Szenario letzte Woche gesehen, das war nur ein Testszenario. Mehr Szenarien werden folgen, sowohl im Einzel- als auch Mehrspielermodus.
Der Hauptzweck von Szenarien ist, die Spieler zu unterhalten, die Ziele und Errungenschaften sehen wollen. Der zweite Zweck ist es, neuen Spielern zu zeigen, wie das Spiel funktioniert, und ihnen nach und nach die meisten Spielmechaniken vorzustellen. Ein Spiel wie dieses, mit vielen Features auf einmal, kann auf neue Spieler verwirrend wirken.
Einzelspieler-Szenarien werden aus einer Reihe von Aufgaben mit möglicherweise Wahlmöglichkeiten bestehen (manchmal werden die Spieler entscheiden können, wie sie vorgehen). Szenarien werden Features ausnutzen, die bereits im Spiel implementiert sind. Die ersten Szenario werden recht linear sein, um Spielern bestimmte Spielmechaniken beizubringen, wie Mining oder eine Station reparieren. Dann wird es fortgeschrittene Szenarien mit mehreren Lösungswegen geben. Ein Beispiel könnte sein: 'Zerstöre den militärischen Außenposten'. Es liegt am Spieler zu entscheiden, ob er ein gepanzertes Schlachtschiff mit Raketenwerfern baut, oder ob er Köder zur Ablenkung auswirft und mit einem Sprengkopf die Geschütze ausschaltet, um die Station anschließend zu hacken. Wir haben noch nicht entschieden, ob Einzelspielerszenarien in einem kooperativen Modus spielbar sein werden oder nicht.
Mehrspieler-Szenarien werden entworfen sein, um ein Wenig Wettbewerb in Space Engineers zu integrieren. Wir diskutieren über das Design dieser Szenarien im Team. Es gibt Ideen für klassische Szenarien wie 'Verteidige die Station', 'Entführe die Flagge', 'Deathmatch', und ungewöhnlichere Szenarien, wie zum Beispiel einen Wettbewerb, welche Spieler am meisten Gold aus einem Asteroiden an einen Händler liefern können. Manche Szenarien werden teambasiert sein, andere jeder gegen jeden.
Modding. Wir wollen Szenarien vollkommen modifizierbar machen, es soll für Modder möglich sein Einzelspieler- wie Mehrspielerszenarien zu erstellen und zu skripten. Es wird außerdem einen einfach zu bedienenden Szenario-Editor im Spiel geben, Modder können eine Welt vorbereiten und Siegbedingungen auszuwählen. Modder werden bereits vorbereitete Infrastruktur wie Sig/Game Over-Bildschirme, Punktelisten, Teamauswahl, definierbares Invetar, Anzahl an Respawnmöglichkeiten und mehr nutzen können.
Jetzt sind wir bereit, den Multiplayer von Grund auf neu zu schreiben. Das Spiel ist um zahlreiche Features reicher, die wir berücksichtigen können, wenn wir den Mehrspielermodus neu schreiben, insbesondere unendliche und prozedural generierte Welten. Wir haben außerdem ein größeres Team, so dass wir am Multiplayer arbeiten und Features hinzufügen können.
In der aktuellen Multiplayer-Version, weiß jeder Client alles. Wenn irgendjemand 100,000 km entfernt einen Asteroiden anbohrt, bekommen alle Clients diese Information vom Server. Das ist nicht nötig, der Client braucht diese Information nur, wenn er sich in der Nähe dieses Asteroiden befindet. Im neuen Multiplayer bekommen Clients nur Informationen, die wichtig sind und ihre nähere Umgebung (oder Kameraposition) betreffen. Das wird die benötigte Bandbreite enorm reduzieren, es wird außerdem (abhängig von der Internetverbindung des Servers) mehr Spieler auf einem Server erlauben.
Informationen, die an den Client gesendet werden, werden mit Prioritäten versehen; wichtige Dinge, wie die Position des Spielers, haben Priorität. Weniger wichtige Information wie der Batterieladestand oder Änderungen im Inventar werden mit niedrigerer Priorität gesendet. Das sollte Lags reduzieren und den Multiplayer weicher laufen lassen.
Jeder Client sendet im Moment seine Position an jeden anderen Client (nicht durch den Server). Das kann Lags ein wenig reduzieren, erfordert aber ebenso eine immense Bandbreite, denn es ist nötig Nachrichten an jeden Client zu senden, nicht nur an den Server. Es macht Verbindungsprobleme außerdem noch schlimmer, den jeder Client muss mit jedem Client verbunden sein. Mit mehr Spielern auf dem Server hat dieses Problem eine deutlich größere Wirkung.
Im neuen Mehrspielermodus wird der Client nicht mehr mit jedem Client verbunden, sondern nur noch mit dem Server. Der Server wird die gesendeten Daten validieren (z.B Positionsupdates) und nur an die Clients senden, die diese Information benötigen (Clients die den Originalclient sehen). Das wird Verbindungsproblemen vorbeugen und die benötigte Bandbreite reduzieren. Es ist außerdem ein notwendiger Schritt, um die Anzahl der Spieler auf einem Server zu erhöhen.
Der aktuelle Multiplayer benutzt den Steam Networking layer, der das Versenden von Daten zwischen Spielern sehr einfach macht und leicht zu benutzen ist. Andererseits lässt er fortgeschrittene Features vermissen. Deswegen werden wir zu RakNet wechseln. RakNet ist ein populärer Networking layer, es ist robust und unterstützt viele Plattformen, inklusive Xbox, PlayStation, Linux und Android.
Der neue Multiplayer wird technisch in etwa so arbeiten wie Halo Reach oder die Tribes-Serie (die Art, Objekte und ihre Eigenschaften zu synchronisieren). Wir haben seit einem Monat am neuen Multiplayer gearbeitet. Die Arbeit wird sicherlich noch mindestens ein paar Wochen bis ein paar Monate dauern, bevor sie fertig ist.
Bleibt bereit für mehr Informationen über Schiffs-AI, Xbox, Spiele-Controller und Medieval Engineers.
Anmerkung: Alle Bilder sind Public Domain.
Danke!
Ondrej Petrzilka
_______________
Originalpost: blog.marekrosa.org/2015/04/gue…j-petrzilka-space_17.html
Übersetzt von mir, @hashtag
//Edit by Spacemarine:
Zusammengefügt und Formatierung ein wenig verbessert. Zudem in ein neues Thema verschoben.
_______________
Hallo, ich bin Ondrej Petrzilka, für die unter euch, die mich nicht kennen, ich bin der Chefentwickler für Space Engineers und Medieval Engineers. Ich arbeite seit 2011 bei Keen Software House, zunächst als Programmierer für Miner Wars 2081 und seitdem an vielen verschiedenen Projekten, hauptsächlich aber an der Entwicklung von Space Engineers. In diesem Blogpost möchte ich ein wenig unsere jetzigen und zukünftigen Pläne für Space Engineers beleuchten. Im Moment arbeiten wir an drei großen Sachen: Planeten, Szenarien und einem neuen Multiplayer.
Planeten
Über Planeten wurde viel diskutiert, und die Spieler haben sich das lange Zeit gewünscht. Ich würde euch gerne mehr Informationen über unsere Intentionen und den Hintergrund der Idee mitteilen.Als Space Engineers als Early Access veröffentlicht wurde, waren wir sehr pessimistisch in Bezug auf Planeten, aber das hat sich Ende 2014 geändert, als der prozedurale Asteroidengenerator programmiert wurde. Uns wurde klar, dass wir wahrscheinlich größere Asteroiden erzeugen konnten - mehr als 8 km Durchmesser. Als wir im Team über Planeten diskutiert haben, stellten wir fest, dass wir keine größeren Asteroiden, sondern Planeten 'mit allem' haben wollten.
Eigenschaften von Planeten:
- Anständige Größe
- Gravitation (möglichst auch Schiffe beeinflussend)
- Atmosphäre
- Gelände (Berge, Schluchten)
- Vegetation (Bäume, Büsche, Gras)
- Aus großer Distanz sichtbar (>1000 km)
Stellt euch einen Planeten mit 100 km Radius vor. Wenn der Planet euren gesamten Bildschirm ausfüllt (Standard FOV), seid ihr immer noch 73 km entfernt. Wenn ihr mit der Höchstgeschwindigkeit von 104 m/s darauf zu fliegt, wird es fast 12 Minuten dauern bis ihr ankommt. Das scheint zu viel.
Wie lange würde es dauern, um eine 100 km Planeten zu fliegen? Der Umfang eines 100 km Planeten ist 628 km. Mit Höchstgeschwindigkeit würde es mehr als 90 Minuten dauern ihn zu umkreisen.
Lösung. Erst erwogen wir, die Höchstgeschwindigkeit zu erhöhen, aber das ist zu problematisch. Wir sind durch die physische Stabilität, bullet-through-paper Probleme (weiß jemand, wie das zu übersetzen wäre?) und andere Probleme limitiert. Wir haben entschieden, die Planetengröße in den Welteinstellungen konfigurierbar zu machen (Minimale und maximale Größe). So können wir die Planeten bald implementieren und sowohl Spieler, die riesige Planeten wollen, als auch Spieler die kleine Planeten wollen zufrieden stellen. Möglicherweise werden wir die Höchstgeschwindigkeit in Zukunft neu bewerten.
Gravitation. Planeten werden Gravitation haben, die der der Erde ähnlich ist. Mit wachsender Entfernung zu einem Planeten wird die Gravitation abnehmen, größere Planeten werden mehr Gravitation haben. Wir planen, dass auch Schiffe von der planetaren Gravitation beeinflusst werden.
Atmosphäre. Wir planen Atmosphäre zu bestimmten Planeten hinzuzufügen; wo es Atmosphäre gibt, wachsen auch Pflanzen. Andere Planeten werden nackt, ohne Atmosphäre generiert. Die Vegetation soll die gleiche sein wie in Medieval Engineers. Um nette Atmosphäreneffekte zu erzielen, planen wir einen speziellen Shader zu verwenden, der Sonneneinstrahlung, Luftdichte, die Entfernung die das Licht zurücklegt und andere Parameter berücksichtigt. Es wird möglich sein, innerhalb der Atmosphäre frei zu atmen und die Sauerstofftanks aufzufüllen.
Sichtweite. Space Engineers hat eine Standardsichtweite von 20 km. Wenn du 30 km for einem Asteroiden oder Planeten fliegst, siehst du nichts ... nichts ... nichts ... und dann taucht plötzlich ein gigantischer Planet vor dir auf. Das sieht schräg aus und würde das Spielgefühl beeinträchtigen, also mussten wir eine Lösung finden.
Eine Möglichkeit wäre gewesen, die Sichtweite zu erhöhen, aber ab 50-70 km geht aufgrund der Z-Buffer Präzision nichts mehr. Wir wollten aber, dass die Spieler Planeten ab 1000 km oder mehr sehen können. Wir haben entschieden, weit entfernte Planeten 'getrennt' zu rendern. Das erlaubt Spielern, Planeten aus Distanzen von mehr als 10,000 km zu sehen, währedn andere Objekte wie Schiffe und kleine Asteroiden erst ab 20 km gerendert werden.
Szenarien
In den letzten 15 Monaten haben wir viele Features zum Spiel hinzugefügt, aber wir haben nicht viel am Spielprinzip geändert. Space Engineers ist jetzt ein Sandbox-Spiel, mit dem ihr viele verrückte Dinge machen könnt... ohne ein Ziel. Wir planen bald Ziele hinzuzufügen: ihr habt vermutlich das erste Szenario letzte Woche gesehen, das war nur ein Testszenario. Mehr Szenarien werden folgen, sowohl im Einzel- als auch Mehrspielermodus.
Der Hauptzweck von Szenarien ist, die Spieler zu unterhalten, die Ziele und Errungenschaften sehen wollen. Der zweite Zweck ist es, neuen Spielern zu zeigen, wie das Spiel funktioniert, und ihnen nach und nach die meisten Spielmechaniken vorzustellen. Ein Spiel wie dieses, mit vielen Features auf einmal, kann auf neue Spieler verwirrend wirken.
Einzelspieler-Szenarien werden aus einer Reihe von Aufgaben mit möglicherweise Wahlmöglichkeiten bestehen (manchmal werden die Spieler entscheiden können, wie sie vorgehen). Szenarien werden Features ausnutzen, die bereits im Spiel implementiert sind. Die ersten Szenario werden recht linear sein, um Spielern bestimmte Spielmechaniken beizubringen, wie Mining oder eine Station reparieren. Dann wird es fortgeschrittene Szenarien mit mehreren Lösungswegen geben. Ein Beispiel könnte sein: 'Zerstöre den militärischen Außenposten'. Es liegt am Spieler zu entscheiden, ob er ein gepanzertes Schlachtschiff mit Raketenwerfern baut, oder ob er Köder zur Ablenkung auswirft und mit einem Sprengkopf die Geschütze ausschaltet, um die Station anschließend zu hacken. Wir haben noch nicht entschieden, ob Einzelspielerszenarien in einem kooperativen Modus spielbar sein werden oder nicht.
Mehrspieler-Szenarien werden entworfen sein, um ein Wenig Wettbewerb in Space Engineers zu integrieren. Wir diskutieren über das Design dieser Szenarien im Team. Es gibt Ideen für klassische Szenarien wie 'Verteidige die Station', 'Entführe die Flagge', 'Deathmatch', und ungewöhnlichere Szenarien, wie zum Beispiel einen Wettbewerb, welche Spieler am meisten Gold aus einem Asteroiden an einen Händler liefern können. Manche Szenarien werden teambasiert sein, andere jeder gegen jeden.
Modding. Wir wollen Szenarien vollkommen modifizierbar machen, es soll für Modder möglich sein Einzelspieler- wie Mehrspielerszenarien zu erstellen und zu skripten. Es wird außerdem einen einfach zu bedienenden Szenario-Editor im Spiel geben, Modder können eine Welt vorbereiten und Siegbedingungen auszuwählen. Modder werden bereits vorbereitete Infrastruktur wie Sig/Game Over-Bildschirme, Punktelisten, Teamauswahl, definierbares Invetar, Anzahl an Respawnmöglichkeiten und mehr nutzen können.
Neuer Mehrspieler
Update 1.015, in dem der Mehrspielermodus hinzugefügt wurde, wurde am 16. Januar 2014 veröffentlicht, vor mehr als einem Jahr. Der Mehrspielermodus wurde innerhalb von 5 Wochen geschrieben. Wir wissen das er nicht annähernd perfekt ist, es gibt Verbindungsprobleme, Lags, Synchronisationsfehler, Zittern, Hackers und viele andere Probleme. Wir wollten keine zwei Monate aufwenden, um den Multiplayer von Grund auf zu schreiben, also entschieden wir uns die Dinge zu fixen, die wir fixen konnten, und uns später um einen 'besseren' Multiplayer zu kümmern. Wir wussten auch, dass wir mit der Einführung von unendlichen Welten erneut würden nachbessern müssen.Jetzt sind wir bereit, den Multiplayer von Grund auf neu zu schreiben. Das Spiel ist um zahlreiche Features reicher, die wir berücksichtigen können, wenn wir den Mehrspielermodus neu schreiben, insbesondere unendliche und prozedural generierte Welten. Wir haben außerdem ein größeres Team, so dass wir am Multiplayer arbeiten und Features hinzufügen können.
In der aktuellen Multiplayer-Version, weiß jeder Client alles. Wenn irgendjemand 100,000 km entfernt einen Asteroiden anbohrt, bekommen alle Clients diese Information vom Server. Das ist nicht nötig, der Client braucht diese Information nur, wenn er sich in der Nähe dieses Asteroiden befindet. Im neuen Multiplayer bekommen Clients nur Informationen, die wichtig sind und ihre nähere Umgebung (oder Kameraposition) betreffen. Das wird die benötigte Bandbreite enorm reduzieren, es wird außerdem (abhängig von der Internetverbindung des Servers) mehr Spieler auf einem Server erlauben.
Informationen, die an den Client gesendet werden, werden mit Prioritäten versehen; wichtige Dinge, wie die Position des Spielers, haben Priorität. Weniger wichtige Information wie der Batterieladestand oder Änderungen im Inventar werden mit niedrigerer Priorität gesendet. Das sollte Lags reduzieren und den Multiplayer weicher laufen lassen.
Jeder Client sendet im Moment seine Position an jeden anderen Client (nicht durch den Server). Das kann Lags ein wenig reduzieren, erfordert aber ebenso eine immense Bandbreite, denn es ist nötig Nachrichten an jeden Client zu senden, nicht nur an den Server. Es macht Verbindungsprobleme außerdem noch schlimmer, den jeder Client muss mit jedem Client verbunden sein. Mit mehr Spielern auf dem Server hat dieses Problem eine deutlich größere Wirkung.
Im neuen Mehrspielermodus wird der Client nicht mehr mit jedem Client verbunden, sondern nur noch mit dem Server. Der Server wird die gesendeten Daten validieren (z.B Positionsupdates) und nur an die Clients senden, die diese Information benötigen (Clients die den Originalclient sehen). Das wird Verbindungsproblemen vorbeugen und die benötigte Bandbreite reduzieren. Es ist außerdem ein notwendiger Schritt, um die Anzahl der Spieler auf einem Server zu erhöhen.
Der aktuelle Multiplayer benutzt den Steam Networking layer, der das Versenden von Daten zwischen Spielern sehr einfach macht und leicht zu benutzen ist. Andererseits lässt er fortgeschrittene Features vermissen. Deswegen werden wir zu RakNet wechseln. RakNet ist ein populärer Networking layer, es ist robust und unterstützt viele Plattformen, inklusive Xbox, PlayStation, Linux und Android.
Der neue Multiplayer wird technisch in etwa so arbeiten wie Halo Reach oder die Tribes-Serie (die Art, Objekte und ihre Eigenschaften zu synchronisieren). Wir haben seit einem Monat am neuen Multiplayer gearbeitet. Die Arbeit wird sicherlich noch mindestens ein paar Wochen bis ein paar Monate dauern, bevor sie fertig ist.
Bleibt bereit für mehr Informationen über Schiffs-AI, Xbox, Spiele-Controller und Medieval Engineers.
Anmerkung: Alle Bilder sind Public Domain.
Danke!
Ondrej Petrzilka
_______________
Originalpost: blog.marekrosa.org/2015/04/gue…j-petrzilka-space_17.html
Übersetzt von mir, @hashtag
//Edit by Spacemarine:
Zusammengefügt und Formatierung ein wenig verbessert. Zudem in ein neues Thema verschoben.
i slappa da bass
Dieser Beitrag wurde bereits 7 mal editiert, zuletzt von Spacemarine ()