Skip to content

Latest commit

 

History

209 Commits

Folders and files

NameName
Last commit message
Last commit date
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

GoSprite64
GoSprite64

a 2D retro gamedev library for Nintendo64 using Go!

License CI Go Report Card Publish docs Dependabot Updates

visit gosprite64.dev for the full documentation, examples and guides.

Quick Start

GoSprite64 supports one setup path:

  1. Install go1.24.5-embedded
  2. Install n64go@v0.1.2
  3. Run ./build_examples.sh

The repository tracks toolchain settings in n64.env, and ./build_examples.sh is the primary entrypoint for building the examples.

For the full setup details read docs/getting_started.md.

If Cursor or VS Code shows false embedded/* import errors or ignores //go:build n64 files, see the editor setup note in docs/getting_started.md.

Rendering Model

GoSprite64 exposes one official fixed resolution and drawing canvas: 288x216 logical pixels.

That is the supported public rendering contract. The runtime centers the canvas inside the internal framebuffer and presents it for you with square pixels, so game code should treat gosprite64.FillRect, gosprite64.DrawRect, gosprite64.DrawLine, and gosprite64.DrawText as logical-coordinate APIs. You do not need to manage borders, safe areas, or video-mode presets yourself.

Calibration scene showing the fixed 288x216 logical canvas

If you want a visual sanity check after building the examples, start with examples/calibration.

✨ Features

GoSprite64 embraces the flat world of tilemaps, palettes, and pixel-art game scenes without the complexity of 3D pipelines.

"You only need X and Y."

  • 🕹️ Built on embedded-go to provide Go idiomatic experience.

  • 🎮 Powered by clktmr/n64 to make things possible directly on real N64 hardware.

  • 🧠 Clean and idiomatic Go API inspired from Ebitengine, Raylib and PICO-8

  • 🗺️ Tile2D scene pipeline: author tile sheets and maps offline, bundle them, load and render at runtime with camera scrolling

  • 🔊 VADPCM audio pipeline: compress WAV files at build time, play sound effects and music at runtime with zero per-frame allocations

  • 💾 Runs on real N64 consoles (via EverDrive or SummerCard64)

  • 🔧 Great for retro homebrew, demoscene, or nostalgic experiments

Contributing

If you are interested in contributing to GoSprite64, read about our Contributing guide

License

This project is licensed under the MIT license. See the LICENSE file for details.

About

Rendering nostalgia one tile at a time

Topics

Resources

Code of conduct

Contributing

Stars

9 stars

Watchers

1 watching

Forks

Releases

Packages

Used by

Contributors

Languages