INDIE INDEX

レベル:開発者向け

Ebitengine とは|Go 言語で2Dゲームを書く無料のエンジン

公開 2026-09-11更新 2026-10-18Ebitengine(国産)

Ebitengine は、Go 言語で2Dゲームを書くためのオープンソースのゲームエンジンです。Apache License 2.0 で公開されていて、費用はかかりません。書いたゲームはデスクトップ・ブラウザ・スマートフォンに書き出せます。

分類
ゲームエンジン・フレームワーク
日本語対応
日本語対応
費用
無料
公式サイト
https://ebitengine.org確認日 2026-09-05
このページの目次
  1. Ebitengine の概要
  2. Ebitengine の特徴
  3. Ebitengine の費用とライセンス
  4. 情報源

Ebitengine の概要

Ebitengine(エビテンジン)は、Go 言語のためのオープンソースの2Dゲームエンジンです。以前は Ebiten という名前でした。

Ebitengine では、画面も、画像ファイルから読んだデータも、画面の外に置いた描画先も、すべてが image(画像)という1つの形で表されます。描画の操作のほとんどは、ある画像を別の画像の上に描くことです。

Ebitengine のしくみと使われ方は次のとおりです。

項目 中身
画像の扱い すべてが画像として表され、描画の操作のほとんどは、ある画像を別の画像の上に描くこと
動く環境 デスクトップ・ブラウザ・スマートフォンで動く
描画の処理 GPU を使い、複数の画像を内部で1枚のテクスチャアトラスにまとめ、できるときは描画を自動でまとめて行う
使われ方 実際に売られているゲームの開発に使われている

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 のページに出た言葉

Ebitengine と同じ分類のほかのツールゲームエンジン・フレームワーク 全62件

ゲームエンジン・フレームワークの一覧を見る

このページの内容の誤りは、問い合わせの窓口で受け付けています。