July 2023
Intermediate to advanced
368 pages
6h 6m
Japanese
前章では、最小限のゲーム「エンジン」を作った。このエンジンでは、メインキャラクターであるRHBを動き回らせ、簡単なアニメーションを表示することができたが、完全なゲームには程遠い。歩き回る世界もないし、アニメーションでは走ることしかできないし、RHBには何の物理現象も働かない。今の段階でゲームにタイトルを付け直すとしたら「RHBと虚無」とでもなるだろう。
このタイトルは悪くないかもしれないが、ゲームとしては面白くない。最終的にはRHBとその犬を、森の中で障害物を飛び越えたりくぐったりさせたい。そのためには、スライディングしたり、飛んだり、走ったりできるようにしなければならない。さらに、RHBが何かを見たり、動いたり、行動する際には、それぞれそうしているように見えるようにする必要がある。
本章では、これらをすべて管理するためにゲーム開発でよく用いられるパターン、「ステートマシン」をRustで実装して導入する。Rustには、ステートマシンに使用できる強力な言語機能があるが、その所有権モデルによる独特の困難さもある。ここでは、一見簡単に見えるif文で書くのではなく、ステートマシンを詳しく紹介する。
本章では以下のことを行う。
Idle、Running、Sliding、Jumpingアニメーションの実現本章を読み終えれば、ステートマシンを使って常に正しいアニメーションが表示されるようにし、さらにアニメーションをきれいに切り替えられるようになる。
本章で新たに必要になるクレートや、技術的な要素はない。本章のコードはhttps://github.com/PacktPublishing/Game-Development-with-Rust-and-WebAssembly/tree/chapter_4 ...
Read now
Unlock full access