Difference between revisions of "Lua"

From RogueBasin
Jump to navigation Jump to search
(Adding Alchemist to list of roguelikes made using Lua)
 
(One intermediate revision by one other user not shown)
Line 18: Line 18:
* [https://github.com/SiENcE/astray Astray] (dungeon generation)
* [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)
* [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 Roguelikes ==


Lua is probably the most popular scripting language for roguelikes. Some of the projects that use Lua:
Lua is probably the most popular scripting language for roguelikes.


* [[Angband]] - between Angband 3.0.0 and 3.0.6.  Since then it no longer supports Lua scripts.
===rotLove based===
* [[DoomRL]] - internally keeping all it's data in Lua. Since 0.9.9.1 a limited form of modding using Lua is possible.
* [[Zomia]] ([https://love2d.org/ LÖVE2D])
* [[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.
 
===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.
* [[ToME]] - a good part of the engine is in Lua and the game itself will be completly in Lua in the next version.
* [[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.
* [[The Veins of the Earth]] made using T-Engine 4
* [[The Veins of the Earth]] made using T-Engine 4
* [[Bone to be Wild]] Runs with T-Engine from ToME.
* [[Bone to be Wild]] Runs with T-Engine from ToME.
Line 35: Line 37:
* [[Run from the Shadow]] made using the T-Engine4
* [[Run from the Shadow]] made using the T-Engine4
* [[Harrowed]] 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.
* [[Ascii Wilderness]] made entirely using Lua 5 and the Slang graphics interpereter.
===Standalone===
* [[Seduction Quest]] made using [https://love2d.org/ LÖVE2D].
* [[Seduction Quest]] made using [https://love2d.org/ LÖVE2D].
* [[Zomia]] ([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.


== Links ==
== Links ==

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