• Stars
    star
    259
  • Rank 157,669 (Top 4 %)
  • Language
    Lua
  • License
    Other
  • Created over 11 years ago
  • Updated over 2 years ago

Reviews

There are no reviews yet. Be the first to send feedback to the community and the maintainers!

Repository Details

Roguelike Toolkit in Love. A Love2D/lua port of rot.js

RogueLike Toolkit in Love

Bringing rot.js functionality to Love2D. The only modules that require Love2D are the display modules.

See this page for a quick and dirty run down of all the functionality provided.

Included:

  • Display - via rlLove, only supports cp437 emulation rather than full font support.
  • TextDisplay - Text based display, accepts supplied fonts
  • RNG - via RandomLua. Multiply With Carry, Linear congruential generator, and Mersenne Twister. Extended with set/getState methods.
  • StringGenerator - Direct Port from rot.js
  • Map - Arena, Divided/Icey/Eller Maze, Digger/Uniform/Rogue* Dungeons. Ported from rot.js.
  • Noise Generator - Simplex Noise
  • FOV - Bresenham Line based Ray Casting, Precise Shadow Casting
  • Color - 147 Predefined colors; generate valid colors from string; add, multiply, or interpolate colors; generate a random color from a reference and set of standard deviations. (straight port from rot.js)
  • Path Finding - Dijkstra and AStar pathfinding ported from rot.js.
  • Lighting - compute light emission and blending, ported from rot.js.
  • Dice - Roguelike based dice module ported from RL-Dice.

Getting started

git clone git://github.com/paulofmandown/rotLove.git

Add the contents of the src directory to lib/rotLove in your project and require the rot file.

ROT=require 'lib/rotLove/rot'
function love.load()
    f=ROT.Display()
    f:writeCenter('You did it!', math.floor(f:getHeight()/2))
end
function love.draw() f:draw() end

Examples

rotLove has a number of demo projects in examples/ that you can use to get a feel for each API. To see a demo in action, run

    love . my-demo

from your shell.