dino8
...
Notify me I have a code Full API Reference

Get notified when Dino8 launches.

Enter your early-access code to download.

Dino8 is a 2d retro game SDK for developers who want PICO-8’s simplicity but without the limits. Write Lua, use your favorite tools, and ship to web, desktop, and mobile from one CLI.

No token limits, no restricted memory, no forced resolution. Bring your own tools and focus on making the game.

FEATURES

Lua Scripting

Write game logic in Lua 5.4 with hot reload during development.

16-Color Palette

Dawnbringer 16 default palette with custom palette support.

Pixel Graphics

Sprites, shapes, tilemaps, camera, clipping, and render targets.

Audio

Music and sound effects with named clips, pitch, and volume control.

Web Export

Bundle games into a single HTML file. Push to itch.io with one command.

Packaging

Create .fos packages for distribution. Validate and inspect projects.

GETTING STARTED

# create a new game
dino8 create my-game

# run it
dino8 my-game/

TUTORIALS

view all

API SAMPLE

-- called once at startup
function _init()
  x, y = 64, 64
end

-- called every frame for game logic (60fps)
function _update()
  if btn(0) then x = x - 1 end
  if btn(1) then x = x + 1 end
  if btn(2) then y = y - 1 end
  if btn(3) then y = y + 1 end
end

-- called every frame to render the game world
function _draw()
  cls()
  circ(x, y, 4, 7)
end

-- called every frame for UI (not affected by camera)
function _ui()
  print("hello dino8", 40, 10, 14)
end

CLI

dino8 my-game/              # run a project
dino8 my-game.fos           # run a package
dino8 create my-game        # scaffold a new game
dino8 fossilize my-game     # create .fos package
dino8 validate my-game/     # check project structure
dino8 export web my-game/   # single-file HTML export
dino8 export mac my-game/   # export macOS app
dino8 export ios my-game/   # export Xcode project
dino8 push my-game/         # publish to itch.io
dino8 get                   # download assets and tools
dino8 examples              # download example projects
dino8 changelog             # show release changelog
dino8 help                  # all commands