この記事では、オープンソースで開発されているクロスプラットフォームなRust製ゲームエンジンPistonを紹介します。
一応、Pistonのリンクも貼っておきます。
Pistonゲームエンジンの特徴
Pistonの特徴をいくつか列挙してみます
- Rust言語の恩恵(安全性や並列性など)を受けたゲーム制作
- 様々なモジュール、ライブラリ
- 2D、3Dグラフィックのゲーム開発
- クロスプラットフォームなゲーム開発
いい感じですね。
Hello World!
早速、Pistonを使ってみましょう。
今回はpiston_window
という公式のラッパーを使ってゲームループを作ってみます。
まだRust言語をインストールしていない方は公式サイトを参考にしてインストールを行ってください。
また、Pistonが依存しているFreetypeもインストールしてください。How to install FreeType
次に、Rustプロジェクトを作ります。
$ cargo new example --bin && cd example
次にCargo.toml
に以下の二行を追記、src/main.rs
をpiston_window
の
README[https://github.com/PistonDevelopers/piston_window/blob/master/README.md]
で一番初めに書かれているコードで上書きします。
[dependencies]
piston_window = "0.33.0"
ここで
$ cargo run
とするとウィンドウが表示されるのが確認できたと思います。
簡単ですね。
リポジトリの紹介
Pistonの開発が行なわれているGitHubアカウントPistonDevelopersには投稿日の時点で101ものリポジトリがあり、
どれが何をするものなのか、また、どれを使えばいいのかよく分かりません。
そこで、私の知ってる範囲で幾つかの代表的なリポジトリ名と目的を列挙してみました。
piston - Pistonのメインリポジトリ。イベントループやユーザー入力処理などの基本的な機能のアンブレラプロジェクトになっている。
conrod - 2DのGUIを作るためのライブラリ。
sprite - スプライトやシーンなどを扱うためのライブラリ。
turbine - 3Dのゲームエンジン。エディタが付いているらしい。
VisualRust - Visual Studioのプラグイン。
hematite - Pistonで作られたMinecraftみたいな何か。
#最後に
短くなってしまいましたが、こんなところでこの記事はおしまいです。
ゲームエンジンを探している方は是非一度試してみてください。
ありがとうございました。