Skip to content

slateblua/slatelua

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

5 Commits
 
 
 
 
 
 
 
 

Repository files navigation

SlateLua

SlateLua is a lightweight set of pluggable Lua modules for Love2D game development. It is intentionally small: each addon can be required independently, and the top-level slatelua module only wires the pieces together for convenience.

Modules

  • slatelua.data.loader: text, JSON, CSV, and Lua table loading.
  • slatelua.assets.cache: lazy asset cache with aliases and custom loaders.
  • slatelua.graphics.ninepatch: LibGDX-style nine-patch image drawing.
  • slatelua.graphics.animation: frame animations and named animation states.
  • slatelua.ui: widgets, panels, buttons, labels, grids, lists, and drag/drop.
  • slatelua.core.world: compact entity-component-system loop.
  • slatelua.core.timer: timers and tweens.
  • slatelua.mechanics.input: action bindings and axes.
  • slatelua.mechanics.state: state machine for screens, AI, or actors.
  • slatelua.mechanics.camera: simple camera transforms.
  • slatelua.mechanics.collision: AABB collision helpers and ECS system.
  • slatelua.fx.particles: tiny particle emitters.
  • slatelua.fx.sfx: grouped sound playback helper.
  • slatelua.fx.vfx: shake, flashes, and floating text.

The package has no external runtime dependency beyond Lua and Love2D for graphics, audio, input, and filesystem-backed asset loading. Non-rendering modules such as events, timers, data parsing, state machines, and ECS world updates can be used in plain Lua.

Quick Start

Use the aggregate module when you want a batteries-included game object:

local Slate = require("slatelua")

local game = Slate.newGame()

function love.update(dt)
  Slate.updateGame(game, dt)
end

function love.draw()
  Slate.drawGame(game)
end

Require independent modules when you want a smaller surface:

local World = require("slatelua.core.world")
local UI = require("slatelua.ui")

local world = World.new()
local root = UI.root()

About

Small toolkit for Love game development

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

No releases published

Packages

 
 
 

Contributors

Languages