Stable version: v{{.StableVersion}} / Development version: v{{.DevVersion}}
- Desktops
- Windows, macOS, Linux, FreeBSD
- Mobiles
- Android, iOS
- Web browsers
- Chrome, Firefox, Safari and Edge on desktops (powered by GopherJS), jsgo.io Playground by Dave Brophy (Coming Soon)
Note: Gamepads and keyboard are not available on Android/iOS.
Features
- 2D Graphics
- Geometry/Color matrix transformation, Various composition modes, Offscreen rendering, Fullscreen, Text rendering
- Input
- Mouse, Keyboard, Gamepads, Touches
- Audio
- MP3, Ogg/Vorbis, WAV, PCM, Syncing with game progress
Examples
Games
{{range .GamesExamples -}}
{{- end}}
Graphics
{{range .GraphicsExamples -}}
{{- end}}
Input
{{range .InputExamples -}}
{{- end}}
Audio
{{range .AudioExamples -}}
{{- end}}
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.
Projects with Ebiten
Find more nice works with Ebiten!
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 {
ebitenutil.DebugPrint(screen, "Hello world!")
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!