mirror of
https://github.com/hajimehoshi/ebiten.git
synced 2024-12-24 02:38:53 +01:00
Ebitengine - A dead simple 2D game engine for Go
ebitenebitenginegamegame-2dgame-developmentgame-enginegame-engine-2dgame-librarygamedevgogolanggolang-library
_docs | ||
ebitenutil | ||
example | ||
internal | ||
testdata | ||
.gitignore | ||
.travis.yml | ||
affine.go | ||
colorm_test.go | ||
colorm.go | ||
doc.go | ||
gamecontext.go | ||
geom_test.go | ||
geom.go | ||
graphics.go | ||
graphicscontext.go | ||
image_test.go | ||
image.go | ||
keys.go | ||
license.txt | ||
readme.md | ||
run.go | ||
version.txt |
Ebiten (海老天)
- A simple SNES-like 2D game library in Go
- Works on
- Web browsers (powered by GopherJS)
- Mac OS X
- Linux (maybe)
- Windows (possibly)
- API Docs
Features
- 2D Graphics
- Input (Mouse, Keyboard)
Example
- example/blocks - Puzzle game you know
- example/hue - Changes the hue of an image
- example/mosaic - Mosaics an image
- example/perspective - See an image in a perspective view
- example/rotate - Rotates an image
- etc.
Install on Mac OS X
:; brew install glew
:; brew install glfw3 # or homebrew/versions/glfw3
:; go get -u github.com/hajimehoshi/ebiten
If you want to use GopherJS, execute this:
:; go get -u -tag=js github.com/hajimehoshi/ebiten
Execute the example
:; cd $GOPATH/src/github.com/hajimehoshi/ebiten/example
:; go run blocks/main.go
Execute the example on a web browser
:; go get github.com/gopherjs/gopherjs
:; go run $GOPATH/src/github.com/hajimehoshi/ebiten/example/server/main.go
Then, open localhost:8000
on your browser.
localhost:8000/?EXAMPLE_NAME
shows other examples (e.g. localhost:8000/?rotate
).
Run your game on a web browser
Compile your game with GopherJS:
:; go get github.com/gopherjs/gopherjs
:; gopherjs build -o yourgame.js path/to/yourgame
Then, open the below HTML on your HTTP server:
<!DOCTYPE html>
<script src="yourgame.js"></script>
Benchmark the example
:; cd $GOPATH/src/github.com/hajimehoshi/ebiten/example
:; go build -o=example blocks/main.go
:; ./example -cpuprofile=cpu.out
:; go tool pprof ./example cpu.out
Versioning
- We obey Semantic Versioning basically.
License
See license.txt.