投稿記事

籠城ゲームの記事 (98)

竹林ソフト 2023/12/05 20:00

ねこ巫女籠城ゲーム開発(雑多なタスクに着手)

今回は雑多なタスクを片付けていきます。

↓ 今回の作業前の総チケット数と完了チケット数

総タスク数と完了したタスク数の差が広がっていくのはよくないので、少しでも片付けようと思います。

やったこと

  • ボタンなどをクリックしたときのクリック先に操作キャラが移動しないようにした。
  • 1, 2, 3 キーで操作キャラが切り替わらないのを修正した。
  • Ctrl+s 押下の S キーで画面が移動しないようにした。
  • 保存時に表示する UI アイテムを作成した。

  • 土塀を MagicaVoxel で作ったモデルに置き換えた。
    - 今までのモデルは狭間が大きすぎたので。

↓ ただタイトル画面で狭間がほぼ見えなくなってしまった(逆光&白黒なので)

↓ 裏側からなら見える(見えても仕方がないけど)

  • VRoid Studio 製のキャラモデルで髪が2色になっていたのを修正した。

    やってみて、わからなかったこと

  • VRoid Studio 製のキャラの脇がちらつくのを修正したかった。
    - 衣装が原因なのか、そういうものなのか理解できてない。

アニメーションしたときにテクスチャのシワの見え方が急に変わってちらついている気がするのですが、また後で調べます。

まとめと今後の予定

今回は「やればすぐ終わるでしょ」と思っていたタスクに着手して片付けました。実際に着手したら難しくて後回しにしたものもあります。またいつか着手します。

↓ 今回の作業で、見てわかるくらい「完了したタスク」が増えたので大変よいです。

次回はまたゲームとして遊ぶためのタスクに着手していきます。がんばります。

竹林ソフト 2023/11/28 20:00

ねこ巫女籠城ゲーム開発(石垣の内側への盛り土)

だいたい考えたので、石垣の内側に盛り土するあたりを実装していきます。
具体的には「石垣の内側に盛り土できるようにする。そのときに盛り土の傾斜制限は無視する」を実装していきます。

やったこと

前回の記事で石垣の上に建物を建てるために「追加の地面の高さ」の概念を導入したのですが、その「石垣が提供する追加の高さ」と盛り土の高さが同じになるよう強○します。

というか、なんやかんやで実装し終えたので結果だけ紹介します。

↓ 変更前: 地面の変更エリアが石垣の縁にあっても関係ない。

↓ 変更後: 石垣の高さまで地面が盛り上がる。

大変よいです。
今回の機能で盛り土した範囲に草が残っているのは、後でまた修正します。
そして、とりあえず実装できたので懸案だった高い石垣内を盛り土で塗りつぶすこともできるようになりました。

↓ 高い石垣内に盛り土できた様子

ただ、今は地面の変更エリアをドラッグするときのカーソル位置が地面で、石垣があるときに地面のカーソルが見えないとかの気付きも残っていますが、これは見た目の問題なのでまた後で調整します。

まとめと今後の予定

ここまでで建築について石垣に必要になる特別な処理の実装が終わりました。大変よいです。
次回は、次回はどうすっかな。次回の記事で改めてタスクを書き出してからまた着手します。がんばります。

竹林ソフト 2023/11/21 20:00

ねこ巫女籠城ゲーム開発(石垣の内側の地面の高さの処理)

石垣に関係する建築処理のうち残っている「石垣の内側まで盛り土できるようにする」に着手します。

やりたいこと

ゲームでの石垣は2種類あって、石垣ブロックと裾のある石垣です。

↓ 裾のある石垣を配置した例(裾の見た目はまだ作ってない)

↓ 石垣ブロックを配置した例

説明は省いて思ったことを列挙すると

  • 石垣ブロックは 1m, 2m, 4m を用意するつもりだったが 4m はなくす。
    - 盛り土の傾斜の角度上限が 45 deg なので、4m の石垣の内側に盛り土できないから。
    - 裾のある石垣にも 4m の高さがあるので、それでいいことにする。
    - 石垣を建設した後に盛り土するためには特別な処理が必要になる。

  • 裾のある石垣を建築したときに、石垣の内側の地面の高さを石垣と同じにしてしまう。
    - この実装を試して、どうなるか確認する。

です。
石垣と盛り土については特別なルールが必要になりそうですが、あまり複雑なルールにするとプレイヤーがわかりにくいし実装もめんどうだしで、実際にどうするかはもう少し考えます。

↓ 4m の石垣と 1.5m の自キャラとの比較

ついでに石垣と自キャラを並べて比べてみました。縮尺はよいと思います。

石垣の内側がどこかを定義する

裾のある石垣のどの点が内側に相当するかは、

  • 建築する範囲の頂点のうち、裾を構成する頂点を除いたところ。

になります。
これは自動的に計算できるので実装してしまいます。
と思ったのですが、やる気が尽きたので石垣の処理を行うクラスを定義するところまで行いました。

まとめと今後の予定

石垣と盛り土の処理ですが、実装するつもりで考えてみたところ追加で考えることが多いのに気付きました。
もう少しどうするか考えてから改めて実装に着手します。次回までに考えがまとまらなければ、なにか適当なタスクに着手します。がんばります。

竹林ソフト 2023/11/14 20:00

ねこ巫女籠城ゲーム開発(石垣の処理)

前回の記事で書き出した石垣の処理を実装していきます。

やったこと

石垣の上に建物を建てられるようにする

とりあえず、普通の建物は石垣の上に建築できるようにしました。

よいと思います。

問題は壁です。
↓ 現時点で石垣の縁に壁(木柵)を建築すると、こうなります。

壁はタイルの境界線上につくるのですが、壁が石垣の上にあったり地面の上にあったりが混ざってしまっています。

これについては「壁の始点と終点の2点が石垣の辺の上にあるときには石垣の上に建築する」という動作になるようにします。壁のパターンは上からみて縦横斜めしかないので、それぞれで場合分けをして適切に処理するようにします。

↓ そして、調整した結果がこれです。

よいです。

石垣の高さまで盛り土できるようにする

地面の高低差の編集においては地面の傾斜が 45 deg までという制限があるのですが、この制限が有効だと高い石垣の内側を石垣の高さの地面にできません。

これについて考えたアイディアの概要は「石垣の内側の地面の高さは石垣の高さと強○的に同じにしてしまう」です。もう少し考えてから実装していきます。この実装は次回にやります。

まとめと今後の予定

懸案だった石垣のための処理のいくつかを実装しました。大変よいです。
次回も引き続き石垣についての特別な処理を実装していきます。がんばります。

竹林ソフト 2023/11/07 20:00

ねこ巫女籠城ゲーム開発(残タスクの列挙と石垣まわりの実装)

「ゲームとしてプレイできるようにする」という目標のために、何を実装するのかを確認しました。また石垣の現状の動作を確認しました。

残タスクの確認

残タスクを箇条書きしてみて、次着手することを決めます。

建築まわり

  • 石垣の仕様を決めて実装する
  • 建築の操作を行って違和感を修正していく。
    • 建築するときに補助線を描画するとか。
  • 建物の見た目を作る
    • MagicaVoxel で建物モデルを作っていく。
  • 建築指示を行った建物がワーカーで建築されていくようにする。
  • 水が流れて広がる処理を実装する
  • タレットを配置できるようにする
  • 橋や櫓門といった階層構造の仕様を決めて実装する。

防衛まわり

  • 敵が群れとして押し寄せてくるようにする。
  • 壁の移動コストと移動メッシュを敵の経路探索に反映させる。
  • 敵が建物に侵入したときの仕様を決めて実装する。
  • 敵のモデルを何にするか決める。
  • 敵味方が攻撃するようにする。
  • 自キャラが味方の軍勢を召喚して操作できるようにする。
  • 自キャラの攻撃やスキルを決めて実装していく。
  • 開門をどうするか仕様を決めて実装する。

ゲームの仕様決め・調整

  • 敵の増え方とどう攻めてくるかを決める。
  • ゲームクリアをどう提供するかを決める。

着手しようと思ったこと

まだまだ残タスクが多いのがわかります。そしてとりあえずは建築と防衛のタスクに着手していこうと思います。

石垣と石垣ブロックについて

このゲームでは石垣は「その上に建物を建てられるもの」として扱います。また、石垣はパーツで提供します。

↓ 現状の石垣パーツ

今回は、現状までの実装で石垣を作ってみて何が問題か確認しました。

↓ 建築してみた石垣

  • 問題だと思ったこと
    • 地面を石垣の高さまで盛り土できない。
    • 石垣の上に建物を建築できない。
    • 建築プレビューの半透明の建物が視認しづらい

個別に何が問題で、どうしたいか書き出します。

地面を石垣の高さまで盛り土できない

現状では盛り土による傾斜が 45 deg に制限されているので、高い石垣の内側の地面を石垣と同じ高さにできません。
これに対する修正内容は

  • 石垣の内側の斜面での盛り土の角度制限をなくす。
    • ただし、裾がある石垣の場合、裾がある側には盛り土できないようにする。

です。
すっごい面倒そう…

私は「どうすればいいか即答できないことは実装できない」と思っているので、これはどう実装すればいいかもう少し考えてから着手します。

石垣の上に建物を建築できない

現状では建物を石垣の上に建築できません。
これについての修正内容は

  • 石垣のある位置が地面として扱われるようにする。
    • ただし、裾がある石垣の場合は裾側のタイルには建築できないようにする。

でしょうか。
つまり「地面として扱われるタイル」の定義が必要になります。めんどいですね…

これについては Building クラスに「地面として扱う高さ」「その高さとして扱うタイルのインデックス」を登録できるようにしました。

よいです。
この設定を使った実装はまた後で行います。

建築プレビューの半透明の建物が視認しづらい

石垣と直接の関係はないのですが、石垣と半透明の建物が重なったときに視認性がすごく悪かったのでどうにかします。

具体的には現状の半透明の描画に加えて「緑色のアウトラインを描画する」という実装にしようと思います。

単に緑色の半透明にする描画も試してみたのですが、こんな感じになってしまって ここから修正していくのも大変そうだったのでアウトライン描画の追加でいいことにしました。

↓ 半透明の緑色で描画したもの。地面の色と相まって見づらい。

shader に詳しければ「単色の緑の半透明で描画しつつ、エッジが目立つようにする」とか簡単に実現できるのかもしれませんが、私が詳しくないのでアウトライン描画を追加してみます。

これについては既存の実装を少し変えるだけなので試してみました。

ましになったと思います。
追加の気付きとしては「建物を建てるエリアの地面タイルも強調表示した方がいい」です。これはまた後で作業します。

まとめと今後の予定

今回はタスクとして何が残っているかを確認しました。よいと思います。今後も定期的に確認していきます。また、石垣の処理について何を実装すべきかを確認しました。これもよいです。
次回はこの石垣の処理の続きに着手したり、石垣の見た目を用意したりしたいです。がんばります。

7 8 9 10 11 12 13

月別アーカイブ

限定特典から探す

記事を検索