講義制作
raylibミニゲーム
raylibを用いて作成したミニゲーム。矢印キーとスペースキーで操作し、障害物をよけながらゴールを目指す
デモ動画
デモ動画(最終ステージ)
使用技術
C言語
工夫した点
通常のステージ攻略ゲームの要素に加えて重力を反転できる操作を追加した。
ユーザーは好きなタイミングで重力を反転させてステージを進むことができる。
これによってステージのクリア方法が様々に生まれることを期待した。
また、C言語ではあるがオブジェクト指向に倣ってある程度機能ごとに責務を分離することにした。
学んだこと
raylibというライブラリでグラフィックを伴ったミニゲームが作成できる。
壁や床をすり抜けないためには毎フレーム当たり判定を計算する必要がある。
構造体や列挙体を用いて状態管理を行うとコードが書きやすく便利だった。
問題点・課題
講義課題であるため作成時間が十分に確保できず保守性の低いコードとなっている。
具体的にはグローバル変数を局所的に用いたり、一つの関数に膨大な量の仕事を任せたり、マジックナンバーを多用していたりである。
また敵がいないと当たり判定ロジックが回らなかったり、うまく着地ができないことがあったりもする。
堅牢で正しく動くゲームを開発するとなると問題になる点であると考えた。
加えて単純にステージ数が5つと少なく、ユーザーが満足できる体験を提供するにはさらなるステージやギミックの追加が必要と考える。
← Worksに戻る