LoginSignup
67
66

More than 5 years have passed since last update.

Rust言語製ゲームエンジンPistonの紹介

Last updated at Posted at 2015-12-23

この記事では、オープンソースで開発されているクロスプラットフォームなRust製ゲームエンジンPistonを紹介します。

一応、Pistonのリンクも貼っておきます。

- 公式サイト
- GitHub

Pistonゲームエンジンの特徴

Pistonの特徴をいくつか列挙してみます
1. Rust言語の恩恵(安全性や並列性など)を受けたゲーム制作
2. 様々なモジュール、ライブラリ
3. 2D、3Dグラフィックのゲーム開発
4. クロスプラットフォームなゲーム開発
いい感じですね。

Hello World!

早速、Pistonを使ってみましょう。
今回はpiston_windowという公式のラッパーを使ってゲームループを作ってみます。

まだRust言語をインストールしていない方は公式サイトを参考にしてインストールを行ってください。

また、Pistonが依存しているFreetypeもインストールしてください。How to install FreeType

次に、Rustプロジェクトを作ります。
$ cargo new example --bin && cd example
次にCargo.tomlに以下の二行を追記src/main.rspiston_window
README[https://github.com/PistonDevelopers/piston_window/blob/master/README.md]
で一番初めに書かれているコードで上書きします。

Cargo.toml
[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みたいな何か。

最後に

短くなってしまいましたが、こんなところでこの記事はおしまいです。
ゲームエンジンを探している方は是非一度試してみてください。
ありがとうございました。

67
66
1

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
67
66