Difference between revisions of "Lua"

From RogueBasin
Jump to navigation Jump to search
 
(Adding Alchemist to list of roguelikes made using Lua)
 
(24 intermediate revisions by 12 users not shown)
Line 1: Line 1:
Lua is a very nice and easy to learn scripting language specifically designed to be embedable and able to represent complex data.
== Description ==


It features:
Lua is a very nice and easy-to-learn scripting language specifically designed to be embeddable and able to represent complex data.
 
== Features ==
* Clean syntax
* Clean syntax
* Simple yet extremely powerful and extensible datastructure, the tables, that can be used as hashtables, vectors, arrays, lists, namespaces, objects, ...
* Simple, yet extremely powerful and extensible, data structure: tables (can be used as hashtables, vectors, arrays, lists, namespaces, objects, ...)
* Easily embedable into existing projects
* Easily embeddable into existing projects
* Lightweight
* Lightweight
* Very fast
* Very fast
* Can be compiled to bytecode(actaully it always is, but the bytecode cna be dumped to a file for latter reuse)
* Compiled to bytecode, which can be saved to a file
* Easy integrated with all languages that can load C libraries (also [[FreePascal]]
* Many other nifty things ;)
* Many other nifty things ;)
* [[lua makes info files obsolete]]
== Roguelike libraries ==
* [https://github.com/SiENcE/astray Astray] (dungeon generation)
* [https://github.com/paulofmandown/rotLove/issues rotLove], a port of [http://ondras.github.io/rot.js/ rot.js] (partly designed for the [https://love2d.org/ LÖVE2D] graphics library)
== Lua Engines ==
* [[T-Engine]] is a fully fledged roguelike engine designed to be programmed in Lua
== Lua Roguelikes ==
Lua is probably the most popular scripting language for roguelikes.
===rotLove based===
* [[Zomia]] ([https://love2d.org/ LÖVE2D])
===T-Engine based===
* [[ToME]] - a good part of the engine is in Lua and the game itself will be completly in Lua in the next version.
* [[The Veins of the Earth]] made using T-Engine 4
* [[Bone to be Wild]] Runs with T-Engine from ToME.
* [[ODE]] Runs with T-Engine from ToME.
* [[Broken Bottle]] made using the T-Engine4
* [[Run from the Shadow]] made using the T-Engine4
* [[Harrowed]] made using the T-Engine4
===Slang based===
* [[Ascii Wilderness]] made entirely using Lua 5 and the Slang graphics interpereter.
===Standalone===
* [[Seduction Quest]] made using [https://love2d.org/ LÖVE2D].
* [[Alchemist]] made using [https://love2d.org/ LÖVE2D].
===Custom support===
* [[Angband]] - between Angband 3.0.0 and 3.0.6.  Since then it no longer supports Lua scripts.
* [[DoomRL]] - internally keeping all it's data in Lua. Since 0.9.9.1 a limited form of modding using Lua is possible.
* [[Portralis]] - uses Lua a lot to create monster attacks and complex story and quest events. Many gameplay mechanics are now entirely script-based, and future versions will aim to expand it's use even further.
* [[H-World]] - all modding in this engine is done through Lua scripts
* [[Necropolis (Timothy Pruett)]] Using Lua scripting and custom-built tools users can create new areas, classes, items, etc.


Lua is heavily used by some roguelikes, like [[ToME]], where a good part of the engine is in Lua and the game itself will be completly in Lua in the next version, and the [[H-World] engine.
== Links ==


See also [http://lua.org/ Lua homepage].
* [http://lua.org/ Lua homepage]
[[Category:Programming languages]]

Latest revision as of 21:00, 13 November 2020

Description

Lua is a very nice and easy-to-learn scripting language specifically designed to be embeddable and able to represent complex data.

Features

  • Clean syntax
  • Simple, yet extremely powerful and extensible, data structure: tables (can be used as hashtables, vectors, arrays, lists, namespaces, objects, ...)
  • Easily embeddable into existing projects
  • Lightweight
  • Very fast
  • Compiled to bytecode, which can be saved to a file
  • Easy integrated with all languages that can load C libraries (also FreePascal
  • Many other nifty things ;)
  • lua makes info files obsolete

Roguelike libraries

Lua Engines

  • T-Engine is a fully fledged roguelike engine designed to be programmed in Lua

Lua Roguelikes

Lua is probably the most popular scripting language for roguelikes.

rotLove based

T-Engine based

Slang based

Standalone

Custom support

  • Angband - between Angband 3.0.0 and 3.0.6. Since then it no longer supports Lua scripts.
  • DoomRL - internally keeping all it's data in Lua. Since 0.9.9.1 a limited form of modding using Lua is possible.
  • Portralis - uses Lua a lot to create monster attacks and complex story and quest events. Many gameplay mechanics are now entirely script-based, and future versions will aim to expand it's use even further.
  • H-World - all modding in this engine is done through Lua scripts
  • Necropolis (Timothy Pruett) Using Lua scripting and custom-built tools users can create new areas, classes, items, etc.

Links