淵野アタリ

作品

Space Wandering

配布ページ

概要

大学の授業でチーム開発を行い作ったゲーム.ロケットで宇宙を飛び,配置された星でミニゲームを遊んでメダルを集めるというもの.操作部のプログラムを担当.

工夫

操作部が負う責務として次の2つを設定した.

  1. プレイヤーが思った通りに操作できること
  2. 実行環境によって差を生まないこと

必要な操作の洗い出し,キーへの割り当て,各動作の挙動をチームメンバーと相談しながら策定した.

また,標準実装のkeyPressedには次の3つの問題があり責務を果たせない.また,マウスやタッチパッドによる入力についても考慮する必要がある.

  1. キー入力を1つしか受け付けないので同時押しができない
  2. keyPressedが発火する間隔が環境によって異なる
  3. 長押し動作時に1回目の発火と2回目以降の発火の間にラグがあり操作感が悪い

これらはどれも入力の反映のタイミングに関する問題なのでkeyPressedのラッパーを作り操作の入力と処理の分離を行った.

キー入力とマウス入力をStateに保持し,両方の入力があった場合はキー入力を優先するようにした.そして入力情報を元に1フレームごとの処理を行うstep関数を一定間隔で実行することで環境の差を吸収できた.