Upgrade to Pro — share decks privately, control downloads, hide ads and more …

ステートマシン(FSM) 〜 複雑さに立ち向かうには

ステートマシン(FSM) 〜 複雑さに立ち向かうには

社内で開催された勉強会の資料です。
x (twitter): https://twitter.com/ssr_maguro

もくじ
[前半]
ステートマシンとは? どんな時に使いたくなるのか?

[後半]
自作ステートマシン・ライブラリの紹介

Avatar for masamichi hatayama

masamichi hatayama

August 16, 2023
Tweet

Other Decks in Technology

Transcript

  1. ステートマシンLT ステートマシンとは 4 Game Programming Patterns に掲載されている、キャラクター 制御の例をもとに説明します。 Game Programming

    Patterns ソフトウェア開発の問題解 決メニュー impress top gearシリーズ Robert Nystrom (著), 武舎広幸 (著, 読み⼿), 阿部和也 (著, 翻訳), 上⻄昌弘 (著, 翻訳) ステートマシンとは? どんな時に使いたくなるのか?
  2. ステートマシンLT ステートマシンとは 8 新たな仕様追加 ‧下キーを押す → 屈む ‧下キーを離す → ⽴ち状態

    屈んだままジャンプできるし、 ジャンプ中に⽴ち状態になってしまう‧‧ 対策する ↓キー 押す ↓キー 離す
  3. ステートマシンLT ステートマシンとは 1 3 ⻑期記憶: HDD 短期記憶: メモリ とすると、⼈間がメモリにロードできる変数は 7±

    2個と ⾔われる(4±1とも)。この調⼦で変数が増えて、それに応 じた状態を制御するのは⾄難の技 【使わなきゃ損】マジカルナンバー7±2と4±1は⼈間が覚えていられる限界【認知⼼理学】社会⼈の教養 https://asu-yoku-laboratory.com/magical-number
  4. ステートマシンLT ⾃作ライブラリの特徴 4 6 まとめ 3. ビジュアライズは⼤事 Unity Editorでのグラフ描画実装が⼤変そうだったので、最初はビジュアライズを考 えていなかった。

    plant umlならすぐに実装できそうだったので実装したところ、⼤変役に⽴った。 ビジュアライズがなかったらカオスになっていたと思う。
  5. 4 9 おまけ - 今後の展望 ‧やっぱりplant umlではなく、unity editor内でノードベース表⽰したい。 リアルタイムに遷移情報を表⽰したい。 ‧stateの重複を許容すると、遷移図が⾒やすくなるのかも?

    【Unite 2017 Tokyo】Unityで出来る『⾒える開発』のススメ 〜スマホゲーム「ららマジ」開発事例〜 | ドクセル https://www.docswell.com/s/UnityJapan/ZJEQ 4 K-unite- 20 17 -tokyounity- 767 27793 #p 55