Lua

Lua is a powerful and fast programming language that is easy to learn and use and to embed into your application. Lua is designed to be a lightweight embeddable scripting language. It is used for all sorts of applications, from games to web applications and image processing.

Crayta uses the Object Oriented Programming (OOP) paradigm in its scripts, allowing you to easily take advantage of it in your code. OOP is one the most used programming techniques used in the modern era of programming. There are a lot of programming languages that support OOP, and Lua provides a number of ways to practice OOP in your code. Lua isn’t a true OOP language itself, but the way it’s implemented in Crayta exposes several OOP concepts for use (tables/scripts, properties etc.).

OOP is implemented in Lua with the help of tables and first class functions. By placing functions and related data into a table, an object is formed. Tables in Lua have the features of an OOP object like state and identity that is independent of its values. Two objects (tables) with the same value are different objects, whereas an object can have different values at different times, but it is always the same object. Like objects and tables have a life cycle that is independent of who created them or where they were created.

Each Crayta script is implemented as a table that can reference a number of properties and methods.