GPDL


DungeonCraft Help Home



GPDL Overview

"GPDL" stands for "General Purpose Dungeon Language". It means nothing. The author found himself attempting to keep identifiers and file names under eight characters and decided he needed a nice four-letter acronym.


GPDL is a language that will remind you of 'C'. It has 'while' statements, 'return' statements, and lots of curly braces. If you can write a 'C' program you can quickly learn the differences and limitations of GPDL.


The general idea of using the language is to provide a way for game designers to accomplish those one or two very special cases that are needed to make the game work right. It is clearly impossible to anticipate every wish when writing a RPG-style engine.


The language was initially used to provide a rudimentary dialog capability in the Ultima fashion. You can ask questions of the characters you meet and they respond based on key words in the questions.


The game designers will be the driving force in the direction GPDL takes. As special needs arise, functions can be added to the language to examine and manipulate game state variables and game objects. For example, one of the first functions added allows the game designer to replace or remove a wall.


We anticipate that functions to alter spells and other objects will be requested and implemented.


Compiling a GPDL Program

Invoking a GPDL Program

Writing a GPDL Program

GPDL Data

GPDLDataTypes
GPDL Expressions
GPDL Literals
GPDL Variables
Associated String Lists

GPDL System Functions

List Of Functions
RegularExpressions
More Regular Expressions
$DEBUG
$EQUAL
$GET_CHAR_ASL
$GET_LEVEL_STATS_ASL
$GET_GLOBAL_ASL
$GET_PARTY_ASL
$GREP
$WIGGLE
$LISTEN
$LISTENTEXT
$LOGIC_BLOCK_VALUE
$MIDDLE
$RANDOM
$SAY
$SMALL_PICTURE
Character Variables
Game Variables
Money Variables
Party Variables
$SET_QUEST

GPDL Programs

Program Structure
Assignment Statements
PragmaDirectives
Functions
Nested Functions
Function Calls
Comments

Structure Keywords

$IF Keyword
$SWITCH Keyword
$WHILE Keyword