Veränderlichen (KI) Code nachträglich kompilieren?

Übersicht BlitzBasic Allgemein

Neue Antwort erstellen

 

Suthriel

Betreff: Veränderlichen (KI) Code nachträglich kompilieren?

BeitragMi, Apr 18, 2012 11:44
Antworten mit Zitat
Benutzer-Profile anzeigen
Aloha allerseits,

ich hab mal eine ganz allgemeine Frage zu Blitz3D oder BlitzBasic allgemein. Ist es in Blitz3D oder in einem anderen Blitz möglich, Codesegemente nachträglich zu kompilieren und ins Programm aufzunehmen, einfach weil sich diese stetig und ständig durch den Spieler ändern kann (und soll)?

Konkret dachte ich an einen KI-Code, welchen der Spieler selbst im Spiel über einen (Drag&Drop) Editor erstellen kann und dieser dann im Spiel auch die KI-Einheit (Figur) des Spielers steuert. Dabei soll der Editor allerdings schon auf ein paar Funktionen beschränkt sein, welche sich durch das Spiel ergeben und die mehr oder weniger vorgegebenen Aufgabenbereiche der KI-Einheit entsprechen (Panzer sind nur zum kämpfen da und sollten auch nur entsprechende Funktionen beherrschen, eine Putzeinheit hingegen könnte dann nur putztypische Funktionen ausführen ^.^ ).

Hintergrund ist ein uraltes Spiel namens Omega ( http://en.wikipedia.org/wiki/Omega_(video_game) , Link zur letzten aktiven Website mit massig Infos zu dem Spiel: http://toadstool.net/games/omega/index.htm ) in dem genau das KI erstellen (welche den Panzer des Spielers steuerte) und diese dann gegen andere KIs/Panzer antreten lassen die Hauptaufgabe war. Dort wurde dann auch über einen Drag&drop Editor die KI Stück für Stück zusammen gesetzt wurde und vom Spiel nach Fehlerprüfungauch kompiliert wurde. Anschließend konnte man die KI im Simulator auf die Spielwelt und Gegner loslassen und schauen, ob sie das macht, was sich der User so dachte ^.^

Das Spiel ansich zu erstellen wäre wohl nicht das größte Problem, aber wäre der KI-Editor / Kompiler denn auch hier möglich?

Neugierige Grüße und einen schicken Tag wünsch ich Smile
Wer die Pizza nicht ehrt, ist die Pasta nicht wert.

bekennender Noob

ozzi789

BeitragMi, Apr 18, 2012 11:54
Antworten mit Zitat
Benutzer-Profile anzeigen
In kompilierter Form wird das etwas komplitzierter.
Aber eine Scriptsprache für deine KI wäre möglich Wink
z.B so was:
tank.config
Code: [AUSKLAPPEN]
speed#=5
health%=150
ai-type=angry
desicion-enemy-ahead=attack
desicion-enemy-behind=flee

Nun baust du eine GUI, welche es dem User erlaubt diese Felder schön zu modifizieren.
In deinem Spiel kannst du nun mit Openfile & Readline die Werte auslesen und interpretieren.

Mfg,ozzi
0x2B || ! 0x2B
C# | C++13 | Java 7 | PHP 5

BladeRunner

Moderator

BeitragMi, Apr 18, 2012 12:16
Antworten mit Zitat
Benutzer-Profile anzeigen
Hach ja, Omega, eine wahre Perle.
Was Du vorhast ist prinzipiell möglich, nur wird halt kein Compilat zur .exe gemacht. Du musst Dir eine Scriptsprache erstellen welche dann von einem in dein Programm integrierten Interpreter ausgewertet wird.
Ist eine eher aufwändige Geschichte, zumindest je nach Umfang der Sprache.
Alternativ könntest Du Dir existierende Scriptsprachen anschauen, welche einbindbar sind, zB LUA (hier der Wrapper von Noobody: https://www.blitzforum.de/foru...hp?t=30995 ).
Es ist und bleibt aber so oder so ein gutes Stück Arbeit und ist - wenn deine Signatur noch stimmt - wohl noch ein paar Hausnummern zu groß für dich.
Zu Diensten, Bürger.
Intel T2300, 2.5GB DDR 533, Mobility Radeon X1600 Win XP Home SP3
Intel T8400, 4GB DDR3, Nvidia GF9700M GTS Win 7/64
B3D BMax MaxGUI

Stolzer Gewinner des BAC#48, #52 & #92
 

Suthriel

BeitragMi, Apr 18, 2012 12:42
Antworten mit Zitat
Benutzer-Profile anzeigen
Danke für die Infos, da werd ich mich mir bei Gelegenheit mal mit den Skriptsprachen befassen. Mir ging es ja nur um die Frage, ob so ein KI-Editor überhaupt möglich wäre und die sich daraus ergebenden variablen Codestücke auch im Spiel nutzbar wären, und das ist mit diesen Skriptsprachen wohl möglich Smile

Ob ich das jemals schaffe (ja, die Sig ist leider noch aktuell Embarassed ), ist eine andere Frage, aber das es generell möglich ist, ist immerhin motivierend ^.^ *das ganze auf den 100-Jahresplan mit aufnehm*
Aber keine Sorge, bevor ich mich an sowas großes ranwag, lern ich erstmal, wie man Dreiecke und Würfel in virtuellen Welten rumschubst Wink

Fröhliche Grüße
Wer die Pizza nicht ehrt, ist die Pasta nicht wert.

bekennender Noob

Lakorta

BeitragMi, Apr 18, 2012 15:13
Antworten mit Zitat
Benutzer-Profile anzeigen
Falls du das so ähnlich lösen willst, wie ozzi789 vorgeschlagen hat, dann kann ich dir das Tutorial hier empfehlen: https://www.blitzforum.de/foru...hp?t=33651
---

Addi

BeitragMi, Apr 18, 2012 15:59
Antworten mit Zitat
Benutzer-Profile anzeigen
Ich könnte dir vlt. bei der Scriptsprache helfen.
Vorher wollt ich noch fragen (da ich Omega nicht kenne) ob dein Projekt 2D oder 3D sein wird.
BP/B3D/BMax : Lerne Java : Früher mal Lite-C : Gewinner BCC 62
 

Suthriel

BeitragMi, Apr 18, 2012 21:54
Antworten mit Zitat
Benutzer-Profile anzeigen
Danke auch dir Lakorta, das Tut sieht auch sehr interessant aus, und zu Skriptsprachen gibts schon hier im Forum viel interessantes zu entdecken (Stichwort Scriptoria Botanica ^.^ oder der BCC #28), wieder viel Stoff zum stöbern Smile

Addi, wenn ich tatsächlich irgendwann mal in ferner Zukunft damit anfangen sollte, dann würde es über Blitz3D laufen, bis dahin, danke für das Angebot, aber ich werd erstmal gaaaanz klein anfangen Wink
Wer die Pizza nicht ehrt, ist die Pasta nicht wert.

bekennender Noob

Neue Antwort erstellen


Übersicht BlitzBasic Allgemein

Gehe zu:

Powered by phpBB © 2001 - 2006, phpBB Group