2020-10-29

[Aaria/bevy] Bevy製ゲーム

ニュース

シンプルでハマるパズルゲーム

 既に色々なコードが公開されていますが、いくつかのbevy製ゲームをご紹介します。1つ目は「謎解きパズル」のジャンルからbevy_squaresです。
 上下左右で画面上のブロックを動かし、同じ色同士を重ねていくことでスコアを稼いでいくというシンプルなゲームです。重ね続けて行くと最後には左画面のように白のブロックになります。恐らく実際は裏で色が設定されており、それまでと同様に同じ種類のブロック同士は重ねられる仕様なのでしょうが、視覚的に見えないため、どのブロックがどの種類か(何回重ねられたか)を確認しながら進めていかないと、すぐにゲームオーバーになってしまうでしょう。
 時間制限はないのでじっくり考えて進めることもできますが、最初のうちは右下を適当に連打すると効率よく進めていくことができます。また、画面上の重ね数が最も少ないブロックを全消しすると、その色のブロックは登場しなくなり、最終的には白ブロックのみでプレイすることになります。つまりコツは最下位ブロックを全消ししていくことで、画面上に現れるブロックの種類数を少なく抑えながら進めていくことです。
 シンプルながらもなかなかハマるタイプの良作だと思います。上記リンク(GitHubページ)からgit cloneし、Rust環境を整えた上で「cargo run --release」でコンパイルすることで遊ぶことができます。また、exeから直接起動する場合は「assets」フォルダが配下にないと起動に失敗してしまうため、ご注意ください。
 今後もこの手(bevy製)のゲームを多数紹介していくことになるかと思いますが、恐らくほとんどはGitHubで公開されているケースだと思います。GitHubアカウントの取得の必要はないでしょうが、実行(exe)ファイルは各自がRustでコンパイルすることで作成することになるかと思います(今回のように)。
 bevyは100%Rustで作られたゲームエンジンであり、bevyエディターこそ作成予定はあるものの、Rustのみでゲームを作ることを前提としたツールでもあります(bevyエディター自体、bevyを使って作る予定だそうです)。ご興味がある方はRustインストールを参考に環境を整えることをお勧めします。

昔ながらのヘビゲーム

 コードのチュートリアル付のヘビゲームです。餌を食べるごとに尾が長くなり、自分の尾か画面枠に当たるとゲームオーバーになります。ヘビは常時移動するため、上下左右のキーを使って方向だけ指示していきます。スコアはなく、ランダムで出現する餌をひたすら取っていくゲームになります。ヘビゲームは古い時代のものが多く、1976年のBarricadeBigfoot BonkersBlockadeCoMOTION、1977年のCheckmate(同機種にて1978年版のsnake gameも)、1988年のファミコンディスクシステムのレプリカート、ゲームボーイのかこむん蛇などがあります。もちろんプログラミング言語や手段によりコードの書き方はそれぞれ変わってきますが、bevyでは上記チュートリアルのようになります。私自身、この部分においてはまだ勉強中の身です。

AariaToys第1作 - Snake

 AariaToysシリーズの最初の作品として、Snakeを公開しました。上記ヘビゲームから派生したシンプルなゲームです。現在はGitHubのみでの公開のため、各自がRust環境にてコンパイルする必要がありますが、いずれはテキストファイルで設定を変更し、コンパイル環境のない人でも遊べるように改良しようという予定はあります。
 従来のヘビゲームと比較し、いくつかの変更があり、子供が遊ぶブロックのおもちゃのように、ゲーム自体を色々いじり、独自の楽しみ方を追求できるような仕組みになっています。Rustコンパイル環境のある方は、ぜひ一度試してみてください。