最近、Goの快進撃が続いています。個人的にヒットしたのはGo1.11からのWebAssemblyのサポートでしょう。しかもDOMやネットワークアクセスもGoから利用できます。これによって高速なWebアプリケーション開発がGoでできるようになります。 そんなGoを使って作られた2DゲームライブラリがEbitenです。

Ebitenの使い方

ゲームの例です。2048。ちゃんとキーボードで操作できます。

テトリス。

フラッピーバード風。

グラフィックスの描き方も多様に用意されています。

WebAudioを使って演奏する例。

プレイグラウンドを使って実際に動かせます。

EbitenはGoで2Dゲーム、しかもWebブラウザ上で動作するゲームを開発できます。もちろん作法はありますが、Ebitenの使い方さえ覚えてしまえばWebAssemblyを使ってネイティブレベルの速度で動作するゲームが開発できるということです。これは非常に大きな可能性を感じさせます。

EbitenはGo製のオープンソース・ソフトウェア(Apache Licnese 2.0)です。

Ebiten - A dead simple 2D game library in Go hajimehoshi/ebiten: A dead simple 2D game library in Go