Ebitengine - A dead simple 2D game engine for Go
Go to file
Hajime Hoshi 7991ba4cfa graphicsdriver/metal: Bug fix: Failed to compile for iOS
The definition of BOOL is different between macOS and iOS. C's
bool is used on iOS, but C's bool is hard to use from Go (e.g.,
an integer cannot be converted to C's bool). Use unsigned char
instead.

Fixes #1006
2019-12-03 01:03:44 +09:00
audio Revert "audio: Bug fix: Fill empty data even when audio is suspended" 2019-11-09 15:24:56 +09:00
cmd/ebitenmobile cmd/ebitenmobile: Refactoring 2019-10-19 02:28:55 +09:00
docs docs: Remove unused contents 2019-03-22 03:23:48 +09:00
ebitenutil ebitenutil: Cache sub images for debug print 2019-11-24 20:30:54 +09:00
event Fix misspellings 2019-10-12 01:10:53 +09:00
examples ui: Add SetScreenTransparent / IsScreenTransparent 2019-12-01 03:31:32 +09:00
inpututil inpututil: Package inpututil is no longer experimental 2018-05-14 01:32:55 +09:00
internal graphicsdriver/metal: Bug fix: Failed to compile for iOS 2019-12-03 01:03:44 +09:00
mobile mobile: Move Game definition to package ebiten 2019-11-25 00:49:13 +09:00
text Make go vet a little happier on macOS 2019-07-22 20:16:22 +09:00
vector graphics: Fix wrong comments 2019-07-31 01:58:54 +09:00
.gitignore Add new example: squirals (#952) 2019-10-09 00:54:23 +09:00
.travis.yml Update Go versions in .travis.yml 2019-10-22 14:32:34 +09:00
AUTHORS Add David Linus Briemann to AUTHORS 2019-10-09 00:56:48 +09:00
colorm_test.go affine: Bug fix: ColorM.Apply was wrong when alpha is 0 2018-02-27 12:16:16 +09:00
colorm.go graphics: Marks ColorM as non-comparable explicitly 2019-10-31 01:55:59 +09:00
CONTRIBUTING.md docs: Update CONTRIBUTING.md 2019-11-03 15:23:45 +09:00
copy_test.go graphics: Move functions to the package ebiten 2019-06-26 22:23:09 +09:00
copy.go graphics: Move functions to the package ebiten 2019-06-26 22:23:09 +09:00
debug_ebitendebug.go Add 'ebitendebug' build tag 2018-06-25 23:59:32 +09:00
debug_notebitendebug.go Add 'ebitendebug' build tag 2018-06-25 23:59:32 +09:00
doc.go Update documents 2019-10-13 17:33:10 +09:00
export_test.go graphics: Use 'negative' mipmap when enlarging a too small image 2019-07-30 23:03:55 +09:00
gamepad.go input: Move MouseButton and GamepadButton to driver package 2019-03-30 23:19:52 +09:00
generate.go event: Auto-generate event definitions (#935) 2019-09-12 11:32:20 +09:00
genevents.go Fix misspellings 2019-10-12 01:10:53 +09:00
genkeys.go glfw: Update to GLFW 3.3 2019-11-26 01:19:20 +09:00
geom_test.go affine: Add TestGeoMEquals 2019-06-09 06:56:25 +09:00
geom.go affine: Add Skew function to GeoM 2018-08-01 14:15:30 +09:00
go.mod glfw: Update GLFW 3.3 2019-11-26 11:21:07 +09:00
go.sum glfw: Update GLFW 3.3 2019-11-26 11:21:07 +09:00
goversion.go Force to use Go 1.12 or later 2019-05-01 17:43:38 +09:00
graphics.go graphics: Move const definitions to driver package 2019-06-26 01:05:13 +09:00
graphicsdriver_ios.go Add 'ebitengl' build tag to force to use GL 2019-10-13 16:58:33 +09:00
graphicsdriver_mac.go Add 'ebitengl' build tag to force to use GL 2019-10-13 16:58:33 +09:00
graphicsdriver_opengl.go Add 'ebitengl' build tag to force to use GL 2019-10-13 16:58:33 +09:00
image_test.go Revert "graphics: Avoid all copying pixels" 2019-11-16 02:04:46 +09:00
image.go docs: Update the links 2019-11-19 01:59:36 +09:00
imagedumper_desktop.go graphics: Refactoring: Remove imports 2019-09-19 02:17:35 +09:00
imagedumper_notdesktop.go Remove dependency on internal/png on mobiles and browsers 2018-11-14 00:37:51 +09:00
imageparts.go graphics: Experimental: (*image.Image).SubImage 2018-10-28 02:19:14 +09:00
input.go Move back driver getters to ebiten package 2019-09-03 01:46:11 +09:00
keys.go input: driver.Key now distinguishes left/right modifier keys 2019-09-01 23:49:00 +09:00
LICENSE Adjust LICENSE file 2017-01-30 18:57:49 +09:00
mipmap_test.go graphics: Use 'negative' mipmap when enlarging a too small image 2019-07-30 23:03:55 +09:00
mipmap.go restorable: Refactoring: Remove Clear 2019-12-02 03:03:07 +09:00
mousebuttons.go input: Move MouseButton and GamepadButton to driver package 2019-03-30 23:19:52 +09:00
README.md docs: Remove the Flappy image from README 2019-11-03 18:31:28 +09:00
run.go ui: Add SetScreenTransparent / IsScreenTransparent 2019-12-01 03:31:32 +09:00
uicontext.go restorable: Refactoring: Remove Clear 2019-12-02 03:03:07 +09:00
uidriver_glfw.go Remove driver getters for the playground 2019-09-03 01:47:48 +09:00
uidriver_js.go Move back driver getters to ebiten package 2019-09-03 01:46:11 +09:00
uidriver_mobile.go Move back driver getters to ebiten package 2019-09-03 01:46:11 +09:00
vertex.go Reland: graphics: Reuse vertices backend and reduce allocating 2019-09-29 01:36:00 +09:00
window.go ui: Bug fix: (Set)WindowPosition didn't work well with fullscreen mode 2019-12-01 00:39:04 +09:00

Ebiten

Build Status GoDoc Go Report Card

A dead simple 2D game library in Go

Ebiten is an open-source game library, with which you can develop 2D games with simple API for multi platforms in the Go programming language.

Overview

Platforms

  • Windows (No Cgo!)
  • macOS
  • Linux
  • FreeBSD
  • Android
  • iOS
  • Web browsers (Chrome, Firefox, Safari and Edge)

Note: Gamepad and keyboard are not available on Android/iOS.

For installation on desktops, see the installation instruction.

Features

  • 2D Graphics (Geometry/Color matrix transformation, Various composition modes, Offscreen rendering, Fullscreen, Text rendering, Automatic batches, Automatic texture atlas)
  • Input (Mouse, Keyboard, Gamepads, Touches)
  • Audio (Ogg/Vorbis, MP3, WAV, PCM)

Packages

Community

Slack

#ebiten channel in Gophers Slack

License

Ebiten is licensed under Apache license version 2.0. See LICENSE file.