旧プログラマーによる日曜プログラミング日記

趣味は作曲、自分で一から作りたがりのユーザIT子会社の旧プログラマーによるリハビリのための日曜プログラミング日記です。

Phaser3+typescriptでSRPGを開発してみる #013 ユニットの移動(3)

しばらくぶりです。色々と忙しく、しばらくぶりになってしまいました。 仕事でもSpringBootでWebアプリやバッチを開発することになったり、プライベートではコロナ禍におけるレコーディングオンラインセッションに参加、 そのあとはコロナが弱まったことで飲み会等で、このブログを執筆するどころか、SRPG開発もかなり中断してしまいました。

それにも関わらず、見てくださる方がかなりいらっしゃって、大変嬉しい限りです。

ということで、SRPG開発は再開できていないものの、以前作ったネタでHatena Blogを書くことでリハビリしながら、ゲーム開発に戻っていきたいと思います。

本題

前回は味方ユニットを動かせる領域を表示する、という地味な内容でしたが、今回はTweenをついに動かそうと思います。 今回は、相手(敵)側も自動で動かしたいと思います。

ユニットの移動(3)

  • 本題
  • ユニットの移動(3)
    • 味方ユニットの移動
      • 動かすユニットの選択と動かす先の設定
    • 敵ユニットの自動移動
    • まとめ
    • 過去の日記
続きを読む

Phaser3+typescriptでSRPGを開発してみる #012 ユニットの移動(2)

前回はTweenを利用してユニット(sprite)を動かすことをやりましたが、今回は、ユニットを選択して移動できる範囲(可動領域と呼称しましょうか)を出すところをやってみたいと思います。

ユニットの移動(2)

  • ユニットの移動(2)
    • 可動領域の出し方
    • 可動領域の洗い出し
      • ユニットタイプごとの最大移動力の定義
      • ユニットタイプごとの地形による移動力の定義
      • 移動可能なセルの洗い出し
      • 【ご参考】移動可能なセル洗い出しの汎用アルゴリズム
    • まとめ
    • 過去の日記
続きを読む

Phaser3+typescriptでSRPGを開発してみる #011 ユニットの移動(1)

今回は、ユニットを動かしてみます。カーソルでユニットを選択して動ける場所を表示し、実際に動かす、といったことと、敵ユニットの場合は勝手に動いてもらう、とやらなければいけないことが山積してます。

ということで何回かに分けて進めたいと思います。

ユニットの移動(1)

  • ユニットの移動(1)
    • #009の反省
    • Tweenの利用
      • ポイント
    • まとめ
      • 過去の日記
続きを読む

Phaser3+typescriptでSRPGを開発してみる #010 各メソッドのコールと状態遷移

今回は、ちょいとブレイクタイムして、今まで調査してきたものを踏まえて、Phaser3のSceneクラスの振る舞いと状態遷移を整理したいと思います。(ネタの調査・試行が追いつかなくなってきたのが、バレますね。。)

あまりにデバッグがやりづらかったので、デバッグモードも作ってみましたので、ご紹介させていただきます。

各メソッドのコールと状態遷移

  • 各メソッドのコールと状態遷移
    • 各メソッドのコール
    • updateの実装パターン
    • 【応用】デバッグモード
    • まとめ
      • 過去の日記
続きを読む

Phaser3+typescriptでSRPGを開発してみる #009 カーソルの移動

今日は、SRPGだとお馴染みのカーソルの移動です。RPGでも使えますが、RPGは常に主人公を動かすと思います。SRPGの場合はカーソル動かして、動かしたいユニットを選ぶUIが多いように思います。

カーソルの移動

  • カーソルの移動
    • キーボード入力方法
      • (1) 上下左右
      • (2) それ以外
    • カーソルの宣言
    • まとめ
      • 過去の日記
続きを読む

Phaser3+typescriptでSRPGを開発してみる #008 データモデル(ユニット編)

今日はユニットのデータモデル設計を進めようかと思います。

ユニットのデータモデル設計

  • ユニットのデータモデル設計
    • SRPGで必要な要素
    • typescriptでの実装
    • まとめ
      • 過去の日記
続きを読む

Phaser3+typescriptでSRPGを開発してみる #007 ファイルの中身のキャッシュ

今日はファイルのキャッシュということで、こちらもPhaser3だと簡単に実現できますが、それを使いやすい形でtypescriptで実現するには、多少工夫が必要になるかと思います。

ファイルの中身のキャッシュ

  • ファイルの中身のキャッシュ
    • 本日のプログラムソース構成
    • キャッシュの必要性
    • Phaser3におけるキャッシュ
    • 一般的なJSONの場合
    • Singleton(シングルトン)パターン
    • SRPGに使うと
      • 今回のポイント
    • まとめ
      • 過去の日記
続きを読む