※本記事にはアフィリエイトリンクが含まれています。
オープンソースの.NET向け2Dゲームフレームワーク「VOID Engine」が、ver2.2.0にアップデートされました。C#で2Dゲームを作れる無料ツールで、2Dレベルエディタ「LDtk」で作成したマップの読み込みに対応しているのが特徴です。今回の更新では、イベント通知の仕組み「Beacon」の強化や、入力処理の高速化、不具合修正が行われています。
そもそもVOID Engineとは?
VOID Engineは、C#で2Dゲームを制作できるオープンソースのフレームワークです。描画、入力、サウンド、アセット管理、セーブデータの暗号化といった基本機能をまとめて備えており、必要に応じて機能を拡張したり差し替えたりできます。外部の2Dレベルエディタ「LDtk」で作成したマップを、LDtk形式やJSON形式で読み込めます。エディタでのマップ作成と、VOIDでの読み込みは別の作業です。
ニュース概要
このフレームワークはNuGetパッケージとして配布され、ソースコードはMITライセンスでGitHub公開されています。個人利用・商用利用のどちらでも無料で使える点が大きな特徴です。対応OSはWindows、macOS、Linuxで、動作には.NET 10が必要です。グラフィックスAPIは標準でOpenGLを使いますが、VulkanやDirect3D向けのレンダラーを別途実装し、プラグインとして差し替えられる設計です。これらのレンダラーが標準で付属するという意味ではありません。
主な新機能・変更点
ver2.2.0で目立つのは、イベントをトピック名で通知する仕組み「Beacon」の拡張です。たとえば「PlayerDied」のような名前でイベントをpublishし、必要な側だけがsubscribeして受け取る形なので、システム同士を直接結びつけずに処理できます。今回、subscribeに有効期間を秒数などで指定できるようになり、期間中は何度でも反応し、期限が切れると反応しなくなります。期限切れの購読データは、遅延して整理されます。1回だけ反応する「SubscribeOnce」も追加されました。有効期間と組み合わせれば、その期間にイベントが届かなかった場合も、期限後は反応しません。 入力まわりでは、「Jump」のようなアクション名で入力を定義するInputActionが、内部で64ビットIDとして扱われるようになりました。これにより、文字列を使った参照や比較の負荷を減らす設計です。加えて、Asepriteで設定した9スライスの読み込みや、LDtkのIntGridレイヤーの座標計算、MoveAndSlideCircleの挙動など、複数の不具合も修正されています。
このニュースから考えられること
✅ メリット
- C#で2Dゲーム制作を始めやすい
- LDtk統合でレベル制作の流れを作りやすい
- Beaconの有効期間指定でイベント管理がしやすい
⚠️ 課題
- .NET 10が必要なので環境準備が前提になる
- 機能が多いため、最初は全体像を把握する必要がある
- レンダラー差し替えなど、拡張設計を理解するとより活用しやすい
学ぶならこの講座
C#で2Dゲーム開発を学びたい人や、Unity以外の選択肢を探している初心者に向いています。まずはLDtkを使ったマップ制作と、BeaconやInputActionの基本的な使い方を押さえると、フレームワークの特徴をつかみやすいでしょう。
※本リンクはアフィリエイトリンクです。
まとめ
VOID Engine ver2.2.0は、LDtkで作ったマップの読み込みに対応した.NET向け2Dフレームワークの更新版です。Beaconの有効期間指定やInputActionの内部ID化など、実装面の改善が入っており、2Dゲームの土台として試しやすい内容になっています。
