Altseed2

マルチプラットフォームなゲーム用ライブラリ

NuGet: Engine: Core:

Altseed2とは

Altseed2 は画面描画・音・入力・衝突判定などの機能をまとめたゲーム用ライブラリです。 オブジェクト指向を用いた開発に適したインタフェースにより、複雑になりがちな機能を少ないコード量で実装することができます。 かつての Altseed と異なり、ノードシステムを採用しており、オブジェクトやオブジェクトが持つ機能の管理を、より柔軟かつ統一的に行うことができます。 その他にも、Altseed2 には初代 Altseed にはなかった機能がいくつか実装されています。

Altseed2は初代Altseedとの互換性はなく、新しく作り直されたゲームエンジンです。初代Altseedの情報を見たい方はAltseedのページをご覧ください。

ページ

必要な環境

ライセンス

Altseed2 の開発者が書いたコードは MIT ライセンスですが、Altseed2 を利用したアプリケーションを配布する際には、Altseed2 が利用しているすべてのライブラリのライセンスについても記述する必要があります。 Altseed2 をダウンロードした際に含まれている LICENSE ファイルを、または GitHub 上の LICENSE ファイルをダウンロードして、アプリケーション配布時に含めるようにしてください。

サポート

Altseed2に関して質問や相談がある場合は、GitHubのissueやTwitterのリプライで気軽に聞いてください。または、Slackワークスペースに入って質問することもできます。特にAltseed2の開発に興味のある方は、ぜひSlackに入ってみてください。

Altseed2 でできること

例 : オーディオビジュアライザ

Altseed2 では再生中の音声についてスペクトル解析を行うことができます。 これを使用して、音楽に合わせて動くオブジェクトを実装することができます。

例 : 衝突判定

Altseed2 ではオブジェクト同士の衝突判定を行うことができます。 衝突時の処理をメソッドとして簡単に記述することができます。

例 : ジョイスティック

Altseed2 では、SDL_GameControllerDBによって記述されているコントローラ(100~200種類ほど)に対して、ゲームパッドのボタンの種類(JoystickButton)によってその入力を取得することができます。 これにより、単一のコードで100種類以上のゲームパッドに対応することができます。 非対応のコントローラーでも、ボタンのインデックスを利用して入力を取得可能です。

例 : カメラ

Altseed2 では、カメラ機能を利用することで特定の範囲だけを切り取って描画することができます。

例 : ポストエフェクト

Altseed2 では、ポストエフェクト機能を利用して描画結果に加工を加えられます。 標準ではグレースケール、セピア、ガウスぼかし、ライトブルームを利用できます。 シェーダーを記述して、独自のポストエフェクトを作成することもできます。

例 : マテリアル

Altseed2 では、HLSL を利用してシェーダーを記述できます。 シェーダーはプラットフォームごとに自動で変換されるため、単一のシェーダがすべてのプラットフォームで動作します。

例 : フォントファイルの画像化

Altseed2 では、フォントファイルを事前に画像ファイル(静的フォントファイル)に変換して読み込むことができます。 ライセンスによってフォントファイルそのものを配布できない場合でも、画像に変換することで利用できる場合があります。(ライセンスはフォントごとに異なるので、使用しているフォントのライセンスをよく確認してください)

また、Altseed2 では MSDF を利用しているため、描画したいサイズごとにフォントを読み込む必要がなくなりました。

例 : ファイルパッケージ

Altseed2 では、画像ファイルや音声ファイルを入れたリソースフォルダを、暗号化したパッケージファイルに変換することができます。 ゲームファイルを配布する際には暗号化したリソースを利用することで、画像や音声が意図しない使われ方をすることを防ぐことができます。

例 : プロファイリング

プロファイラ機能を利用して、特定の範囲の処理の実行に掛かる時間を測定する事ができます。

例 : .NETツール

Altseed2 では、リソースフォルダやフォントファイルの変換するためのツールをNuGet経由でインストール可能になりました。

Altseed2 For Rust について

現在、Rust で使用できる Altseed2 を鋭意開発中です。