Skip to content

drpaneas/gosprite64

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.

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 Rectfill, DrawRect, DrawRectFill, Line, and Print 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

  • 💾 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

License

Code of conduct

Contributing

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors