ZFX
ZFX Neu
Home
Community
Neueste Posts
Chat
FAQ
IOTW
Tutorials
Bücher
zfxCON
ZFXCE
Mathlib
ASSIMP
NES
Wir über uns
Impressum
Regeln
Suchen
Mitgliederliste
Membername:
Passwort:
Besucher:
4395675
Jetzt (Chat):
20 (0)
Mitglieder:
5239
Themen:
24223
Nachrichten:
234554
Neuestes Mitglied:
-insane-
"Sybil/0" von Eike Anderson (Swordfighter)


Das IOTW zeigt eine Testanwendung das Funktionieren des ZBL/0 Scriptsystems demonstriert.

Die Testanwendung basiert auf dem openGL BaseCode von Oliver Düvel (siehe OpenGL Tutorial) und zeigt vier mit ZBL/0 gescriptete Bots (repräsentiert durch die Farbigen Dreiecke), die in einem Labyrinth navigieren. Die farbigen Spuren, die die Bots dabei hinter sich herziehen zeigen den kürzesten Weg vom Startpunkt der Bots zu ihrer aktuellen Position an, wobei Sackgassen, die durchlaufen wurden, ignoriert wurden und nicht als Spur angezeigt werden.

Die Editorwindows zeigen Ausschnitte des Codes des pinkfarbenen Bots, sowohl als ZBL/0 Scriptprogramm, als auch als ZBL/0 Virtual Machine Assemblerprogramm.

Die bei der Testanwendung zum Einsatz kommenden Tools (ZBL/0 Compiler, ZBL/0 Virtual Machine) werden im Kompendium von Stefan Zerbst erklärt und zum Scripten von Bots fuer das Spielprojekt Pandora's Legacy verwendet. Ein ausführliches Tutorial zu ZBL/0 wird als Workshop auf der zfxCON03 stattfinden.

Der rote Bot und der blaue Bot benutzen dasselbe ZBL/0 Script. Ihre Strategie ist es, im Labyrinth zu navigieren, indem sie sich jeweils an der rechten Wand "entlangtasten". Der grüne Bot benutzt die Strategie, sich an der linken Wand "entlangzutasten". Der pinkfarbene Bot folgt einer Hybridstrategie, bei der er die bevorzugte Richtung in zufällig bestimmten Intervallen wechselt.






Von Anfänger++ am 10.08.2003, 00:21:16 Uhr
ERSTER!!
Wollte einfach mal erster sein :D
Hab leider kaum Ahnung und kann deshalb nicht hinzufügen :D

Von ChrisM am 10.08.2003, 00:43:39 Uhr
Hi,

sehr gut. :)

Einige Fragen zum Scriptsystem: So wie ich das sehe, werden die Scripte ja zu Bytecode assembliert (.zbl -> .zba) und dann von einer VM ausgeführt, oder? Führt der Compiler schon irgendwelche Optimierungen durch? Wie mächtig ist die Sprache?

Kann man das Ganze irgendwo in Aktion sehen oder wenigstens nicht nur den direkten Weg zur Position, sondern die Bewegung, also auch die Sackgassen?

ChrisM

PS: Beim Hybridbot sieht i < 10 für mich nicht sehr zufällig aus. :D

Von Milkshapekiller am 10.08.2003, 02:06:18 Uhr
Wirklich beeindruckend. Freu mich jetzt schon dir bei der ZFXCon zu zuhören =)

Von maestro.n am 10.08.2003, 11:24:08 Uhr
Sehr schön :)

Zitat:
Die farbigen Spuren, die die Bots dabei hinter sich herziehen zeigen den kürzesten Weg vom Startpunkt der Bots zu ihrer aktuellen Position an

Aber grade beim pinken Bot stimmt das nicht ...

Laufen die Bots auch in Sackgassen oder werden diese "Irrwege" nur in der Berechnung des schnellsten/kürzesten Weges durchlaufen ?

Von ChrisM am 10.08.2003, 11:50:21 Uhr
Hi,

ich denke, es wird nicht der kürzeste Weg angezeigt, sondern der, den der Bot gegangen ist ohne die Sackgassen. =)

ChrisM

Von Swordfighter am 10.08.2003, 13:53:06 Uhr
Der Compiler kompiliert Programme (*.zbl) zu Bytecode (*.zbp), kann aber auch lesbaren Assembler (*.zba) erzeugen, damit Programme von Hand optimiert werden koennen. Der Compiler selber fuehrt noch keine Optimierungen durch.

Zitat:
Kann man das Ganze irgendwo in Aktion sehen oder wenigstens nicht nur den direkten Weg zur Position, sondern die Bewegung, also auch die Sackgassen?
Im Moment noch nicht - aber irgendwann im September werd ich das ZBL/0 SDK zum Download freigeben - und da wird das Maze Example als Sample dabeisein.

Zitat:
Beim Hybridbot sieht i < 10 für mich nicht sehr zufällig aus.
das liegt daran, das nicht angezeigt wird, was später im Code passiert - da wird nämlich alle 10 Befehle zufällig bestimmt, was die nächste Richtung ist ist.

Was als Spur angezeigt wird ist der gelaufene Weg ohne die Sackgassen - beim Laufen werden die Positionen in eine gelinkte Liste eingetragen - wenn ein Eintrag schon existiert, weil der Bot dort schon einmal war, dann werden alle folgenden Einträge (die Sackgasse) gelöscht.

Von joleuger am 14.08.2003, 23:11:17 Uhr
ziemlich beeindruckend... Die Scriptsprache wirkt ziemlich mächtig und irgendwie an ML angelehnt. Wieviel Resourcen braucht ZBL, und wie schnell ist sie im vergleich zu LUA, Python oder Perl, wenn du es getestet hast?