Skip to content

PrismRL/prism

Repository files navigation

prism

Warning

prism's API is frozen, but there might be small changes as we finalize a proper release! We're currently evaluating this as a release candidate!

prism

prism is a roguelike game engine written in Lua for use with LÖVE, inspired by Bob Nystrom's talk on roguelike architecture. It utilizes the command pattern and composition to provide a modular, extensible foundation for creating turn-based games.

While its core is opinionated, prism is largely unopinionated in specific game mechanics, allowing for diverse implementations like 4-way or 8-way gridded movement, classic roguelike turns, time-based schedulers, or action points, without dictating elements such as inventories or spells. We provide some common sense implementations of things like message logs and inventories in the prism/extra folder.

Released under the MIT License, prism is free to use for both personal and commercial projects.

Features

  • Command Pattern: Encapsulates changes in state as objects, enabling clean and decoupled turn-based mechanics.
  • Composition-Based Design: Promotes flexibility and reusability using composition to build entities.
  • Event Listener System: React to in-game events dynamically for things like status effects, traps, and environmental interactions.
  • Lightweight and Modular: Built in Lua, prism is designed to be lean and easy to use.
  • In-Game Editor: Geometer is a powerful in-game editor designed for rapid prototyping and debugging. Inspired by classic roguelike Wizard Modes, it lets you instantly spawn actors, modify terrain, and interact with the level like a paint program—making iteration fast and intuitive.
  • Multitile Actors: Prism supports having players and monsters be NxN! No longer does a dragon need to inhabit just one tile!

Documentation

Find our docs here:
Documentation
Tutorial

Community

Join our community on Discord to discuss, collaborate, and get support:
Discord Server

Gallery

rage.mp4

Credits

Example game

Geometer

Gallery

About

A comprehensive roguelike engine for LÖVE, licensed under the MIT license.

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Contributors 6

Languages