カテゴリー
制作

コイン集め終了

前回までで、ステージ内にコインをランダム配置する機能を実装した。
今週は以下を実装。
メインのゲームプレイ画面で実装したのは

  • ステージ内の残りのコインの枚数を画面上に表示
  • コインが無くなるとランダムな位置に出口を出現させる
  • プレイヤーが出口に触れるとタイトル画面に戻る

タイトル画面で実装したのは

  • メニューの選択。ゲームの開始と終了。
  • ゲーム開始はコインの量を3段階から選ぶ。

以上で一応、起動→ゲーム画面に移行→クリア→終了、までの流れを実装した。

他に考えているのは開始から終了までステージをまたいで拾ったコインの枚数を累計する機能。ゲームでよくあるプレイ統計情報的なもの実装してみたいというだけ。しかし、Unityでシーン切り替わり時にオブジェクトを破棄しない方法はすでに使っている。ここに変数を設けておけば記録できるのは当たり前で、実装に多少の手間はかかるが特に目新しい機能でもない気がする。

我ながらしょぼい事しかしていないと思う。
実装に時間はかかっても、現時点で知っている機能だけしか使っていない。すでに知っている機能を再確認して満足しているだけだ。この作品とも呼ぶに値しないものが出来上がったところで特に得られるものは無い気がする。

練習などと言わずに、公開を前提とした作品作りを目指すか、または新しい事や理解の不足している部分を学ぶ事に時間を使うべきではないか。

調べものや実験したことを題材にすればブログのネタになるし、自分にとっても備忘録になるかもしれない。

コイン集めはここで一区切りついたことにして、学習と制作について今一度考え直す方が良さそうだ。

カテゴリー
制作 日記

排他的コイン

先週に続き以下を実装。

  • コインの位置を重複させずにランダム配置できるようにした。
  • ステージ管理用のオブジェクトを用意しコインを配置するときにその枚数を登録することにした。
  • それぞれのコインは他のオブジェクトと衝突して消えるときに上記の管理用のオブジェクトの関数を呼び出し、登録されたコインの枚数を減らす。

次は枚数が0になった時の処理を作る予定。

この文章は第三者に内容が伝わる書き方になっていないと思うけど、あくまで自己管理を目的としているのでそこはこだわらない。同じ作業内容でも文章を書く事に時間を割けばもっと書く事はあるだろうけど、今はあまり時間をかけないようにしたい。

客観的に考えて自分が今やっている作業の難易度は、ちょっと素質があれば中学生でも作れるかもしれない。専門学校生とかならサクッと作れるだろう。 今は作ったものや書いたものに高い完成度を求めず、作る習慣や書く習慣を身に付けることに重きを置くことにする。

カテゴリー
日記

コインを並べる

少しずつ作業中。ひとまず3週連続の更新。

プレイヤーを上下左右に動かして、コインとの衝突時にコインが消えるようにした。
コインをプレハブにし、ステージ開始時に指定枚数のコインオブジェクトをプレハブから生成するようにした。
コインの位置は指定した範囲でランダムに配置され、今は位置の重複を避ける機能を実装途中。
配置した座標を記憶しておき、過去の座標との重複をチェックするか、または配置時にコライダで衝突判定を行い、衝突判定があったら配置しなおすといった方法がありそうだと思い前者で実装中。やろうとしていることは難しい事では無いはずなのだが、集中力が無いのかちょっとつまずいている。やり方を変えるほうが早いかもしれない。

この調子で最低限の機能を実装するのはいつになるのか。土日も意外と使える時間が少ないし、平日に進めようと思うと睡眠時間を削ることになる。ただ、今回はブログに進捗を書くようにしたので今までよりいくらかは緊張感をもって臨めるようになると期待したい。

カテゴリー
日記

成り行きで作業中

何かゲームやアプリを作りたいとは思っているが、何をいつまでに作るかぼんやりとしたままUnityを使い成り行きで作業中。この際面白さやかっこよさは求めず、「画面内のコインを集めてゴールを目指すようなゲーム」でも作ってみよう。そもそも文才も絵心も作曲センスも皆無なので、シャレオツな作品を目指したとして作る技量が無いのだが。これが完成したとしておよそ公開するようなものにはならないと思うので、学習用と割り切る。とにかく必要最低限ゲームとして成り立つものを作る。公開できるような作品を作るのはもっと先になるだろう。

グラフィックやサウンドの素材をどうするか。無料ないし有料の素材を使うのも一つの手だけど、やっぱり人の作ったものではいまいひとつ面白くない。かといって自分で作るとなると技術やセンスが求められるし、時間もかかる…。そもそも作品のコンセプトや世界観が無いまま作ってもちぐはぐなものになりそう。

以前に簡単なドット絵でプレイヤーキャラクターと敵キャラクターのアニメーションを作ってみたことはあるけど、敵を攻撃して倒す機能まで実装したあたりで飽きて投げてしまった。
まず、グラフィックとかキャラクターとかを作る前に起動から終了までの骨組みを実装するのが先の気がする。まずゲーム全体の進行を管理する管理担当のオブジェクトは必要だろう。後はキー操作管理と、表示管理、コライダによるイベント管理、タイマーによるイベント管理とか分けるべきだろうか。小規模なものなら分けないほうが良いような気もするが、作業時の分かりやすさや拡張性を考えると、単純な機能も少し遠まわしな方法で実装するほうが良いような気もする。素材を作るのはシステムの骨組みを作ってからでも良い。そのためには素材を後で差し替えできる作り方にする方が良い。

週一の更新タスクのために内容を整理しないまま勢いで文章を書いてみた。他人にとってはまず読む意味の無い文章だけど、自己管理のためなので問題無し。

しかし、そもそも自分は本当にゲームを作りたいのだろうか?本当に作りたいならとっくに作っているのでは?ゲームを作りたいのではなくて、ゲームを作れる人に憧れているだけのような気もする。

WordPressの使い方もろくに調べないままブログを書いている。そろそろデフォルトのままのデザインを見直したほうが良いかなと思いつつ面倒なので後回し。