Ebitengine とは|Go 言語で2Dゲームを書く無料のエンジン
Ebitengine は、Go 言語で2Dゲームを書くためのオープンソースのゲームエンジンです。Apache License 2.0 で公開されていて、費用はかかりません。書いたゲームはデスクトップ・ブラウザ・スマートフォンに書き出せます。
- 分類
- ゲームエンジン・フレームワーク
- 日本語対応
- 日本語対応
- 費用
- 無料
- 公式サイト
- https://ebitengine.org確認日 2026-09-05
Ebitengine の概要
Ebitengine(エビテンジン)は、Go 言語のためのオープンソースの2Dゲームエンジンです。以前は Ebiten という名前でした。
Ebitengine では、画面も、画像ファイルから読んだデータも、画面の外に置いた描画先も、すべてが image(画像)という1つの形で表されます。描画の操作のほとんどは、ある画像を別の画像の上に描くことです。
Ebitengine のしくみと使われ方は次のとおりです。
Ebitengine の特徴
Ebitengine が扱う次元
Ebitengine で作るのは2Dのゲームです。
Ebitengine の使用言語
書くのは Go です。必要な Go の版は 1.25 以降です。
v2.10 以降は、デスクトップのすべてのプラットフォーム(Windows・macOS・Linux・FreeBSD)で純粋な Go だけで実装されていて、C のコンパイラも開発用のヘッダも要りません。スマートフォン向けのビルドには、いまも Cgo が要ります。
別の環境に向けてビルドすることもできます。デスクトップ向けは GOOS と GOARCH を対象に合わせ、CGO_ENABLED=0 にすれば C のコンパイラなしで作れます。WebAssembly 向けも同じようにできますが、スマートフォン向けはその環境ごとのツールと Cgo が要ります。ゲームが使うほかのライブラリには、それぞれのビルドの条件がある場合があります。
Ebitengine の対応プラットフォームと、環境ごとに使える機能
環境ごとに使える機能は次のとおりです。
| 機能 | Windows | macOS | Linux | FreeBSD | Web | Android | iOS |
|---|---|---|---|---|---|---|---|
| 描画 | ○ | ○ | ○ | ○ | ○ | ○ | ○ |
| 窓 | ○ | ○ | ○ | ○ | 対象外 | 対象外 | 対象外 |
| キーボード | ○ | ○ | ○ | ○ | ○ | ○ | ○ |
| マウス | ○ | ○ | ○ | ○ | ○ | × | × |
| ゲームパッド | ○ | ○ | ○ | × | ○ | ○ | ○ |
| タッチ | × | × | × | × | ○ | ○ | ○ |
| 音 | ○ | ○ | ○ | ○ | ○ | ○ | ○ |
スマートフォン向けは ebitenmobile のコマンドを使うことが前提になっています。ブラウザ向けは WebAssembly(ブラウザなどで動かすために作られた、機械に近い形のプログラムの形式)を通します。Nintendo Switch にも対応しています。
Ebitengine の動作環境
Windows・macOS・Linux・FreeBSD について、公式ドキュメントに導入の節があります。FreeBSD での Ebitengine は、作者による試験が十分ではありません。
v2.10 の標準のデスクトップの作り(X11)では、動いている X サーバー(Wayland のときは XWayland)と、動く映像のドライバが要ります。描画は libX11 と OpenGL のライブラリ(libGL/libGLX)を読み込みます。X11 の拡張のライブラリ(libXcursor・libXi・libXinerama・libXrandr・libXrender・libXext)は任意で、カーソル・入力・モニター・窓の機能のためのものです。開発用のパッケージと pkg-config は要りません。
音は、まず PulseAudio と互換のあるサーバー(PipeWire の PulseAudio のサービスを含む)につなぎます。これは Go のクライアントで行うので libpulse は要りません。ALSA へ落ちるときだけ libasound.so.2 が要ります。
FreeBSD では X Window システムと GNOME3 のような窓の管理のソフトが要り、pkg install xorg も必要です。
Ebitengine の資料と例
Ebitengine の資料は、導入、環境ごとの話(スマートフォン・WebAssembly・Steam)、機能(機能の表・シェーダ)、版ごとの公開の記録(1.11 から 2.10 まで)、そのほか(早見表・Ebitengine の行列・よくある質問・速度の手がかり・実装・v2 への移行の手引き)に分かれています。
公式サイトには、遊べる例として 2048・Blocks・Flappy が置かれ、ほかに30以上の例が用意されています。
描画の細かい話もよくある質問に載っています。線を引くには vector.StrokeLine を使うこと、画面の取得は環境変数 EBITENGINE_SCREENSHOT_KEY にキーを指定して行うこと、高精細の画面向けには Layout が外側より大きい寸法を返すようにして ebiten.DeviceScaleFactor() を掛けること、SubImage でタイルを描くと、拡大縮小または回転をして描き、しかも元の画像の上で部品の絵が続いていないときに、想定しない画素が出る場合があることなどです。
Ebitengine の費用とライセンス
Ebitengine は無料で使えます。Ebitengine が Apache License 2.0 のもとで公開されています。
| 項目 | 中身 |
|---|---|
| 費用 | 無料(オープンソース) |
| ライセンス | Apache License 2.0 |
| ソースコード | hajimehoshi/ebiten |
Ebitengine は、公式サイトの Install の案内に従って、Go の環境に入れます。ソースコードは GitHub の hajimehoshi/ebiten にあります。公式サイトには、API の一覧(API reference)、手引き(Documents)、例(Examples)、作例の一覧(Showcase)、ブログなどが並んでいます。
コミュニティの場には、Discord・Gophers Slack の #ebitengine・GitHub Discussion・Reddit の r/ebitengine があります。
- Ebitengine を手に入れるhttps://ebitengine.org
情報源
- Ebitengine — 公式サイト(概要・特徴・対応するプラットフォーム・ライセンス・例とコミュニティ)https://ebitengine.org/確認日 2026-10-18
- Features — Ebitengine 公式ドキュメント(環境ごとに使える機能の表)https://ebitengine.org/en/documents/features.html確認日 2026-10-18
- Install — Ebitengine 公式ドキュメント(必要な Go の版・環境ごとの前提・Linux のライブラリ・音の仕組み)https://ebitengine.org/en/documents/install.html確認日 2026-10-18
- FAQ — Ebitengine 公式ドキュメント(別の環境へのビルド・線の引き方・画面の取得・高精細の画面・タイルの描画)https://ebitengine.org/en/documents/faq.html確認日 2026-10-18
- Documents — Ebitengine 公式ドキュメント(資料の章立て・版ごとの公開の記録)https://ebitengine.org/en/documents/確認日 2026-10-18