Diskussionsrunde: Spannende Diskussionen rund um Star Citizen.

Jeden Freitag ab 20 Uhr.

Roedas Dienstagsrunde: Star Citizen im Detail.

Jeden Dienstag ab 20:15 Uhr.

Home || Star Citizen Blog Posts

Chris Roberts über Schadensstufen

Im offiziellen Forum gab es nach der gestrigen Ausgabe von Wingman's Hangar, in der die Schadensstufen der Hornet vorgestellt wurden, einige enttäuschte Fans, die sich mehr erwartet hatten. Sie gingen wohl davon aus, dass jeder einzelne Laserstrahl und jede Kugel genau an der Stelle Schaden verursacht, wo das Schiff getroffen wird. Chris Roberts klärt hier in bekannter Art und Weise auf.


Einige Poster haben andere Engines und Technologien ins Spiel gebracht, die sie in Star Citizen erwartet hätten. Diese Videos solltet Ihr Euch vor dem Lesen von Chris Roberts Antwort anschauen, um zu wissen, wovon er da spricht.








You just saw a PART of the damage system in the video. There are other layers like laser marks / burns, bullet / armor hits (achieved with decals + height maps).

Something that people may not have picked up is that while we have discrete states of damage for every part each state has multiple pieces (panels etc) that can break off. At the beginning of the state all those pieces are attached to the base damage geometry and then are broken off if there is a laser / projectile hit in their vicinity. So between the projectile hit decals, bits of the geometry breaking off near the impact point it will definitely look like the ship is responding to exactly where you are hitting.

Transitions between states - which is flexible in number of states per part as it really depends on the size of the part and how much fidelity you need so the progression looks right (and available artist time) - is more absolute (i.e. when you go from damage 25% to damage 50% the same thing happens although the impulses of the detached geometry is random), so the wing will break in two or sheer off when you hit 50% damage (although if enough damage is done it will skip a state, which will have the effect of feeling / looking different).

Chris Roberts sagt, dass wir nur einen Teil des Schadenssystem in dem Video gestern gesehen haben. Es gibt noch weitere Komponenten wie die Darstellung von Laser und Kugeleinschlägen an der Hülle. Dies wird mit Decals und Height-Maps erreicht. Es wird also die Textur um den Grafik für den Treffer ergänzt und ein wenig verformt.

Eine Sache, die wahrscheinlich nicht alle mitbekommen haben, ist das sie zwar eine beschränkte Anzahl von Schadensstufen haben, aber jede Komponente mehrere Teile hat, die sich lösen können, zum Beispiel Panels. Zu Beginn einer solchen Stufe sind alle Teile am Raumschiff vorhanden, die zu der Stufe gehören. Bei einem Laser- oder Projektiltreffer in ihrer Nähe können sie abfallen. Es werden also Einschusslöcher zu sehen sein und in der Nähe werden sich Panels vom Schiff lösen. Es wird definitiv so aussehen, als würde das Schiff auf den Beschuss "richtig" reagieren.

Übergänge zwischen den Stufen: Abhängig von der Größe der Komponente, die verschiedene Stufen hat, muss mehr oder weniger Aufwand betreiben werden, damit der Fortschritt der Zerstörung gut aussieht. Außerdem muss natürlich das Zeitbudget der Designer beachtet werden. Wenn man von 25% zu 50% Schaden an einer Komponente kommt, dann passiert zwar immer das Gleiche, auch wenn die Impulse für losgelöste Panels verschieden sind. Das heißt, dass der Flügel in zwei brechen oder komplett verloren gehen wird, wenn man 50% Schaden erreicht. Es kann aber auch sein, dass eine Stufe übersprungen wird, weil zu viel Schaden angerichtet wird. Die soll zu anderem Look & Feel führen.

We're also accurately tracing all projectile hits so if a bullet breaks through the shield and armor it's path will be traced inside and if that projectile collides with an internal component it will inflict damage.

Every ship system has a physical location and collision geometry even if it doesn't have render geometry (which is the case with an internal system). If that system is damages or destroyed it affects the ship on a fully systematic way. The obvious answer is the power plant - that gets damages (and doesn't blow up) its power output will decrease or stop. Every system has a power input and if its no longer receiving power will cease to function or in the case of reduced power either function at less power or not at all (depending on the device). Of course if you have some batteries / capacitors then the systems hooked up to the batteries will have some reserve power before running into trouble.

A less obvious illustration is the ships main computer which provides CPU cycles for the ship's avionics (you can think of this computational power instead of energy power). If ship's computer is destroyed or damaged the targeting computer wont be able to resolve targets / function (as a targeting computer needs power, CPU cycles and a working radar). All ship systems either produce / supply some form of consumable (power, CPU cycles, heat, fuel) or use it. Heat is the negative consumable (you want to dispose of it not store it) - most weapons and some systems generate heat and if you don't efficiently deal with it (or your cooling vents get damaged) you'll risk damaging your ship & systems and at the very least increase your heat signature which makes you a much easier target for another ship's radar / targeting computer.

Sie verfolgen - wie schon immer angedacht - alle Projekttreffer. Wenn eine Kugel durch die Schilde und die Panzerung dringt, dann wird der Weg des Geschosses weiter berechnet und jede interne Komponente auf diesem Weg wird beschädigt.

Jedes Schiffssystem hat eine Position im Schiff und kann getroffen werden, auch wenn es insbesondere bei internen System keine grafische Repräsentation gibt. Wenn ein System beschädigt oder zerstört ist, dann beeinflusst dies das Schiff in einer systematischen Weise. Offensichtlich ist dies bei der Energieversorgung. Bei Schaden (aber nicht genug um zu explodieren) wird die zur Verfügung gestellte Energiemenge sinken und irgendwann null sein. Jedes System hat einen Energieeingang. Wenn es keine Energie mehr gibt, dann werden diese Systeme aufhören zu arbeiten. Im Fall von reduzierter Energie könnten sie weniger effektiv arbeiten oder die Arbeit einstellen. Das ist abhängig von dem System. Natürlich könnte man Batterien oder Kondensatoren an Bord haben, die angeschlossene System weiterhin mit Energie versorgen können.

Weniger offensichtlich ist der Hauptschiffscomputer, der den Komponenten Rechenleistung zur Verfügung stellt, zum Beispiel für die Avionik. Man kann sich die Rechenleistung analog zur Energie vorstellen. Wenn der Schiffscomputer beschädigt oder zerstört ist, dann wird der Zielcomputer nicht in der Lage sein Ziele auszumachen, da er Energie, Rechenleistung und ein funktionierendes Radar benötigt. Alle Schiffssysteme produzieren und/oder verbrauchen Ressourcen (Energie, Rechenleistung, Hitze, Treibstoff). Hitze ist eine negativer Verbrauchsgegenstand, da man ihn lieber loswerden möchte, als ihn zu sammeln. Die meisten Waffen und Systeme generieren Hitze. Wenn man damit nicht effizient umgeht, weil beispielsweise die Kühlung getroffen wurde, dann riskiert man, dass Systeme durch die Hitze beschädigt werden. Außerdem wird die Hitze-Signatur erhöht, wodurch man ein immer leichteres Ziel für das Radar und den Zielsucher des Gegners wird.

This is all built in ships with a plug and play system so we just create item "ports" on a ship and plug weapons, radar, power plants, engines, thrusters, fuel tanks, batteries, CPU (more cores means more cycles), targeting system, navigation computer, jump drive, cooling vents / radiators etc in and they hook up the various "pipes" that carry power, CPU cycles, fuel or heat.

Each of these items have their OWN damage states (for the ones that you can see)

So you can see there's a level of fidelity in what we are doing that I haven't seen before in a game and the video today just showed a window into part of the things we are doing to graphically show damage...

Das alles ist in die Schiffe mit einem Plug-and-Play-System eingebaut. Sie erzeugen dann sogenannte "ports" an den Schiffen und bringen Waffen, Radar, Energieversorgung, Antriebe, Thruster, Treibstofftanks, Batterien, die CPU (mehr Kerne heißt mehr Rechenleistung), Zielsystem, Navigation, Jump Drive und Kühlung an. Diese sind dann mit mehreren "pipes" verbunden, die Energie, Rechenleistung, Hitze, Treibstoff transportieren.

Jede dieser Komponenten hat ihre eigenen Schadensstufen (jedenfalls die, die man sehen kann). Es gibt also ein Grad an Details, den Chris Roberts in keinen Spiel zuvor gesehen hat. Das Video von gestern hat nur einen Teil des Systems gezeigt, die sie unternehmen, um den Schaden grafisch darzustellen.

On Snowdrop - its a really pretty looking engine and I showed it to the team the moment it was demoed at E3 as I was very impressed. Having said that its not really do much more or different than CryEngine already does - the "procedural" damage that is demonstrated in the video has been something you have been able to do in CryEngine for years (bullet hit decals, breaking a plane of glass, puncturing tires and the car drops onto the rims). Its very well done (beautiful art & lighting) but I didn't see anything that we don't have the tech for in SC and that we are not planning to do (well I guess you cant shoot tires out on a ship but you could on a buggy!) Its been my experience that the very high end engines - CryEngine, Unreal 4, Frostbite all are pretty much equivalent on feature sets and capabilities - its more about how good you artists are and your programmers are in finding cool ways to show of the features of the engine.

Zum ersten Video (Snowdrop-Engine): Es ist eine Engine, die ziemlich gut aussieht. Er hat sie dem Team direkt nach de E3 gezeigt, da er auch von der Demo beeindruckt war. Dennoch macht die Engine nicht viel mehr oder gar anders, als was die CryEngine auch schon kann. Die "generierte" Zerstörung in dem Video ist etwas, dass die CryEngine schon seit Jahren unterstützt: Decals für Einschusslöcher, zerschossene Glasscheiben und Reifen. Es ist sehr gut gemacht (schönes Design und Beleuchtung), aber Chris Roberts sieht darin nichts, für das sie die Technologie noch nicht in Star Citizen hätten oder nicht Planen würden, sie zu erstellen. Obwohl er nicht glaubt, dass man Reifen an Schiffen zerschießen können wird, aber vielleicht am Buggy. Seine Meinung ist es, dass alle High-End-Engine (CryEngine, Unreal 4, Frostbite) mehr oder weniger das gleiche Feature-Set und Fähigkeiten haben. Es geht mehr darum, wie gut die Designer und die Programmierer sind, um coole Wege zu finden, die Fähigkeiten der Engine im Spiel zu zeigen.

Last note (in my wall of text) -

I've known about the BeamNG folks for a long time and talked to them as early as Dec 2012 about working on Star Citizen. I even have a prototype test they did with a Hornet flying in space using their system, crashing into asteroids! The problem with their approach (and soft body physics in general) is that it is really computationally / simulation heavy - its great for demo videos or something like a car game (there's a reason why Forza or Gran Turismo cars always look so good its because they're usually simulating less stuff than you would in a FPS like Crysis 3). Between the network bandwidth issues and client rendering / simulation issues (simulating softbody physics on 50 ships and having a frame rate that is above the single digits) a full softbody system isn't practical for SC just yet even on the high end PCs we're hoping everyone will have!

That doesn't mean that I am against trying to do a streamlined version for damage modeling - I was hoping to get the BeamNG guys to do some R&D on a stripped down system that just focused on the damage modeling / deformation (not so much the full physical simulation of every hinge etc) for SC but at the time we talked they had other commitments (like finishing university) and wanting to work on their car game so we never ended up working out a deal - which doesn't mean that I wouldn't revisit this as they are super talented but right now it looks like they are doing well and living their dream of building their own game (and who am I to stop them?)

Zu guter Letzt: Er kennt die Leute hinter BeamNG schon eine lange Zeit. Sie hatten schon im Dezember 2012 über eine Zusammenarbeit für Star Citizen gesprochen. Es gibt sogar einen Prototyp einer Hornet, die mit dem BeamNG System im Weltraum herumfliegen kann und in Asteroiden krachen kann. Das Problem mit ihrem Ansatz - und Soft Body Physics allgemein (Bei dieser Technik geht es um verformbare Objekte, die physikalisch korrekt ihre Geometrie ändern. Wie ihr es oben in dem Video seht.) - ist es, dass sie sehr rechenintensiv sind. Das ist zwar toll für Demovideos oder so etwas wie einem Autorennspiel. Es gibt einen Grund, warum die Autos in Forza oder Gran Turismo so gut aussehen, der ist, dass sie normalerweise wesentlich weniger zu simulieren haben, als in einem Shooter wie Crysis 3. Neben dem Problem bei der Simulation, ist auch die Bandbreite der Internetverbindung ein Problem, da zu viele Daten über das Netz ausgetauscht werden müssten. Chris Roberts spricht davon, dass bei dieser Art der Berechnung zweistellige Frameraten mit 50 anderen Schiffen derzeit schwierig seien. Das gilt auch dann, wenn man davon ausgeht, dass alle ein High-End-PC zum Release haben. Deshalb ist es derzeit nicht praktikabel für Star Citizen.

Das heißt aber nicht, dass er generell gegen eine verbesserte Version für das Schadensmodell ist. Er hatte gehofft, dass die Jungs von BeamNG für sie ein wenig Forschung betreiben würden, um ihr System auf die Schadensmodellierung und Deformierung zu fokussieren. Er benötigt keine volle physikalische Simulation jedes Einzelteil des Schiffes. Zu der Zeit hatten sie aber leider andere Verpflichtungen, wie zum Beispiel die Uni abzuschließen. Außerdem wollten sie lieber an ihrer Autosimulation arbeiten. Deshalb kam es nie zu einen Deal. Das muss aber nicht bedeuten, dass sich Chris Roberts die Sache nicht noch einmal anschauen würde. Sie sind sehr talentiert, aber derzeit sieht es so aus, dass sie ihrem Traum ein eigenes Spiel zu entwickeln, voll ausleben.

This doesn't mean that we don't have procedural damage modeling via deformation in our R&D task list for the SC Graphics Engineering team (which is 4 programmers internally at the moment). We need this solution for capital ships as you want to see large hulls indent or buckle from hits / collisions and if we do something that we're happy with (and meets our performance criteria) we'll probably also apply back to the smaller ships adding just another level of detail!

So I guess the TL;DNR version is be patient grasshoppers!

Sie haben die generische Schadensmodellierung durch Deformation auf der Aufgabenliste für die Forschung im SC Grafikteam. Das sind derzeit 4 interne Entwickler. Eine solche Lösung wird für große Kampfschiffe ohnehin benötigt, da man dort größere Verformungen der Hülle durch Einschläge oder Kollisionen sehen möchte. Wenn da etwas herauskommt, womit sie zufrieden sind (und den Performance-Anforderungen entspricht), dann werden sie sicherlich auch wieder zu den kleineren Schiffen zurückgehen und einen weiteren Level an Detail hinzufügen.

Am Ende schreibt er noch als kurze Zusammenfassung für alle, denen der obige Text zuviel zu lesen ist: wartet es einfach ab!

Quelle: RSI Comm-Link

1 Kommentar:

  1. Ja da hat er recht.
    Abwarten, das ist doch alles noch in der Entwicklung.
    Das was ihr im Video gesehen habt war toll. Aber SC ist noch in der Entwicklung.
    Alle Engine Kenner wissen das, und sehen sowas direkt.
    Außerdem fliegt man zu schnell, um darauf zu achten wenn der Gegner hinter einem Schießt.

    AntwortenLöschen