Gamestudio Links
Zorro Links
Newest Posts
Newbie Questions
by fairtrader. 12/05/23 14:22
Zorro Trader GPT
by TipmyPip. 12/04/23 11:34
Square root rule
by Smallz. 12/02/23 09:15
RTest not found error
by TipmyPip. 12/01/23 21:43
neural function for Python to [Train]
by TipmyPip. 12/01/23 14:47
Xor Memory Problem.
by TipmyPip. 11/28/23 14:23
Training with command line parameters
by TipmyPip. 11/26/23 08:42
Combine USD & BTC Pairs In Asset Loop
by TipmyPip. 11/26/23 08:30
AUM Magazine
Latest Screens
A psychological thriller game
SHADOW (2014)
DEAD TASTE
Tactics of World War I
Who's Online Now
3 registered members (TedMar, AndrewAMD, fairtrader), 578 guests, and 0 spiders.
Key: Admin, Global Mod, Mod
Newest Members
fairtrader, hus, Vurtis, Harry5, KelvinC
19019 Registered Users
Previous Thread
Next Thread
Print Thread
Rate Thread
Page 1 of 3 1 2 3
Scriptänderungen ohne Neukompilierung... #240753
12/12/08 10:47
12/12/08 10:47

M
mercuryus OP
Unregistered
mercuryus OP
Unregistered
M



Ich muss ein Produkt entwickeln bei dem nachträglich die Scripte der Entites abgeändert sowie neue Funktionen hinzugefügt werden können, ohne die Applikation neu zu compilieren.

Geht das mit GS und wenn ja wie?
(wenn ja bitte etwas detailierter als "ja, verwenden sie 'execute()'" wenn möglich)

Meine Ansätze...
- execute() als Interpreter verwenden;
- einen LUA-Interpreter implementieren
- ...

Re: Scriptänderungen ohne Neukompilierung... [Re: ] #240760
12/12/08 11:38
12/12/08 11:38
Joined: Jul 2000
Posts: 27,967
Frankfurt
jcl Offline

Chief Engineer
jcl  Offline

Chief Engineer

Joined: Jul 2000
Posts: 27,967
Frankfurt
Wenn ich recht verstehe, wollen Sie Änderungen compilieren, ohne zu compilieren. Ich muss gestehen, dass ich hier überfordert bin.

Ich würde einfach eine neue EXE mit den Änderungen compilieren. Aber vielleicht habe ich ja die Komplexität Ihrer Anforderungen nicht verstanden.

Re: Scriptänderungen ohne Neukompilierung... [Re: jcl] #240770
12/12/08 12:59
12/12/08 12:59
Joined: Jan 2007
Posts: 651
Germany
R
RedPhoenix Offline
User
RedPhoenix  Offline
User
R

Joined: Jan 2007
Posts: 651
Germany
Du müsstest den LiteC Compiler wrappen, der quasi dann auf Klick aus deinem Programm heraus das Script neuberechnet.

Ich denke es wäre möglich (mithilfe des Gamestudio SDK), kann dir aber nicht sagen, wies geht wink.

Aufwendige Lösung: Erstell ein Script, das eine textdatei einliest und die Textfolgen als Enginebefehle interpretiert, also nach dem Motto:
Code:
 if (str_cmp(input,"ent_create" == true) ent_create... 

Wäre aber SEEEEEEEHR aufwendig.

Aber wenn ich deine Absicht richtig verstehe, wirft das ganze ein anderes Problem auf: Wenn du in einem von der Engine erstellten Programm die Möglichkeit zulässt, dieses zur Scripterweiterung zu nutzen, duplizierst du dann nicht die Engine an sich? Machst es also mit Vertrieb deines Produktes möglich, ohne die Engine zu besitzen, deren Funktionen zu nutzen? Dies wäre nach meinem Verständnis der A7 Lizenz illegal.
Was du tun könntest: Erfinde deine eigene Scriptsprache für dein Produkt und erstelle einen Interpreter deiner Befehle, der diese dann als LiteC Anweisungen ausführt (das ist kein Witz)

Ich hoffe das hat dir weitergeholfen und ist nicht an deinem Problem vorbeigegangen.

Re: Scriptänderungen ohne Neukompilierung... [Re: RedPhoenix] #240819
12/12/08 19:44
12/12/08 19:44
Joined: Jan 2003
Posts: 4,615
Cambridge
Joey Offline
Expert
Joey  Offline
Expert

Joined: Jan 2003
Posts: 4,615
Cambridge
Oder du benutzt den Phyton-Wrapper, der hier irgendwo rumkreucht.

Re: Scriptänderungen ohne Neukompilierung... [Re: Joey] #240827
12/12/08 20:19
12/12/08 20:19
Joined: Sep 2005
Posts: 980
Aue, Sachsen, Germany
W
Wicht Offline
User
Wicht  Offline
User
W

Joined: Sep 2005
Posts: 980
Aue, Sachsen, Germany
@JCL:
Autsch. Eigentlich wollte ich Ihnen eine passende Antwort servieren. Da aber bald Weihnachten ist und alle etwas freundlicher sein sollten, lasse ich das mal an der Stelle.

@Mercuryus:
In Torque ist diese Möglichkeit von Anfang an in der Engine enthalten. Du kannst Scripte zur Laufzeit hinzufügen und sofort verwenden. Bereits hinzugefügte Scripte, deren Quellcode aber zwischenzeitlich geändert wurde, lassen sich, während die Engine läuft, aktualisieren. Damit sind Änderungen an Funktionen sofort wirksam, ohne die Engine jedes mal neu starten bzw. neu compilieren zu müssen.

PM, wenn Du mehr wissen möchtest.

Re: Scriptänderungen ohne Neukompilierung... [Re: Wicht] #240853
12/12/08 22:30
12/12/08 22:30
Joined: Jan 2003
Posts: 4,615
Cambridge
Joey Offline
Expert
Joey  Offline
Expert

Joined: Jan 2003
Posts: 4,615
Cambridge
@Wicht: Hast du Fieber? Kann aber ja eigentlich nicht sein, da bald Weihnachten ist.

@Wicht: Mercurius will aber 3D GameStudio benutzen. Komisch, dass du die Diskussion auf PMs beschränken willst. Stimmt schon, hier hat ja niemand was sinnvolles beigetragen.

PM, wenn sich jemand meines Sarkasmus nicht sicher ist.

Re: Scriptänderungen ohne Neukompilierung... [Re: Joey] #240856
12/12/08 22:55
12/12/08 22:55
Joined: Sep 2003
Posts: 9,859
F
FBL Offline
Senior Expert
FBL  Offline
Senior Expert
F

Joined: Sep 2003
Posts: 9,859
Ich meine es gibt die Möglichkeit, Code in Resourcen zum Porjekt hinzuzubinden. Das allerdings dürfte nicht mit zur Laufzeit geladenene Resourcen gehen.

Wenn du sowas wie eine Möglichkeit für eine Scripting Sprache suchst, dann sind LUA und ein Pythonwrapper schonmal einguter Start. Direkt mit C-SCript/lite-C hast du da leider keine Chance denke ich - obwohl es zumindest für C-Script ja einen schönen just in time Compiler gibt.


Adnere Idee: Kann man nicht das Hauptscript in eine WRS packen, und den modifizierbaren Rest nicht? Dann müßte doch eine Modifikatin möglich sein, wenn man den selfcheck der Exe deaktiviert (das ging mit irgendnem Parameter, das wissen bestimmt noch einige findige User hier, im Manual ist das sicher auch irgendwo vergraben)

Re: Scriptänderungen ohne Neukompilierung... [Re: FBL] #240859
12/12/08 23:00
12/12/08 23:00
Joined: Sep 2002
Posts: 1,604
Deutschland
ChrisB Offline
Serious User
ChrisB  Offline
Serious User

Joined: Sep 2002
Posts: 1,604
Deutschland
Du könntest mit dlls arbeiten. Die kannst du zur laufzeit auswechseln und neuladen.


www.Swollen-Eyeballs.org
ICQ:169213431
#3dgs@quakenet
Re: Scriptänderungen ohne Neukompilierung... [Re: ChrisB] #240898
12/13/08 09:23
12/13/08 09:23
Joined: Sep 2005
Posts: 980
Aue, Sachsen, Germany
W
Wicht Offline
User
Wicht  Offline
User
W

Joined: Sep 2005
Posts: 980
Aue, Sachsen, Germany
@Joey:
Mercuryus hat eine ganz normale, vernünftig formulierte, Frage gestellt und wird trotzdem von Herrn Lotter runtergebuttert. Eventuell solltest Du darüber mal nachdenken.

@ChrisB:
Gute Idee, fragt sich nur, ob das Mercuryus auch will, da auch DLLs kompiliert werden müssen. Möglicherweise soll der Endanwender selbstständig Code austauschen können. Denkbar wäre ein einfaches System für Schüler, um Programmierung zu lernen.

Re: Scriptänderungen ohne Neukompilierung... [Re: ] #240900
12/13/08 09:51
12/13/08 09:51
Joined: Nov 2004
Posts: 7,121
Potsdam, Brandenburg, Germany
Machinery_Frank Offline
Senior Expert
Machinery_Frank  Offline
Senior Expert

Joined: Nov 2004
Posts: 7,121
Potsdam, Brandenburg, Germany
Wow, das ist traurig. Da stellt ein langjähriger treuer Kunde eine Frage mit bereits klaren Alternativen, auf die man eingehen kann, und es kommt eine, naja, sagen wir unbrauchbare Antwort mit anschließenden Unflätigkeiten, wo anderen hilfsbereiten Leuten Fieberwahn vorgeworfen wird. Sehr traurig.

Natürlich kann es sinnvoll sein, Skripte zur Laufzeit zu ändern. Das könnte z.B. ein Spiel sein, in dem der Spieler die KI eines Roboters ändert, es könnte ein Lernprojekt sein, es könnte aber auch einfach nur sein, dass man selber für seine sehr anspruchsvolle Funktionalität zur Laufzeit Anpassungen vornimmt, die über einzelne Parameter hinausgehen.

Jetzt zum Thema:

Originally Posted By: mercuryus
Meine Ansätze...
- execute() als Interpreter verwenden;
- einen LUA-Interpreter implementieren
- ...


Ich würde hier wohl auch den Weg über LUA oder Python empfehlen.




Models, Textures and Games from Dexsoft
Page 1 of 3 1 2 3

Moderated by  old_bill, Tobias 

Gamestudio download | chip programmers | Zorro platform | shop | Data Protection Policy

oP group Germany GmbH | Birkenstr. 25-27 | 63549 Ronneburg / Germany | info (at) opgroup.de

Powered by UBB.threads™ PHP Forum Software 7.7.1