|
1 registered members (AndrewAMD),
3,675
guests, and 8
spiders. |
|
Key:
Admin,
Global Mod,
Mod
|
|
|
Re: Scriptänderungen ohne Neukompilierung...
[Re: Tobias]
#240906
12/13/08 10:47
12/13/08 10:47
|
Joined: Jan 2003
Posts: 4,615 Cambridge
Joey
Expert
|
Expert
Joined: Jan 2003
Posts: 4,615
Cambridge
|
Ich finds nur schwach, zu erwarten, dass JCL mit allem immer treu aushilft. Oder habt ihr euch mit 3D GameStudio auch eine Lizens zum Anschnautzen des Chefentwicklers gekauft? (Und das war jetzt kein Kindergarten, sondern eine längst überfällige Meinung.) Was auch noch eine sinnvolle Alternative sein kann ist der C#-Wrapper. Ich weiß nicht mehr sicher, wo über den was stand (das wisst ihr sicher besser), jedenfalls ist hier ein hübscher Link dazu: http://www.codeproject.com/KB/cs/csi.aspxEventuell (wenn du nicht den Wrapper verwenden kannst, falls es den überhaupt schon gibt) könntest du den Interpreter ja als DLL einbinden. Viele Grüße & einen frohen dritten Advent morgen, Joey
|
|
|
Re: Scriptänderungen ohne Neukompilierung...
[Re: Joey]
#240911
12/13/08 11:27
12/13/08 11:27
|
Joined: Sep 2005
Posts: 980 Aue, Sachsen, Germany
Wicht
User
|
User
Joined: Sep 2005
Posts: 980
Aue, Sachsen, Germany
|
@Joey: Oder habt ihr euch mit 3D GameStudio auch eine Lizens zum Anschnautzen des Chefentwicklers gekauft?
Und vice versa? @Tobias: TorqueScript ist langsamer als kompilierter C/C++-Code aber nicht unbedingt viel langsamer. Mal davon abgesehen verwendet Crytek für ihre Engine u.a. auch LUA. Und die Typen sollten es wissen.
|
|
|
Re: Scriptänderungen ohne Neukompilierung...
[Re: Tobias]
#240913
12/13/08 11:47
12/13/08 11:47
|
Joined: Nov 2004
Posts: 7,121 Potsdam, Brandenburg, Germany
Machinery_Frank
Senior Expert
|
Senior Expert
Joined: Nov 2004
Posts: 7,121
Potsdam, Brandenburg, Germany
|
Interpretierte Sprachen wie Torque script, LUA oder Python sind langsam und das Anpassen ist wohl auch ein bisschen aufwendig für eine ernstzunehmende Alternative. Ich denke, das sollten wir Mercuryus überlassen. Er ist ja kein Amateur. Ich bin mir sicher, er will nicht das ganze Spiel mit diesem externen Skript programmieren, sondern nur Teile davon auslagern. Genau das ist der Sinn von Skriptsprachen wie z.B. LUA.
Models, Textures and Games from Dexsoft
|
|
|
Re: Scriptänderungen ohne Neukompilierung...
[Re: Wicht]
#240915
12/13/08 12:04
12/13/08 12:04
|
mercuryus
OP
Unregistered
|
mercuryus
OP
Unregistered
|
Vielen Dank für das rege Interesse an diesem Thema. Aus den vielen Antworten habe ich für mich folgendes herauslesen können: Nachträgliches Hinzufügen von Skript zu einem gepublishten Game geht im kostenlosen lite-C das keinen Compiler hat. Sonst gehts nicht ohne Compilieren.
Das währe die beste Lösung, wenn man doch nur kommerzielle Produkte damit erstellen dürft und die Scripte sicher verborgen (z.B. wrs-Archiv) werden könnten.Ein eigener Interpreter einer beliebingen Scriptsprache (LUA/c-script/C#/eigene) integriert oder als ext. Plugin Sicher eine elegante Lösung, sehr flexibel nur leider im aktuellen Projekt kaum zu realisieren (zeitlich/finanziell)Die Spiellogik in eine Hochsprache auslagern und als Plugin (DLL) der Basisengine (mit einem universellen Objektframework für alle Entites) hinzufügen. Die Idee gefällt mir sehr gut, leider habe ich hierfür noch zu wenige Erfahrung mit den Schnittstellen zwischen DLL's und der Engine um hier eine Aufwandsabschätzung zu wagen.Danke auf jeden Fall soweit... mercuryus PS: Ich komme noch nicht ganz von der Idee mit dem execute ab... In der Hilfe wird von Varieblenänderungen gesprochen, im Beispiel wird aber direkt mit c-script-funktionen auf Entities Einfluss genommen. Wenn ick also c-script einsetze, könnte ich ALLE Funktionen/Varieblen/Entites über execute beeinflussen. Also ein extern eingelesenes Script zeilenweise an execute übergeben?Wie würde es sich bei Events verhalten?
|
|
|
Re: Scriptänderungen ohne Neukompilierung...
[Re: ]
#240937
12/13/08 14:10
12/13/08 14:10
|
Joined: Apr 2005
Posts: 4,506 Germany
fogman
Expert
|
Expert
Joined: Apr 2005
Posts: 4,506
Germany
|
Hi,
unter C-Script gibt es eine ganz einfache Lösung, aufgrund des speziellen Compilers.
Statt
include "bla.wdl"
einfach
include "bla.txt"
schreiben.
Die Textdatei enthält das Script, welches anschliessend nach dem Publishen geändert werden kann.
Zu dem ganzen Offtopic Kram sag´ ich jetzt nicht viel. Im Grunde habe ich Joeys Meinung. Die Aussage von Jcl war jetzt nicht gerade sarkastisch oder unflätig - ich denke er hat wirklich nicht verstanden worum es geht.
no science involved
|
|
|
Re: Scriptänderungen ohne Neukompilierung...
[Re: FBL]
#240961
12/13/08 17:15
12/13/08 17:15
|
Joined: Apr 2005
Posts: 4,506 Germany
fogman
Expert
|
Expert
Joined: Apr 2005
Posts: 4,506
Germany
|
"Sensible" Scriptteile können ja als wrs gepackt werden und die offenen Scriptteile können als "txt" vorliegen. Ausserdem gibt es unter C-Script in der Pro Version die Möglichkeit den Selbsttest der Engine auszuschalten. Aber dann liegen alle Scripte offen. Die Vorgehensweise mit der "txt" Endung erlaubt mehr Sicherheit. -nc Prevents the engine from checking itself for possible virus or hacker tampering at game start. This way, the EXE can be 'wrapped' into another program for using the registration or unlock feature of some distribution channels.
no science involved
|
|
|
Re: Scriptänderungen ohne Neukompilierung...
[Re: fogman]
#240976
12/13/08 19:04
12/13/08 19:04
|
Joined: Sep 2003
Posts: 9,859
FBL
Senior Expert
|
Senior Expert
Joined: Sep 2003
Posts: 9,859
|
Ja, das ist alles richtig, meitne ich aber nicht. Theoretisch(!) ist halt mit C-Script alles manipulierbar, auch Sachen, die es garnicht sein sollen. Klar man sieht die variablen etc. nicht, aber zum Rumspielen lädt das geradezu ein, und irgendsoein Spinner findet dann schon ne bereits existierende Variable, um wieder irgendwas zu drehn  Mit ner externen Sprache hat man zumindest die Möglichkeit, manipulierbare Objekte sozusagen freizsuchneiden, und auf den Rest keinen Zugriff erlauben. Zumindest sollte man sowas bedenken.
|
|
|
|