
Zitat von
J4oOhnCooper
Hallo, im Rahmen einer Präsentation benötige ich noch ein paar Antworten zur Ergänzung.
-Ist FG nur in Spielen üblich oder gibt es auch andere Gebiete?
Flow Graph wurde soweit ich weis von Crytek für die CryEngine 2 entwickelt um visuelles Scripting zu ermöglichen. Unvisuel wäre z.B. die Art des Scriptings, welche in der CryEngine 1 via LUA verwendet wurde. Entities werden gemeinsam "verlinkt" und funktionen welche vorher in der Mission.lua des jehweiligen Levels definiert wurden, werden über z.b. Trigger ausgelöst. Ich habe mir das ganze aber nur mal kurz angeschaut, gut möglich das ich da etwas fehlinterpretiere oder vergessen habe. Der Proximity Trigger aus Crysis 1 hat z.B. noch eine "ScriptCommand" Funktion aus der Zeit, zum aufrufen von lua Funktionen. Da es aber in Crysis 1 schon visuelles Scripting gab, wurde diese Funktion soweit ich weis nicht genutzt. Sie ist aber vorhanden.
Diese Frage lässt sich also ganz einfach beantworten, indem du auf der Seite von CryTek oder die der CryEngine mal schaust für welche Produkte die CryEngine 1 & 2 lizensiert wurden.
-Waren Crytek die ersten mit FG oder kommt die Idee das in Spielen zu verwenden oder gab es frühere?
Höchstwahrscheinlich hat Crytek sich bei anderen Engines welche Visuelles Scripting anbieten inspirieren lassen. Ich bin mir ziemlich sicher das Crytek nicht die ersten mit V-Scripting waren, aber die ersten mit FG. (Entwicklung ihrer Engine halt)
-In was für eine Sprache ist das in der .xml Datei geschrieben? Was Crytek-Eigenes?
Falls du türkisch meinst, nein, es ist englisch.
Geile Fragen bekommen geile Antworten.
Aber um dir eine exakte Antwort zu geben, hier hast du ein Beispiel wie das ganze in exportierten FGs oder in der Mission0.xml aussehen würde.
Code:
<FlowGraph Description="" Group="" enabled="1" MultiPlayer="ClientServer">
<Nodes>
<Node Id="1" Class="Input:Key" pos="-730,-550,0" flags="0">
<Inputs Key="v" NonDevMode="0"/>
</Node>
<Node Id="4" Class="Time:Delay" pos="880,-60,0" flags="0">
<Inputs delay="10"/>
</Node>
<Node Id="5" Class="AI:AIExecute" pos="1110,-170,0" flags="0" GraphEntity="0">
<Inputs entityId="0" objectId="0" soaction_action="skykon_switch_spawner" maxAlertness="2" HighPriority="1"/>
</Node>
<Node Id="11" Class="Logic:Any" pos="5250,-130,0" flags="0">
<Inputs />
</Node>
<Node Id="12" Class="Start" pos="5250,0,0" flags="0">
<Inputs InGame="1" InEditor="1"/>
</Node>
[...]
<Node Id="69" Class="Time:RandomDelay" pos="-110,-210,0" flags="0">
<Inputs MinDelay="20" MaxDelay="40"/>
</Node>
</Nodes>
<Edges>
<Edge nodeIn="51" nodeOut="1" portIn="in1" portOut="Pressed" enabled="1"/>
<Edge nodeIn="24" nodeOut="4" portIn="Reset" portOut="out" enabled="1"/>
<Edge nodeIn="50" nodeOut="4" portIn="Reset" portOut="out" enabled="1"/>
<Edge nodeIn="20" nodeOut="5" portIn="true" portOut="succeed" enabled="1"/>
<Edge nodeIn="13" nodeOut="11" portIn="sink" portOut="out" enabled="1"/>
<Edge nodeIn="11" nodeOut="12" portIn="in2" portOut="output" enabled="1"/>
<Edge nodeIn="24" nodeOut="19" portIn="Input1" portOut="ShooterId" enabled="1"/>
<Edge nodeIn="25" nodeOut="19" portIn="Rot" portOut="Dir" enabled="1"/>
<Edge nodeIn="25" nodeOut="19" portIn="Pos" portOut="Pos" enabled="1"/>
[...]
<Edge nodeIn="65" nodeOut="66" portIn="entityId" portOut="Out" enabled="1"/>
<Edge nodeIn="51" nodeOut="69" portIn="in2" portOut="Out" enabled="1"/>
</Edges>
</FlowGraph>
-Gibt es eine Begrenzung von dem Umfang der Datei (Speicherplatz ausgeschlossen)
Ich kann es sehr schlecht einschätzen wie viele FG Nodes die Map hat, an welche ich gerade denke, aber lassen wir es mal ~8000 auf z.B. Village sein. Die ganzen Nodes sammeln sich ja schnell an. Allein durch Sachen wie AI Patrulien oder "Helfer FGs" (Helfer FGs habe ich jetzt mal Nodes wie "Logic:Any", "Misc:Start", "Math:ToBoolean"... getauft. FG Nodes die nicht direkt etwas ingame triggern, aber für Nodes die Ingame aktionen hervorrufen werden sie oft benötigt um einen sauberen Spielverlauf zu garantieren.
Die "Mission_Mission0.xml" aus Village hat wenn man sie auf den Desktop zieht 1,51 mb. Un darin sind alle in der Map platzierten Objekte, Entities und FGs eingetragen, jeder Mückenschiss den du im Editor platzierst.
Das was bei so ner Map wirklich mb verbraucht sind alleine die ganzen Terraindaten. Wie Terrainform und Terraintexturen.
Ja das wars fürs erste.

Hoffe mir kann jemand die Fragen beantworten.
Darf ich fragen wofür du diese Antworten brauchst?
Solche Informationen klingen eher nach nem Informatikreferat wenn du mich fragst