😎

2013 年から 2022 年までの Ebitengine

2022/12/14に公開

この記事は「GameEngineDev Advent Calendar 2022」15 日目の記事です (記事公開設定を間違えて 14 日にこの記事を公開してしまいました。ごめんなさい)。

Ebitengine って何?

https://ebitengine.org

Ebitengine (エビテンジン) は筆者星一 (ほしはじめ) が趣味で開発している、オープンソースのシンプルな 2D ゲームエンジンです。プログラミング言語 Go で書かれています。 2013 年 6 月から開発を続けていて、今年で 9 周年 10 年目になります。

特徴としては次のとおりです:

  • シンプルな API (描画機能は、基本的には「矩形画像から矩形画像への描画」を軸としたもののみ)
  • 高いポータビリティ (デスクトップ (Windows、 macOS、 Linux、 FreeBSD)、モバイル (Android、 iOS)、ブラウザ、コンソール (Nintendo Switch™))
  • 実プロダクトで使われた実績 (Odencat の「くまのレストラン」は各プラットフォームでリリースされ、累計 150 万 DL を達成)

矩形画像から矩形画像への描画

Ebitengine の思想の背景については、過去に note 記事「ゲームエンジンはアートである - 8 年以上自作ゲームエンジンをメンテし続けている話」に詳しく書きましたのでご参照ください。

https://note.com/hajimehoshi/n/nc09751f2dbf9

スポンサー

https://github.com/sponsors/hajimehoshi

2022 年 12 月現在まで、延べ 75 名の方々にスポンサーになっていただきました。誠にありがとうございます。実験用デバイス購入費やドメイン代などに活用させて頂いております。

年表

Ebitengine 年表

主な出来事

3 つほどピックアップします。

「いのべーしょん 2007」移植開始 (2015)


いのべーしょん 2007 by Omega, Hajime Hoshi

ゲームエンジンを作る過程で、シンプルな 2D アクションゲームである「いのべーしょん 2007」を移植することにしました。原作者は Omega さんです。

「いのべーしょん 2007」は Ebitengine の主要な機能をそこそこ使っているため、 Ebitengine を新しい環境に移植する際にはテストとして活用しています。「いのべーしょん 2007」が新しい環境で動けば、その環境で Ebitengine のほぼ全機能が動くと言えるわけです。

WebAssembly 向けポートを作り、 Twitter Card に埋め込むということができました。 PC ブラウザ上でツイートを開くと、中でゲームが遊べると思います。

「いのべーしょん 2007」はおそらく、 Google Play および Apple Store でリリースされた史上初の Go 製ゲームです。

いのべーしょん 2007 を開発中に、当時 FPS 30 程度でスマホ上でギリギリ動いているところを Daigo 氏にみせ、 Daigo 氏のゲームに Ebitengine を使うように説得しました。「いのべーしょん 2007」は Ebitengine 躍進の重要な第一歩だったわけです。

Odencat「くまのレストラン」リリース (2019)

https://odencat.com/bearsrestaurant/switch/ja.html

くまのレストラン プレイ画面
くまのレストラン by Odencat

Odencat の「くまのレストラン」は Odencat (当時は Daigo 個人) からの 5 つ目のモバイルゲームとしてリリースされました。その後 2021 年に Steam デスクトップ版と Switch 版がリリースされました。

「くまのレストラン」の素晴らしいところはたくさんあります。なんといっても全世界で累計 150 万ダウンロードされ、世界中で評価されるようなゲームであるということです。また、 Google Play Indie Game Festival 2019 で TOP3 賞および Avex 賞を受賞しました。他の参加作品は Unity および Unreal Engine といった既存のゲームエンジンで、個人が作ったゲームエンジンで参戦していたのは Daigo 氏だけでした。自分が好きなように作ったゲームエンジンが、世界中で遊ばれ高く評価されるゲームで使われて、大変うれしく思います。

また Go は Nintendo Switch 含むコンソールに本来対応していません。そのためコンソール移植は困難であると思われました。しかし最終的にはランタイム書き換えによって解決することが出来ました。こういった技術的チャレンジもうまいこと成功し、概念実証出来たことを嬉しく思います。「くまのレストラン」は「プログラミング言語 Go 初」の出来事をたくさん実現してくれました。

Symbolic Software「こぶし博士の迷宮研究所」リリース (2022)

https://drkobushi.com/

こぶし博士の迷宮研究所 プレイ画面
こぶし博士の迷宮研究所 by Symbolic Software

Symbolic Software の「こぶし博士の迷宮研究所」は、 Steam および Nintendo Switch でリリースされたパズルゲームです。非常にやりごたえのある難易度になっております。また作者の Nadim Kobeissi さん らは日本文化が大好きで、グラフィックスは日本の漫画に大変影響を受けたとおっしゃっていました。

いままでの Odencat のゲームは、 Ebitengine 以外のゲーム部分に自分が携わることがありました。しかし、 Symbolic Software の「こぶし博士の迷宮研究所」はゲーム自体の開発に携わることはありませんでした。自分がほぼ無関与で、自分以外の人が Ebitengine を使って Steam および Nintendo Switch のゲームを作れたということです。これは Ebitengine がゲームエンジンとしてかなり成長出来た証であると考えています。

開発者の Nadim Kobeissi さんらとは東京ゲームショウで会うことができました。 Nadim さんが経営している会社である Symbolic Software にもスポンサーになって頂いております。大変ありがたいことです。

今後の予定

バージョン 2.5.0 を来年リリースする予定です。ベクターグラフィックスの機能が拡充されます。 2D グラフィックに特化したゲームエンジンとしては機能がだいぶ煮詰まりつつあります。

欲しい機能としてはゲームではなく GUI アプリを作るための機能です。例えばゲームエディタ (IDE) を作るために入力フォームが作れるような機能を実装したいと思っています。 IME 周りは鬼門です。ゲームエンジンとしてはやはり IDE がないと広く使われないのではないかという懸念があります。しかしながら、具体的にどういう IDE を作るべきかというアイデアはありません。

今まで多くのインディーゲームに使われてきたとは言え、ゲームエンジンとして Ebitengine はまだまだマイナーです。今後も Ebitengine を開発し続けてもっとたくさんの人々に使われたら、大変嬉しく思います。今後ともよろしくお願いします。

Discussion