オセロ制作記録 第2章:6日目~10日目

6日目:レベルデザイン1

[update]機能修正

  • 石を置いてひっくり返すときに時間をおいて色が変わるようにした。
  • ひっくり返している間、新しく石を置けないようにした。

[fix]不具合修正

  • ひっくり返した石の周りにもマスが生成されるようにした。

面白くしていく。

昨日までで最低限オセロらしくなった。石を置ける場所も制限できるようになった。

ひっくり返すときに時間差も付けてみたり、その間は石を置けなくしてみたり。

ただ、ゲーム性が無い。石を置いて色も変わる。今はUIも何も作っていないが、仮にオセロの石の数を表示したとしても、ゲームをしている感覚にならない。タッチしたら石が置かれているがそれ以上の体験が無い。

石を置くときにアニメーションを付けたりする予定ではある。動きがヴィジュアル的に付加されれば、良い体験がプレイヤーの中で生まれるかもしれない。

しかし、まずゲームシステムが物足りない。

石を置きあうだけ。

リアルタイムに石を置いてひっくり返しまくるオセロは面白いかもと思ったが、

実際に形にしてみると、タッチ回数を競うだけのゲームになってしまった。

元のオセロゲームは角を取れば有利になるもの。そして、ルールとして、ひっくり返せる石が無いマスには石を置けないし、当然だが連続して石を置くことも出来ない。

角を取るためには、その制約の上で、相手よりも先を読んで石を置く必要がある。

テーブルゲーム全般に言えるが、頭を使う楽しみがある。石を連続で置けないという強い制約が頭を使う機会を増やしている。

制約を増やしてルールを作りゲームとして成立させたい。

何か制約を付ける必要がある。

思いつく制約のリストを挙げておく。

  • 1度置いたら次の石を置けるまでに時間の間隔をおく
  • 置けない場所をタップしてしまったらペナルティを作る(次の石を置けるようになるまでの空き時間など)
  • 沢山の石をひっくり返したらペナルティを作る(石をひっくり返すアニメーションが終わるまで次の石を置けないなど)
  • 普通のオセロ通りターン制にしたら?

考えてみたが、石を置ける時間に間隔を作ることしかペナルティの内容が思いつかない。工夫できそうな事といえば、ペナルティの発生条件くらいか。

もう一つのペナルティとして石が相手の物になるとかもあるけど。

間違って相手の石しか置けないマスをタッチした場合は、相手の色で石が置かれてしまうペナルティとか。

考えてみよう。

それはさておき、

ここまで、Androidの端末にもインストールしてUnityEditorとオンラインで動作を確認してみたが、

問題なく同期できている。

感激している。

7日目:レベルデザイン2

[add]新規追加

  • デバッグ用にOnGUIにテキストを表示するコンポーネントを作った。Singletonにしてどこからでも呼べるようにした。
  • 相手のマスを誤タップしたときの判定処理を書いた。

[fix]不具合修正

  • マスが生成されない不具合の修正をした。

どうすれば面白くなるか考えていこう。

昨日までで制約を増やしたがまだゲームにならない。

相手しか置けないマスを間違えてタップしたときのペナルティを作成してみる。

動画ではカーソルが見えないので分かりづらいが相手側しか置けないところをタップした。何もペナルティは実装してないが、判定は出来ている。

それと、マスが生成されない不具合もあった。座標のXとZを書き間違えるという凡ミスだったが、1時間弱失った。


今までも素人なりにアプリを作ってきたけど、どのアプリも途中まで制作が進むと「これ面白いのか」と思うようになる。

今、その波が来た。

まったくつまらん気がする。

いくらでも面白くできる要所はあるはずだけど。

このまま制作を続けて、プレイした人が楽しい体験のできるアプリが完成するんだろうか。

そんな不安を毎回抱えつつも進捗を重ねていってるんだけど。

いつか日の目を見れるように努めるしかないが。

8日目:レベルデザイン3

かなり進まなかった。

中身は出来てきたから、見た目をにぎやかにしてやろうと思ったが、オセロをひっくり返すアニメーションを付けてみようと思ってDOTwwenを使ってみたが、繰り返し使う方法が分からん。

アセットはこういうことがあるから困る。自分の理解の浅さが原因なんだけど。

Gitのコンフリクト解消とrebase -iを使ってコミット履歴の修正をやった。今までバックアップ程度にしか使わなくて、入り込んだ使い方を避けていたけど、やっぱり覚えると便利さがマシマシ。

あと献血してきた。

9日目:ビジュアル修正1

[add]新規追加

  • オセロのコマをひっくり返すアニメーション
  • 石を置くときのアニメーション

[update]機能修正

  • アニメーションはDOTweenを使わずAnimatorを使う
  • マスの余白を修正できるようにした

アニメーションはAnimatorコンポーネントを使った。ひっくり返すだけの簡単なアニメーションだし、DOTweenを使わず最初からこうしとけば良かった。

何かと動きが遅く感じる。

速度をいじっただけでよくなるだろうか。

簡単なアニメーションを付けただけだけど、やっぱり物足りない。

カメラの視点も真上からじゃなくて変えてみようか。

10日目:勉強:NewInputSystemについて

ピンチインアウトでカメラの位置を変えてみようとした。

今まで通りのInputシステムを使っても良いんだけど、新しいものを使っていく。いずれ変わっていくだろうし。

UnityのNewInputSystemを使ってみる。Preview版だけどバージョンが1.x.xになってるので大きな変更はなさそうだし。

しかし、使い方を覚えようとしたら丸一日潰れてしまった。