EGSL is a small interpreter which can execute Lua scripts. It includes some functions for fast and easy game development. These are image manipulation functions, functions for 2D drawing, sound and music, input via mouse, keyboard, and joypad, and some helper functions. The engine is based on SDL, SDL_gfx, SDL_mixer, SDL_image, and SDL_ttf.
| Tags | Lua Pascal Interpreters Game Programming |
|---|---|
| Licenses | zlib/libpng |
| Operating Systems | Linux Windows |
| Implementation | Pascal |
Recent releases


Release Notes: An easy to use sprite animation system was added in this release. One now has access to file management functions as well as a few tileset graphics functions. Haiku OS is now an officially supported operating system by EGSL, though there is no IDE available.


Release Notes: New features: create empty images and draw on these surfaces; pixel perfect collision; SDL_image has been completely replaced with the Vampyre Imaging Library, leaving fewer dependencies; and many new helper functions (most are mathematical like cos, sin, etc. so one need not type "math.cos" anymore). TrueType font support has been removed, so if you need that feature you should download the older version.


Release Notes: EGSL has built-in functions to handle bitmap fonts for text output and input. Another new function can set the alpha channel for the drawing primitives and image blitting functions.


Release Notes: EGSL comes now with its own small IDE for all supported platforms. New functions are: resizewindow(), which can resize the window at runtime, and arguments(), which returns the arguments given at start of a script.


Release Notes: Some functions for string manipulation were implemented as well as a random number function and functions for dates and times. These functions are more like BASIC than the similar functions that can be achieved with Lua. The newly implemented functions are rnd(), int (number), chr (code), asc (char), val (string), left (string, pos), right (string, pos), mid (string, start, length), insert (string1, string2, pos), len (string), time(), date(), uppercase (string), lowercase (string), and input (x, y, length).