DarkRoast Help

DarkRoast is a game engine that uses Blender as its editor. You build the level in Blender, give objects behaviour with a few lines of Lua, and press Play. When it’s done, Package Game turns it into a standalone Windows game.

How it fits together

Blender + DarkRoast add-on  —(.glb + components + Lua scripts + sounds)→  DarkRoast engine
 objects, lights, materials,                                       OpenGL 4.5 renderer, Jolt physics,
 animation, scripts, Play                                          Lua 5.4, navmesh AI, 3D audio
  1. Build your level in Blender as usual: meshes, materials, lights, animation.
  2. Tag objects in the BlendForge tab: is it a wall, a crate you can throw, a trigger, a sound source?
  3. Script the interesting parts with short Lua scripts attached to objects.
  4. Play to test. Press Play again (or keep Live Link on) to see changes instantly.
  5. Package it into a folder and zip anyone can run.

The five-minute version

Attach this script to a cube, set its Body to Trigger and tick Visible In Game. Duplicate it a few times and press Play — you have a coin-collecting game.

function on_update(self, dt)
  self:rotate(0, 0, 90 * dt)            -- spin 90 degrees per second
end

function on_trigger_enter(self, other)
  if other.is_player then
    game.score = (game.score or 0) + 1
    ui.set("score", "Score " .. game.score)
    self:destroy()
  end
end

Ready? Start with Getting started.