Draft:Ebitengine
{{AFC submission|d|v|u=Sedyhs|ns=118|decliner=Qcne|declinets=20231109203644|reason2=nn|ts=20231109202501}}
{{AFC comment|1=Does not pass WP:NSOFTWARE Qcne (talk) 20:36, 9 November 2023 (UTC)}}
----
{{Short description|FOSS 2D Game Engine for Golang}}
{{Draft topics|internet-culture|software|video-games|technology}}
{{AfC topic|other}}
{{Infobox software
| logo = Ebitengine-logo.png
| name = Ebitengine
| author = Hajime Hoshi
| released = 1.0.0 / {{Start date and age|2016|01|26}}{{cite web |url=https://github.com/hajimehoshi/ebiten/releases/tag/v1.0.0 |title=First initial release on GitHub |website=GitHub |access-date=2025-01-31}}
| latest release version = 2.8.8 / {{Start date and age|2025|04|23}}{{cite web |url=https://github.com/hajimehoshi/ebiten/releases/tag/v2.8.8 |title=Latest stable release on GitHub |website=GitHub |access-date=2025-06-12}}
| repo = {{URL|https://github.com/hajimehoshi/ebiten}}
| programming language = Go
| platform = Windows,
Linux,
macOS,
iOS,
WASM,
Android,
Nintendo Switch{{cite web|url=https://ebitengine.org/en/blog/native_compiling_for_nintendo_switch.html|title=Compiling a Go program into a native binary for Nintendo Switch|access-date=2025-06-12}},
Xbox One{{cite web |url=https://github.com/hajimehoshi/ebiten/issues/2084 |title=Ebitengine 2.5 Release Notes: Xbox support|website=GitHub |access-date=2025-06-12}},
Xbox_Series_X_and_Series_S
| language = English,
Japanese
| genre = Game engine,
Application framework
| license = Apache License 2.0
| website = {{URL|https://ebitengine.org}}
}}
Ebitengine (formerly known as Ebiten{{cite web|url=https://ebitengine.org/en/blog/ebitengine.html|title=We renamed Ebiten to Ebitengine|access-date=2025-06-12}}) is an free and open-source 2D game engine written in the Go programming language.
Its core idea is “drawing from image to image”, a design that lets the users to leverage GPU functionality without having to worry about the details of graphics processing.{{cite journal |author=Hoshi, Hajime |title=GPU-Friendly 2-D Rendering in Go |journal=N Monthly |volume=3 |issue=2 |year=2021 |pages=45–60 |url=https://www.lambdanote.com/collections/n/products/nmonthly-vol-3-no-2-2021 |url-access=subscription}}
History
- The first public release appeared on GitHub in January 2016.{{cite web |url=https://github.com/hajimehoshi/ebiten/releases/tag/v1.0.0 |title=Ebiten v1.0.0 |website=GitHub |date=26 January 2016 |access-date=13 June 2025}}
- A comprehensive technical overview was published in the journal N Monthly (2021), detailing how the engine reconciles a 2D API with modern GPUs.{{cite journal |author=Hajime Hoshi |title=GPU-Friendly 2D Rendering in Go: The Design of Ebiten |journal=N Monthly |volume=3 |issue=2 |year=2021 |url=https://www.lambdanote.com/collections/n/products/nmonthly-vol-3-no-2-2021 |language=en |access-date=13 June 2025}}
- In January 2022 the project was rebranded as «Ebitengine» to avoid name collisions with Japanese e-commerce services.{{cite web |url=https://ebitengine.org/en/blog/ebitengine.html |title=We renamed Ebiten to Ebitengine |website=Ebitengine.org |date=4 January 2022 |access-date=13 June 2025}}
- Hajime Hoshi joined Odencat Inc. as CTO in April 2023, continuing engine development professionally.{{cite web |url=https://levtech.jp/media/article/focus/detail_434/ |title=Interview with Hajime Hoshi, creator of Ebitengine |website=Levtech Media |language=ja |date=20 March 2024 |access-date=13 June 2025}}
- By 2025 the repository had surpassed 10 000 GitHub stars.{{cite web |url=https://github.com/hajimehoshi/ebiten |title=hajimehoshi/ebiten |website=GitHub |access-date=13 June 2025}}
Features
- Geometry and color transformation by matrices, various composition modes, offscreen rendering, text rendering, automatic batches, automatic texture atlas and custom fragment shading language.
- Supports various input methods such as mice, keyboards, gamepads and touchscreens. {{cite book |title=The Ebitengine Book |publisher=Zenn |year=2024 |language=ja |url=https://zenn.dev/eihigh/books/ebitengine-book |quote=今回はEbitengineにおける入力の扱い方について説明します。minitenと違ってEbitengineならマウス・キーボード・ゲームパッド・タッチパネルなど幅広い入力を扱うことができます。そのすべての詳細に触れるのは大変なので、今回はよく使うものの解説と、残りはざっくりとした紹介にとどめます。}}
- Supports various audio formats such as Vorbis, MP3, WAV and Pulse-code modulation.
Platform-dependent features like data storage and advertising are implemented through bindings in {{cite web|url=https://github.com/golang/go/wiki/Mobile|title=Go Mobile |website=GitHub }}
Software architecture
Ebitengine supports multiple backends for different platforms. {{cite web |url= |title= |quote=In fact, games made with Ebiten run on a bunch of platforms. They work on desktop environments like Windows, macOS, and Linux, as well as mobile environments like Android and iOS. They can also run in browsers using WebAssembly compilation. Plus, they're compatible with Nintendo Switch.}}
Ebitengine supports desktop systems (Windows, macOS, Linux), mobile platforms (iOS, Android), WebGL in web browsers, and game consoles such as Nintendo Switch and Xbox, allowing games written in Go to run across multiple environments. {{cite book |title=The Ebitengine Book |publisher=Zenn |year=2024 |language=ja |url=https://zenn.dev/eihigh/books/ebitengine-book |quote=Ebitengineの特筆すべきはそのサポート範囲です。Windows、macOS、Linuxといったデスクトップ環境はもちろん、Webブラウザ上で動作するWebGL、そしてiOSやAndroidといったスマートフォンアプリ、さらにはNintendo SwitchやXboxといったゲーム機まで幅広くサポートしています。これにより、Go言語で書いたゲームを様々なプラットフォームに移植することが可能になります。}}
- Windows: DirectX, OpenGL
- Xbox One: DirectX
- Xbox_Series_X_and_Series_S: DirectX
- Linux: OpenGL
- FreeBSD: OpenGL
- Android: OpenGL ES
- iOS: Metal
- macOS: Metal
- WASM: WebGL {{cite web |url=https://medieval.software/rune-synergy-devblog-8 |title=Rune Synergy Devblog #8 |website=Medieval Software |language=en |quote=Cross-Platform Support — Windows, macOS, Linux, FreeBSD, Android, iOS and browsers (via WebAssembly).}}
- Nintendo Switch: OpenGL {{cite journal |author=Hoshi H. |title=GPU-Friendly 2D Rendering in Go |journal=N Monthly |volume=3 |issue=2 |year=2021 |url=https://www.lambdanote.com/collections/n/products/nmonthly-vol-3-no-2-2021 |language=ja |quote=Ebiten が使用するグラフィックスライブラリ: Windows - OpenGL, macOS - Metal, Linux - OpenGL, Android - OpenGL ES, iOS - Metal, ブラウザ - WebGL}}{{cite web |url=https://www.4gamer.net/games/633/G063301/20241204005/ |title=The Appeal of Ebitengine |website=4Gamer.net |date=4 December 2024 |language=ja |quote=Ebitengineは,マルチプラットフォームにも対応しており,デスクトップではWindowsやLinuxなど,モバイルではiOSやAndroid,コンソールではNintendo SwitchやXbox,ほか各種ブラウザにも対応している。}}
Notable games
- Saeko: Giantess Dating Sim{{Cite web |last=黒澤 |first=悠樹 |date=2024-09-28 |title=『SAEKO』開発者kypさんに聞いてみた。 |url=https://www.kamoyanagi.net/post/interview_07 |access-date=2025-06-12 |website=かもやなぎ放送局 |language=ja}}
- Rakuen: Deluxe Edition (Switch){{cite web|url=https://twitter.com/supershigi/status/1533286994939260928|title=We're happy to announce that we'll be using Ebitengine made by @hajimehoshi for Rakuen's Switch port!|access-date=2025-06-12}}
- Dr. Kobushi's Labyrinthine Laboratory{{cite web|url=https://twitter.com/symbolicsoft/status/1648944629373345793|title=Ebitengine allowed us to write @DrKobushi in Go and is used by an increasing number of studios to publish games for PC, Nintendo Switch and more!|access-date=2025-06-12}}
- Bears Restaurant{{cite web|url=https://twitter.com/daigo/status/1414408014568644608|title=Ebitengine is an OSS that is the core of Odencat's game development.|access-date=2025-06-12}} {{cite web|url=https://www.slideshare.net/daigosato/realworld-game-development-with-ebitengine-how-to-make-the-bestselling-go-game|title=All of our games are made with Ebitengine|date=18 September 2022 |access-date=2025-06-12}}
- Mousebusters
- Fishing Paradiso{{cite web|url=https://www.reddit.com/r/ebitengine/comments/14hgkyh/firstever_physical_release_of_a_game_developed/|title=First-Ever Physical Release of a Game Developed with Ebitengine, Coming to Nintendo Switch!|date=24 June 2023 |access-date=2025-06-12}}
- Meg's Monster{{cite web|url=https://twitter.com/OdencatGames/status/1550647173636923393|title=Yes! Meg's Monster runs on Ebitengine. We'll have more news about the game in the future! :)|access-date=2025-06-12}}
Community
- {{cite web|title=Ebitengine Game Jam: Magnet|url=https://itch.io/jam/ebiten-game-jam}} - {{Start date and age|2022|06|15}}, 23 games, hosted by: Siôn le Roux and Hajime Hoshi.
- {{cite web|title=Ebitengine Game Jam: Reverse|url=https://itch.io/jam/ebitengine-game-jam-2023}} - {{Start date and age|2023|06|15}}, 17 games, hosted by: Siôn le Roux and Hajime Hoshi.
- {{cite web|title=Ebitengine Game Jam: Building|url=https://itch.io/jam/ebitengine-game-jam-2024}} - {{Start date and age|2024|06|15}}, 13 games, hosted by: Siôn le Roux and Hajime Hoshi.
Reception
Major Japanese outlets highlight the engine’s simplicity and portability. 4Gamer describes Ebitengine as “easy first” and praises its rectangle-to-rectangle model.{{cite web |url=https://www.4gamer.net/games/633/G063301/20241204005/ |title=The Appeal of Ebitengine, a Go-based 2D Game Engine |website=4Gamer.net |language=ja |date=4 December 2024}}
Technical reviewers in The Ebitengine Book note that Go developers can reach consoles “without heavy IDEs”.{{cite book |chapter=Preface |title=The Ebitengine Book |publisher=Zenn |year=2024 |url=https://zenn.dev/eihigh/books/ebitengine-book |language=ja |access-date=13 June 2025}}
In an interview with Levtech Media, Hoshi stated his goal is “to make Ebitengine the default 2D engine worldwide”.
See also
References
{{reflist}}
External links
- {{Official website|https://ebitengine.org/}}