G-Script - skriptovací jazyk

Aktuálně pracujeme na...
----------------
What are we working on right now...
Gregory
Core Developer
Posts: 4921
Joined: 20 Sep 2009, 14:51
Location: near Pilsen
Contact:

G-Script - skriptovací jazyk

Postby Gregory » 11 Sep 2015, 14:18

Pro potřeby skriptování vyvíjíme skriptovací jazyk přizpůsobený tak, aby bylo možné zaměřit se spíš na vyvíjený skript, než na orientaci v tabulkách, znalost objektového modelu AI psaného v C++ a podobně.

Idea nového jazyka vznikla u mě, jelikož jsem si chtěl zkusit implementovat nějaký jednodušší jazyk "správně", za použití znalostí nabytých při studiu VŠ. Nápad se ale zamlouval, a proto jsem se rozhodl jazyk za připomínek a návrhů ostatních vést dál, aby se z něj stal plnohodnotný nástroj pro skriptování, a měl tak potenciál urychlit vývoj blizzlike záležitostí, minimalizovat nutnost hrabat se v desítkách tabulek a pamatovat si tuny věcí.

Proč to píšu veřejně: v budoucnu, až bude jazyk ve stavu, kdy bude možné v něm něco plnohodnotně vyvíjet, bude uvolněna specifikace mezi vás, hráče. Jazyk má jednoduchou syntaxi, chápatelné konstrukce, a pokud máte alespoň minimální znalost nějakého programovacího/skriptovacího jazyka, pak bude používání poměrně snadné.

Pro představu: jednoduchý skript, který po spuštění rozpohybuje NPC, nechá ho zahlásit pár hlášek, a tak.. může vypadat třeba takto (znakem # začíná komentář, který lexer vypouští z jazykové analýzy):

Code: Select all

# NPC odejde na zadané souřadnice walk 125.8474 526.11245 1211.887 # počká se, až skončí pohyb (NPC dojde na místo) waitfor movement # pronese hlášku a přehraje emote say "Let me tell you a story" emote talk # počká zadaný čas (2 sekundy = 2000 milisekund) wait 2000 say "Once upon a time..." wait 2000 say "...wait a minute..." wait 3000 yell "IS THAT DEATHWING?!" emote exclamation wait 2000 # nastaví rychlost na trojnásobek speed run 3.0 yell "Run for your life!!!" run 100.48748 563.5547 1200.4854
Tento skript už by byl schopný G-Script interpreter přehrát.

Momentálně pracujeme na zdokonalení jazyka, aby šel použít v kombinaci s quest systémem, šlo díky němu ovládat něco pokročilejšího, jako třeba nějaký event v dungeonu, nějaká scénka, šlo dělat pokročilejší věci typu "práce se skupinou NPC", a tak dále.

Předpokládám, že k dokončení implementace dojde během září, a během října bude možné testovat a případně zveřejnit plnou specifikaci, abyste i vy, hráči, mohli zkusit něco vytvořit.

Gregory
Core Developer
Posts: 4921
Joined: 20 Sep 2009, 14:51
Location: near Pilsen
Contact:

Re: G-Script - skriptovací jazyk

Postby Gregory » 14 Sep 2015, 01:03

Jazyk už je nyní použitelný už i pro složitější věci, například quest Seize the Ambassador, který bude nahozen na live realm během pár dnů (po dotestování systému), byl naskriptován během několika desítek minut.

Na výsledek se můžete podívat na videu zde:
[youtube]https://www.youtube.com/watch?v=btr5gkzV1WU[/youtube]


Return to “Pracujeme na... / Currently working on...”

Who is online

Users browsing this forum: No registered users and 4 guests