プログラミング、ガジェット、趣味ネタを配信するブログ

ゲーム開発 雑記

【GCC_2019】「大規模ゲーム開発におけるフリーラン実装事例 ~気持ちよく走り続けさせるために~」の感想

投稿日:2019年4月1日 更新日:

今回はGCCで見てきた講演の1つ「大規模ゲーム開発におけるフリーラン実装事例 ~気持ちよく走り続けさせるために~」について
ざっくりとですが、書いていこうと思います。

スライドはこちら

概要

実際のゲームで実装したフリーランの話になります。
下記のアクションに関してどのように対応したかの話をしておりました。

  1. 走り
  2. 方向転換
  3. 段差越え
  4. ホッピング
  5. 壁走り

基本的にスフィアトレースを使用して下記の3つのポイントを考えて
対応していけば、対応できるとのこと

  1. 空きスペースをチェック
  2. 可能フラグをチェック
  3. 実行ポイントをチェック

1.走りについて

昔は走りを実装するときには、走りのループモーション1つで対応していたが、
最近では、「走り始め」「走りループ」「走り終わり」の3つで対応することが多くなったとのこと。

実装の問題点としては「もたつき」が発生してしまったため、その改善として初めに尺を短くしたが
見た目の問題上そこまでもたつきを解決できなかった。

そこで、入力結果をすぐに返すように対応して解決したとのこと。
具体的には、「走り始め」にキャラを残しつつルートの移動を行うように対応。

2.方向転換

こちら入力の問題で、チャタリングが発生(レバー反転時に数フレーム、小さい値がどうしても入ってしまう)
そのため、「走り > 方向転換」ではなく「走り > 走り終わり > 方向転換」といった感じになってしまうので、
タイマーを用意して誤動作をなくした。

また、方向転換の回転不足の問題もあったが、収束率をかけて対応

3.段差越え

初めに、AIのウェイポイントの流用を考えたが、手動で配置するのは面倒なのと、
背景ができないと対応できないため、下記の対応をとることにした。

  1. 足元と少し前方の地面座標をとり、地面に沿ったベクトルを算出
  2. 天井チェック
    単純に上に向かってスフィアトレースを行い天井チェックを行っていた
  3. 前方の壁チェック(空きスペースがあるか、越える壁があるか確認し、壁との距離を出す)
    ※ ここではラインを飛ばしていた。 高、中、低の3か所から前方に向かってレイを飛ばしていた
    ※ 段差越えできる壁フラグも用意してチェックも行っていました。
  4. 高さチェック
    3番で当たった位置の上空から、スフィアトレースを行って、壁の高さ(壁の角の位置を出していた)
    ※ 段差の高さなので、3の壁チェックの低い位置から飛ばしたレイでヒットした高さと上記の高さの差で高さを算出したとのこと

また、モーションの移動値で段差越えをさせようとしたが、壁に引っかかる問題も発生したので下記の対応で解決したとのこと

4.ホッピング

ホッピング用の専用コンポーネントを作成していました。

ジャンプする位置から、ホッピングで乗る棒の位置までは、線形補間で移動させているとのこと。
それだけだと、距離によってスピードが変わるので、走っている速さを最低速度にして移動させて対応したとのこと。

モーションに関しては必ず、ホッピングの頂点で止まるようにする。

5.壁走り

正面壁走りと、側面壁走りの2種で移動させている。

ある一定の高さがある壁に対して、一定の角度で壁に向かって走ると壁走りになるようにしている。
また、壁走り可能フラグもチェックしている。

単純に走らせると壁から浮いてしまったりするため、壁に吸い付く処理を実装。
壁走り中は、壁方向に重力を入れているとのこと。

壁の出っ張りに関しては、3番の段差チェックを使用して、壁走り中でも段差を越えれるように対応していました。

-ゲーム開発, 雑記

執筆者:


comment

メールアドレスが公開されることはありません。 が付いている欄は必須項目です

関連記事

no image

【GCC_2019】「ニューラルネットワークを用いたAIの格闘ゲームへの組み込み」の感想

GCCの講演の1つ「ニューラルネットワークを用いたAIの格闘ゲームへの組み込み」を聞いた感想をまとめていこうと思います。 講演のスライドはこちら 感想 正直、AI(人工知能)とか機械学習とかにある程度 …

ゲーム、アニメ、マンガ等のエンターテインメントイベント 全国エンタメまつり開催!!

この前いった「BitSummit」でもらったチラシに載っていたのですが、2017年8月5日(土)~6日(日)の2日間にわたり、岐阜県岐阜市柳ヶ瀬商店街(JR岐阜駅及び名鉄岐阜駅よりすぐ)でエンターテイ …

C#オープンソース次世代型ゲームエンジン「Xenko」がリリースしてました!

「シリコンスタジオ株式会社」C#オープンソース次世代型ゲームエンジン「Xenko」を正式リリースしたとのことです。 シリコンスタジオでエフェクトツール「BISHAMON」なども作っている会社ですね。 …

no image

CppCheckをVisualStudioで使う方法

静的解析ツールを使用したいと思いフリーのcppcheckを使用してみようと思います。 CppCheckのインストール https://cppcheck.sourceforge.io/ こちらのリンクか …

no image

PeloProjectのBlog立ち上げました!

祝、ブログを立ち上げました! プログラミングとガジェット関連に興味があるので 基本的にその辺りをメインに書いていこうと思います。 ブログ立ち上げまでの手順などもまとめていこうかと考えてます。 ひとまず …

スポンサー 人気記事 最近の投稿