Ebitengine - A dead simple 2D game engine for Go
Go to file
Hajime Hoshi 4cc9d4d0db update Oto (avoid crashing w/ a PS5 controller)
A game might crash when a PS5 controller is connected due to switching
audio device. The latest Oto fix at least avoids this crash.

This crash is confirmed only with a Steam game so far.

Updates #2535
2023-01-12 03:58:27 +09:00
.builds examples: remove example build tag (#2433) 2022-11-03 20:24:09 +09:00
.github .github/workflows/vuln: update Go versions 2023-01-11 21:37:19 +09:00
audio audio: use NewContextWithOptions 2023-01-09 19:15:31 +09:00
cmd/ebitenmobile cmd/ebitenmobile: use an independent thread for rendering on iOS 2022-12-28 23:37:13 +09:00
colorm colorm: copy ColorM definition to improve documentations 2022-11-27 13:45:36 +09:00
ebitenutil all: remove old // +build comments (#2431) 2022-11-03 12:55:14 +09:00
examples internal/ui: bug fix: recover the cursor shape when the cursor is visible 2023-01-07 20:03:21 +09:00
inpututil ebiten: add additional MouseButtons (#2467) 2022-11-23 04:28:34 +09:00
internal internal/ui: refactoring: define global sel_ objects 2023-01-09 01:41:13 +09:00
misc misc: update README 2022-05-26 00:05:31 +09:00
mobile internal/ui: freeze the input state for each frame 2022-12-18 23:54:43 +09:00
text text: make CacheGlyphs create all the sub-pixel variations (#2530) 2023-01-07 23:22:55 +09:00
vector ebiten: rename ColorSclaeFormat -> ColorScaleMode 2022-11-01 13:09:52 +09:00
.gitignore all: add .idea in .gitignore (#2432) 2022-11-03 16:14:37 +09:00
blend.go ebiten: add blend factors 2022-10-18 00:21:13 +09:00
CODE_OF_CONDUCT.md updated an outdated URL in CoC 2022-08-27 13:26:52 +09:00
colorm.go colorm: copy ColorM definition to improve documentations 2022-11-27 13:45:36 +09:00
colorscale.go ebiten: separate a package for ColorM: colorm 2022-11-08 23:50:04 +09:00
CONTRIBUTING.md examples: remove example build tag (#2433) 2022-11-03 20:24:09 +09:00
cursor.go internal/driver: move some definitions to internal/ui 2022-02-06 18:13:45 +09:00
doc.go internal/ui: use a separate render thread for Nintendo Switch 2023-01-03 21:12:18 +09:00
export_test.go internal/ui: move the error handlings to the ui package 2022-03-20 16:26:26 +09:00
gameforui.go internal/ui: bug fix: input states must be updated before the hook 2022-12-21 11:46:58 +09:00
gamepad.go internal/gamepaddb: move driver.StandardGamepadButton to gamepaddb.StandardButton 2022-02-05 23:11:09 +09:00
generate.go Bug fix: some generators did not work due to a lacked package 2020-03-23 01:36:21 +09:00
genevents.go all: replace interface{} with any (#2430) 2022-11-03 15:33:09 +09:00
genkeys.go internal/ui: stop panicking at Key.String 2022-12-25 00:33:08 +09:00
geom_test.go Remove dot imports from tests - Remove dot imports (#1837) 2021-10-02 19:58:48 +09:00
geom.go ebiten: fixes a typo (#1930) 2022-01-05 15:06:41 +09:00
go.mod update Oto (avoid crashing w/ a PS5 controller) 2023-01-12 03:58:27 +09:00
go.sum update Oto (avoid crashing w/ a PS5 controller) 2023-01-12 03:58:27 +09:00
graphics.go ebiten: add RunGameWithOptions to specify graphics library 2022-12-09 21:27:31 +09:00
image_test.go ebiten: separate a package for ColorM: colorm 2022-11-08 23:50:04 +09:00
image.go ebiten: add RunGameWithOptions to specify graphics library 2022-12-09 21:27:31 +09:00
imagedumper.go ebiten: add RunGameOptions.ScreenTransparent 2022-12-09 22:50:57 +09:00
imagetobytes_test.go Remove dot imports from tests - Remove dot imports (#1837) 2021-10-02 19:58:48 +09:00
imagetobytes.go ebiten: Remove copying pixels from ReplacePixels and copyImage (renamed to imageToBytes) 2020-07-03 03:01:48 +09:00
input.go ebiten: add KeyName for desktops and browsers 2022-12-25 03:37:29 +09:00
keys.go ebiten: add Key.MarshalText and Key.UnmarshalText 2022-06-24 03:13:13 +09:00
LICENSE Adjust LICENSE file 2017-01-30 18:57:49 +09:00
mousebuttons.go ebiten: swap the definition MouseButtonMiddle and MouseButtonRight 2022-11-27 13:51:09 +09:00
README.md update README for colorm 2022-11-08 23:52:36 +09:00
run_mobile.go ebiten: add RunGameOptions.ScreenTransparent 2022-12-09 22:50:57 +09:00
run.go ebiten: update comments 2022-12-20 03:09:03 +09:00
shader_test.go internal/graphicsdriver/opengl: fix state tracking of glBindTexture / glActiveTexture interaction (#2526) 2023-01-07 23:13:14 +09:00
shader.go internal/ui: refactoring: reduce APIs 2022-12-09 00:05:22 +09:00
vibrate.go ebiten: typo 2022-09-24 09:37:59 +09:00
window.go ebiten: update comments 2022-10-22 16:15:13 +09:00

Ebitengine (v2)

Go Reference Build Status

A dead simple 2D game engine for Go

Ebitengine (formerly known as Ebiten) is an open source game engine for the Go programming language. Ebitengine's simple API allows you to quickly and easily develop 2D games that can be deployed across multiple platforms.

Overview

Platforms

Note: External (bluetooth) keyboards are not available on iOS yet.

For installation on desktops, see the installation instruction.

Features

  • 2D Graphics (Geometry and color transformation by matrices, Various composition modes, Offscreen rendering, Text rendering, Automatic batches, Automatic texture atlas, Custom shaders)
  • Input (Mouse, Keyboard, Gamepads, Touches)
  • Audio (Ogg/Vorbis, MP3, WAV, PCM)

Packages

Community

License

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

The Ebitengine logo by Hajime Hoshi is licensed under the Creative Commons Attribution-NoDerivatives 4.0.