GameMonkey Script
Encyclopedia
GameMonkey Script is a small, cross-platform scripting language designed, as its name suggests, for embedding into games. GameMonkey bears many similarities to Lua
, except the syntax is more similar to that of C
.
GameMonkey features:
Like Lua, the primary data structure
in GameMonkey Script is the table. Tables allow for a variety of other data structures to be created; from arrays, sets, hashmaps, lists and records. They can also be used to simulate namespaces and C++ class structures, containing both functions and properties.
GameMonkey Script was written in 2002 by Matthew Riek and Greg Douglas as part of a closed-source project for Auran
. However, on 12 June 2003 Auran granted license for the full source code of GameMonkey to be released to the public under the MIT License
. It is currently being used in commercial and hobby applications on a wide range of machines; from the Windows PC, Apple Mac, Microsoft Xbox, Sony's PlayStation 2, PlayStation 3, Nintendo GameCube, Nintendo DS, Nintendo Wii and various distributions of Linux.
Lua programming language
Lua is a lightweight multi-paradigm programming language designed as a scripting language with extensible semantics as a primary goal. Lua has a relatively simple C API compared to other scripting languages.- History :...
, except the syntax is more similar to that of C
C (programming language)
C is a general-purpose computer programming language developed between 1969 and 1973 by Dennis Ritchie at the Bell Telephone Laboratories for use with the Unix operating system....
.
GameMonkey features:
- Cross-platform machine library
- C-style syntax
- A small memory footprint (~50kb)
- Soft, real-time incremental Garbage CollectionGarbage collection (computer science)In computer science, garbage collection is a form of automatic memory management. The garbage collector, or just collector, attempts to reclaim garbage, or memory occupied by objects that are no longer in use by the program...
(no reference counting) - Native threading
- Full implementation of states
- Simple to bind with C/C++ code
- Debugger support (with supplied debugger)
Like Lua, the primary data structure
Data structure
In computer science, a data structure is a particular way of storing and organizing data in a computer so that it can be used efficiently.Different kinds of data structures are suited to different kinds of applications, and some are highly specialized to specific tasks...
in GameMonkey Script is the table. Tables allow for a variety of other data structures to be created; from arrays, sets, hashmaps, lists and records. They can also be used to simulate namespaces and C++ class structures, containing both functions and properties.
GameMonkey Script was written in 2002 by Matthew Riek and Greg Douglas as part of a closed-source project for Auran
Auran
N3V Games is an Australian video game developer and publisher based in Brisbane, Queensland.-History:Auran was established by Greg Lane and Graham Edelsten in 1995, and released its first game, Dark Reign: The Future of War, in 1997...
. However, on 12 June 2003 Auran granted license for the full source code of GameMonkey to be released to the public under the MIT License
MIT License
The MIT License is a free software license originating at the Massachusetts Institute of Technology . It is a permissive license, meaning that it permits reuse within proprietary software provided all copies of the licensed software include a copy of the MIT License terms...
. It is currently being used in commercial and hobby applications on a wide range of machines; from the Windows PC, Apple Mac, Microsoft Xbox, Sony's PlayStation 2, PlayStation 3, Nintendo GameCube, Nintendo DS, Nintendo Wii and various distributions of Linux.
External references
- GameMonkey Script homepage
- gmCommunity Project, pre-built GM binaries and reorganised headers
- gamedev.net, Introduction to GameMonkey Script Part 1
- gamedev.net, Introduction to GameMonkey Script Part 2
- gamedev.net, Introduction to GameMonkey Script Part 3