Ebitengine 2.3 リリースノート

2022 年 5 月 25 日、 Ebiten は Ebitengine に改称されました。

v2.3.0

Issues for v2.3.0

Windows での DirectX サポート

(#1007)

Windows で DirectX がサポートされました。 Arm Windows など、 Ebitengine がサポートする環境を増やすための準備です。

Nintendo Switch™ 向けのネイティブコンパイル

(#1900)

前のバージョンでは、 go2cpp を使って、 Go プログラムを WebAssembly フォーマット経由で C++ に変換することで、 Ebitengine は Nintendo Switch をサポートしていました。これはポータブルで単純なソリューションでした。しかし、シングルスレッド故にパフォーマンスが悪く、また大量の C++ ファイルをコンパイルするため時間がかかるなどの問題がありました。

この問題を解決するため、 Go ランタイムのシステムコール呼び出しを C 関数呼び出しに置き換える Hitsumabushi を使って Nintendo Switch へのネイティブコンパイルをサポートします。技術的詳細については、 Hitsumabushi に関するブログ記事を参照してください。

これをサポートするために、 Ebitengine は新しいビルドタグ ebitencbackend を導入しました。

環境変数 EBITEN_GRAPHICS_LIBRARY

環境変数 EBITEN_GRAPHICS_LIBRARY で Ebitengine が内部で使うグラフィックライブラリを指定することができます。

ビルドタグ ebitengl は削除されました。

ビルドタグ ebitenexternaldll

(#1832)

Ebitengine は Windows 実行ファイルに DLL ファイルを埋め込み、実行ファイルがそれを必要時に展開します。しかし、この手法には問題があり、一部のウィルス検知ソフトがアプリケーションをウィルスと誤検知してしまうことがありました。

新しいビルドタグ ebitenexternaldll によって、 DLL 埋め込みをしないようにできます。実行ファイルは DLL ファイルがワーキングディレクトリに必要になります。 Ebitengine リポジトリの internal/glfw から次の DLL ファイルをコピーしてください:

これは未だに完璧な解決策ではありませんが、誤検知を低減することができるでしょう。

バイブレーション

(#1452)

モバイルデバイス、ブラウザ、ゲームコントローラを振動させるための新しい API が導入されました:

ウィンドウのリサイズモード

(#1819)

ウィンドウのリサイズモードのための新しい API が導入されました:

ebiten.IsWindowResizableebiten.SetWindowResizable は非推奨になりました。

リアルタイム PCM

(#2026)

オーディオプレイヤーのバッファサイズを調整して、リアルタイム PCM を実現する新しい API が導入されました:

実例は新しいサンプル realtimepcm を参照してください。

その他の新しい機能

バグ修正

このリリースには、 v2.2.x にあるすべてのバグ修正が含まれます。

パフォーマンス

v2.3.1

Issues for v2.3.1

バグ修正

v2.3.2

Issues for v2.3.2

バグ修正

v2.3.3

Issues for v2.3.3

バグ修正

v2.3.4

Issues for v2.3.4

バグ修正

v2.3.5

Issues for v2.3.5

バグ修正

v2.3.6

Issues for v2.3.6

バグ修正

v2.3.7

Issues for v2.3.7

バグ修正

v2.3.8

Issues for v2.3.8

バグ修正