カテゴリー
制作

コイン集め終了

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

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

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

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

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

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

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

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

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

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

カテゴリー
制作 日記

排他的コイン

先週に続き以下を実装。

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

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

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

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

カテゴリー
日記

コインを並べる

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

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

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

カテゴリー
日記

成り行きで作業中

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

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

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

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

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

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

カテゴリー
日記

2か月ぶりの投稿

前回の投稿から2か月ブログを放置してしまった。
自己管理のためと言いながら始めたもののこれでは良くない。
Steamで何か公開したいとは言ってみたものの結局具体的に何を作るか決まっていない。
自己管理を目的とするなら週に一回とか、投稿する日を決めないと意味が無いかもしれない。

自己管理がブログの目的というのは後付けか、またはほかの理由があるような気もする。
「行動の理由や目的をやっている本人が分からないわけがない」と多くの人が考えることは容易に想像できるけど、自分は人間の行動を明確に理屈で説明することは極めて困難だと思う。

人工知能の世界にはフレーム問題という言葉があるそうで、かいつまんで言えば人間が何らかの物事について考えるときに、その物事に関係のあるものと無いものをどうやって振り分けているのか簡単に説明できない…という事らしい。専門家によりいくつか異なる解釈があるらしい。
確かに思考過程全てを理論で明確に説明できるならその理論をアルゴリズムとして実装すれば、人間と同じ思考を持つAIを作れてしまうことになりそうだけど、人間の思考を完全に再現したなんて話は聞いたことが無い。
ちなみに人工知能の研究ではゲームやパズルが題材としてよく用いられているらしい。現実世界の問題を扱おうとすると、膨大な情報を処理した上で無限の選択肢から行動を選ばなければならない。
ゲームやパズルの世界なら情報やAIの行動の選択肢が限られており、フレーム問題に直面することは無い。手始めにAIを作ろうという場合に題材として扱いやすいのだろう。

人工知能の話はともかく、ブログを自己管理として書くなら、目標と進捗を定期的に書かないと管理していることにならない。進んでいないなら進んでいないという事を正直に白状しないとプレッシャーが働かない。

Steamでの作品公開とかを目標としてもこれは大きい目標なので、もっと細かい目標に分解する必要があるかもしれない。また、期限が無いと目標を掲げる意味があまり無い。いわゆるマイルストーンというやつを決める必要があるのではないか。
例えば、1年以内に公開することを最終目標として、半年以内までにやる事、一か月以内にやる事、一週間以内にやる事、今日やる事、という感じで目標を決めないと先延ばしにしてしまいそうだ。こういった目標があればやる事が明確になるし、進捗が分かりやすくなりモチベーションも維持しやすいのではないか。

今一度自分なりの目標を考え直してみよう。
ブログの更新頻度は月2回にしておきたいところだけど、それでは少ない気もする。
とりあえず週一での更新を目指してみることにしよう。

カテゴリー
雑記

ニュースと距離を置く

ニュースを見ていると不愉快な思いをすることが多いと感じる。
世の中には身勝手な人間ばかりで、悲しい出来事ばかりが起きているような気がしてしまう。

でも冷静に考えると、それらのニュースを見たことで自分にとって何かを得られたか、行動の変化があったかと言えばこれと言って無い。
怒りたくなったり、悲しくなったり、世の中に向かって不平不満を募らせただけだった。
気分が悪くなるだけならいっそ見なくても良いのではないだろうか。
あまり能天気なのも良くないが、毎日を悲観的に暮らしても良いことは無い気がする。
問題意識を持ったところで、それが具体的な行動につながらないなら意味は無い。

ニュースを見るときにはそれが自分に意味のある情報なのかを冷静に考えるように心がけたい。
報道の仕方により事実が歪曲されることもあるので、客観的な事実は何なのかを意識する事も大事かもしれない。

カテゴリー
日記

アプリ公開の目標設定

多少プログラムができるのでネットでアプリやゲームなどを販売してみたいと漠然と考えるようになって何年も経つけど、これと言って実績が無い。
気の向かうままに何かを作り始めても完成まで至らず、日の目を見ずにお蔵入りした作品ともアプリとも呼べないものはいくつもある。
まずはほんの小さなことで良いから完成させた実績を積み重ねて、少しずつ難しい事や大きいことに挑むべきかもしれない。
販売して収益を得ることが目的なのか、無料でもいいから作品を公開して承認欲求を満たすことが目的なのか自分でも判然としない。半々かもしれない。

今の時代はネットとパソコンさえあれば何かを作って公開することが簡単にできる時代で、他に必要なのは知識と根気。知識より根気の方が重要な気がする。
自分ももう若者という歳ではなくなったけど、80歳の女性が iPhone 向けのアプリを作った事例もあるから、まだまだ遅いということは無いだろう。

公開するためのプラットフォームと、作るアプリないしゲームの概要を決めてこのブログに書いてみよう。
人に見られる場所に目標を書く、いわば宣言すれば三日坊主を防げる…かもしれない。進捗報告などを書いて行けば今までよりはましになるのでは。

公開するプラットフォームとして検討する価値のある候補はいくつかありそうだが、今は公開さえできればどこでもよいので精査する必要は無い。
とりあえず思いついた Steam で公開する。問題があれば後で他に変えれば良い。

どのようなものを作るか決めたい。
会社の業務で仕様や企画を練るのとは違うので、後の事を考えることに時間を割かずに思いつくままに作業を始めてもいいのだが、それを途中で投げ出すことを繰り返して実績の無い今に至っている。
公開する事を前提として、達成に無理の無い目標を考えたい。

カテゴリー
ブログ

ほぼ2か月放置してしまった

ちょっと油断しているうちに1ヶ月以上ブログを放置してしまった。 
書きたいことがあったけど、下書きしているうちに話の着地点が分からなくなってお蔵入りにしたままだった。
そもそもなんでブログ始めたのか自分で分からなくなってきた…。

記事を投稿する際のハードルをもう少し下げよう。
小学生レベルの作文でもチラシの裏でもなんでもいいからまずは投稿する習慣を付けてみよう。
誰かに要求されて書いているわけでもなし、違法な事をしているわけでもない。

ブログとはどうあるべきか?
何を目指して書くべきか?
いやそんなものは書き手の自由であって、決まり事なんて無いのでは?
…といったことを考える事もネタになりそうではある。

カテゴリー
仕事

ソフトとその使い方は作業の目的に合ったものを選ぶべき

エクセルは便利ではあるが…

エクセルは便利だけどあくまで表計算ソフト。なんでもかんでもエクセルでという考えは改めるべきだと感じるようになってきた。

エクセルが不便な点

エクセルで文書を作成しようとすると不便を感じる事がある。

見出し、階層構造が無い

章、節、項などの階層構造を持つ文章を作れない。
列を変えて位置をずらしたり大きささや色を変えたりすれば体裁は整えられるが、これはあくまで見た目の調整であり、階層構造を持たないことに変わりは無い。
文章の構造とデザインとは分けて考えるべき。

目次が無い

目次を作る機能が無いので文書が大きくなったときに読むにも書くにも不便。目次が少なければシートで代用できないこともないが、シートの名前によりタブの大きさが変わるし横一列に並ぶので見づらく、ページ数が増えるとすぐに画面内に収まらなくなる。
上記でも書いたようにシートには階層構造が無いし、節や項を折りたたんだりできない。ページ数も自動で割り振ってくれない。

改行が不便

エクセルは改行が直観的でなく、長文向きでない。
Alt + Enter を使ってセルの中で改行するにしてもセルの幅や高さの調整が面倒。
一つのセルで幅や高さを調整しても、上下左右の関係ないセルにまで影響する。
改行する代わりに文章をいくつかのセルに分けて書く事もできるが、後で文章を変えるときに面倒。
加えて、上記の方法で手間をかけて調整したつもりでも印刷するとずれたりはみ出したりする事が多い。

会社ではこんなファイルがあった

会社の業務で触れたファイルには、適切ではないと思われる方法で作られたワードのファイルがあった。

目次だと思ったら巨大なテキストボックスだった

ワードで作られたファイルに目次があったので目次の機能を使っているだろうと思ったら、巨大なテキストボックスが置いてあった。
表記されたページや章番号なども一つ一つ数字を打ち込んである。
自動的に割り振られた番号ではないため、文書の中身を変えるたびにこれらの数字を手動で管理しなければならない。

ヘッダとフッタだと思ったらテキストボックスだった

各ページの上の方に文書のタイトルや日付、下の方にページ、会社名、発行部署などを記載した欄があったが、各欄がテキストボックスになっていた。
こういう場合はヘッダとフッタの機能を使うべきではないか。

シートを目次として代用している

各シートの名前が “1-10”, “11-20” のようになっており、各シートに10ページ分の内容が書いてある。この方法ではページの削除や挿入を行う時に編集作業が面倒になる。

目的に合ったソフトや使い方のためには網羅的な知識が必要

目的に合わないソフトや目的に合わない方法で作業をすると自分だけでなく他の人の作業効率を下げてしまう。
目的に合ったソフト、目的に合った方法で作業を進める意識を持つべき。
自分自身がそうなのだが、基礎を網羅的に学ばずに場当たり的に方法を覚えていると本来の目的や使い方とは違う方法が習慣になってしまうかもしれないので、一度基礎を学ぶ事も大切かもしれない。
ただし、ワードやエクセル、もっと言うなら Windowsが万人にとっての標準ではないことも頭の片隅に覚えておかなければならない。

カテゴリー
雑記

カメラに残すのも良いけど

12:17 2020/09/21

絶景、面白い場面、珍しいものなどを見るとついカメラに収めておきたいと思うもの。
ただ、カメラを取る事に集中してしまうと目の前にあるものを自分の肌で楽しむ事を忘れてしまいがち。
どんなにうまく取れても写真や映像やはやり写真や映像に過ぎないわけで、今その瞬間の体験そのものとは違うのではないか。
今時、話のタネになりそうなものはとりあえずスマホで取ってSNSに挙げるということは多くの人がやっていると思う。
自分の場合は自衛隊の駐屯地の訓練展示などを見に行くとデジカメで写真や映像に残す。
カメラの移りの良しあしに意識が向いてしまい、肌で経験する事が二の次になっていると感じる。
必死にカメラに残す割りに後で振り返ってみることも余り無い。使っているカメラも決して性能の良いものではない。
見る事よりカメラに収める事が目的だと割り切るのもありと思うし、GoProなどを使って手ぶらで録画すれば済む話かもしれない。
それでも、その場でその瞬間を肌で感じる以上の経験は無いと思う。
それとも、視覚と聴覚だけでなく五感の情報全てを記録に残せる技術でもあればそうでもなくなるのか?
VRやARなどの技術がどんどん進歩していって、実際に経験するのと変わらないような経験の複製が可能になったりするのか?
今のところ、触覚、味覚、嗅覚を再現する技術は実用化される様子が無いし、その場で自分がどんな感情を抱いたかということも記録するのは難しいかもしれないが。
また、客観的な事実の記録と主観的な経験の記録は別物のはず。例えば、気温や湿度を客観的な方法で記録して再現できても、それを熱いと感じるか寒いと感じるかは主観の問題。

いずれにせよ、カメラ撮影に夢中でその場を楽しめないのはもったいない事かもしれない。