Ebiten
A simple SNES-style 2D game library in Go
Stable version: v1.4.0-rc1 / Development version: v1.5.0-alpha
- Desktops
- Windows, Mac OS X, Linux
- Mobiles
- Android, iOS
- Web browsers
- Chrome, Firefox and Safari on desktops (powered by GopherJS)
Note: Gamepads is not available on Safari/Android/iOS. Keyboard is not available on Android/iOS.
Features
- 2D Graphics
- Geometry/Color matrix transformation, Various composition modes, Offscreen rendering
- Input
- Mouse, Keyboard, Gamepads, Touches
- Audio
- Ogg/Vorbis, WAV, PCM
Examples
The Gopher photographs by Chris Nokleberg are licensed under the Creative Commons 3.0 Attributions License.
Execute the examples
:; go get github.com/hajimehoshi/ebiten/...
:; cd $GOPATH/src/github.com/hajimehoshi/ebiten/examples
:; go run -tags=example rotate/main.go
Note that you need to add -tags=example
to run examples.
Getting Started
Let's build a simple "Hello world!" game to get started with Ebiten.
First create a new directory (mkdir hello_world
), and change
into it (cd hello_world
). Type the following code into
the main.go
file:
package main
import (
"github.com/hajimehoshi/ebiten"
"github.com/hajimehoshi/ebiten/ebitenutil"
)
func update(screen *ebiten.Image) error {
if err := ebitenutil.DebugPrint(screen, "Hello world!"); err != nil {
return err
}
return nil
}
func main() {
ebiten.Run(update, 320, 240, 2, "Hello world!")
}
Run the go run
command to start the
game. There you have it, your first Ebiten game!