Skip to content
A roguelike game library written in go
Go Shell
Find file
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Failed to load latest commit information.
data
demos
glfw
term
wde
.gitignore
AUTHORS
LICENSE
README.md
backend.go
color.go
console.go
font.go
fov.go
key.go
line.go
map.go
mouse.go
path.go
rog.go
stats.go
terminal.go

README.md

rog

Rog Screenshot

  • 24bit, scaling console with custom font support
  • Cross platform with pluggable backends
  • Field of view, lighting, and pathfinding algorithms
  • Procedural color and palette manipulation

Documentation

package main

import (
    "github.com/ajhager/rog"
    _ "github.com/ajhager/rog/glfw"
)

func main() {
    rog.Open(20, 11, 2, "rog", nil)
    for rog.Running() {
        rog.Set(5, 5, nil, nil, "Hello, 世界!")
        if rog.Key() == rog.Escape {
            rog.Close()
        }
        rog.Flush()
    }
}

Backends

  • glfw: GLFW dynamic libs needed, opengl rendering, fast and stable
  • wde: No dependencies, software rasterizer, somewhat unstable
  • term: Runs in a terminal, RGB->Ansi color, not feature complete yet
  • html: Coming soon?

Notes

  • On Windows you can build your project with go build -ldflags -Hwindowsgui to inhibit the console window that pops up by default.

Thanks

Plans

  • Website, tutorial, and more demos
  • Window resizing and fullscreen
  • Audio generation and output
  • Image blitting
  • Custom drawing
  • Noise generators
  • Palette support
  • Merge in lighting
  • World creation
  • More fov algorithms
  • Curses like API
  • Common GUI widgets
  • HSL and HUSL color
Something went wrong with that request. Please try again.