カテゴリー
制作

UnityでHold on…が消えない→プロジェクトのパスが全角文字を含まないようにすること

Unityで作業していると、”Hold on…(busy for hh:mm:ss)”のプログレスバーが出て、放っておくといつまでも消えなくなる症状に悩まされていた。ツールバーのメニューなどをクリックすると消えるので深刻ではないが、スクリプトを少し編集するたびに出るので作業効率を悪化させてしまう。

消えないプログレスバー

ゲームプロジェクトのファイルパスに全角文字を使わないように直したところ症状が出なくなった。

カテゴリー
日記

部屋を整理せねば

部屋の不用品を整理しなければならない。
ネットでの衝動買いなどを続けるうちに、踏み場もないというほどでは無いが床の見える面積が少なくなってきた。冷静に考えると部屋を圧迫しているこれらの物のうち本当に必要なものはほとんどないはず。

部屋が物であふれる原因は、住む人の物事に対する考え方ではないか。必要か、重要かといったことに結論を出さず、仕分けもせずにただ床に積み上げたり引き出しに詰め込んだりしていると物は増える一方だ。

詰みあがった山の中でも、下にある物や奥にある物は最後に見たり触ったりしたのが何年前かも分からない物が珍しくない。見もしないし触りもしないなら手放しても特に困らないはず。

アクセスしにくい空間に物があると尚の事仕分けが面倒になる。捨てないとしてもせめてアクセスしやすくする、または中身を把握しやすくするために収納を工夫する方が良いと思われる。

不要な物や重要でない物を何でもかんでも溜め込んでおくと、本当に重要なものを見逃してしまうかもしれない。恐らく、人生についても同じことが言えるのではないか。

物が少ない方が管理する手間やストレスに悩まされず、浮いた時間は別な事に使える。もしかすると物を所有する事よりも物への執着を持たずに済む事の方が幸福なのでは…。

そもそも人間はいずれ死んでしまうので、いずれは持っているものは全て手放すことになる…というのはさすがに極端な考えか。自分はそこまでストイックにはなれない。

カテゴリー
制作 雑記

知らないことは多いが使える時間は限られている

ゲームを作るというのはゲームという分野で考えれば「作る側」の立場を意味する。

しかし、ゲームという分野に限定せずにソフトウェアという分野で考えるとUnityやUnreal Engine、その他のツールをただ使えるだけではなくて作れるようでなければ「作る側」に立っているとは言えない。

そんなことを考え始めてたまにはUnityを離れて何か学習しようと思ったが、理解していない事があまりに多すぎる気がしてめまいがしてきた。

例えばVisual Studioなどを立ち上げて、新しいプロジェクト→Windowsアプリの作成とクリックしていくと、とりあえず真っ白なウィンドウが表示されるだけのコード一式が勝手に作られるのだが、これも結局与えられたツールを使っているだけだ。本当の意味での「作る側」はこのVisual Studioのようなツールそのものを作れる人を指すはず。プロジェクトの作成サンプルは他にも様々なパターンが用意されているが、自分はそれらの使い道を全て理解する事すらできていない。

だからといって作る側という考えを極端に突き詰めると、パソコンやCPUを自分でゼロから作るという話になりかねないが、それは自分のやりたいこととは違う。プログラミング言語自体を自分で新たに作るというのも違う。

作りたいのはコンテンツなのかツールなのかを考えて学ぶ事を線引きしないと時間が足りないように思う。世間の優秀な人が優れたツールや部品を作ってくれているなら、それを上手く使いこなせば良いのではないか。車輪の再発明も学習のためなら無駄ではないが、限られた時間で何を学ぶかという優先順位は意識しておくべきでは。

そんな仰々しい話をする以前に、コンテンツすらまともに完成させたことが無いのが今の自分なわけだが…。昨今、ゲームを作って公開するためのツールや環境は整っているので、やるかやらないかという意思の問題のはず。

各種ツールの使い方を完璧に理解するのも楽ではない。ツールの使い方を覚えることが目的にならないように、必要な機能を見極める事も意識するべきかもしれない。ツールはあくまで手段である。

カテゴリー
制作

失速してきた気がする

前回に続き、スコアを加算する機能を追加したが他には特筆するべき進捗が無い。

そもそも何を競うゲームなのかも決まっていない。手を動かすよりアイディアを出すことにも時間をかけるべきかもしれない。

画面左上にスコアを追加
カテゴリー
制作

誘導弾その他諸々追加

少しずつ機能を追加中。

  • 敵生成時に、移動速度と体力の異なる敵を2種類選べるようにした
  • 自機の被弾機能と体力を追加
  • 敵撃破時に一定の確率により2種類のアイテムを生成できるようにした
  • 生成したアイテムに自機が触れると消えるようにした
  • アイテムのうち一つは自機の体力回復を想定した機能を持たせた
  • もう一方のアイテムは拾うと消えるが効果は未設定
  • キー操作で自機の武器を切り替えられるようにした
  • 武器は高威力、高速連射、誘導弾の3種
  • 動画では聞こえないが自機や敵が発砲する際に効果音を再生するようにした
色々機能を追加

今後追加したいものは下記。

  • 難易度を考慮した上での敵、アイテム、武器の追加
  • 敵撃破時のスコア加算
  • 体力、武器選択、スコア表示などのUI
  • キャラクターや背景の外観上の作りこみ

背景やキャラクターのモデルは凝ったものを作ると途端に作業量が増すと思われる。そもそも技術やセンスが無いのが厳しいところ。

カテゴリー
制作

動く敵を生成

前回作成した敵機を画面下方向に移動するようした。Rigidbodyを取り付け、空気抵抗をゼロにし、画面下方向へのベロシティを設定しているのみ。これをプレハブ化して画面上部のランダムな位置から生成するようにした。

この程度の内容なら集中してやれば10分足らずできたのではないかという気もする。週末のまとまった時間を当てにせずに、毎日必ずソースコードをいじるという習慣を付けるべきなのかもしれない。

敵の射撃や生成の間隔、移動速度などで変わるが今の設定で自分が操作すると蜂の巣にされてしまう事が分かった。

カテゴリー
制作

敵を作って弾を撃たせてみた

自機の位置を補足しながら弾を撃ってくる敵を作った。自機の攻撃で破壊できる。

Edit→ProjectSettings→Physics→LayerCollisionMatrixから衝突判定を行うレイヤーを設定できる。自機も敵も同じだが衝突判定を考えないと自分で撃った弾が自分に当たってしまう。

次にやるのはエフェクトや効果音を作るとか、敵が動き回るようにするとかだろうか。

というか、もっと作業の効率を上げなければいけない気がする。

とりあえず自機を狙って弾を撃ってくるようにした。
カテゴリー
制作

俯瞰型シューター的なやつ

最近だれてしまい、ちょっとブランクがあったがUnityでの作業を再開。予約しておいたダイイングライト2はまだ一度も起動していない。ちょっとした気分転換のつもりでも起動しようものなら、当分他の事が手につかなくなる気がする。

何とか開発負荷の少ないもので一つの作品を完成させるために仕切り直すことにする。一人称視点とか立体的なマップとかにするとハードルが高くなるので、俯瞰視点のゲームを作ろうとしている。とりあえず自機の移動と方向転換を実装して、プレハブを基に弾を撃つ機能を実装。自機の方向に関係なくワールド座標のZ軸方向に弾が飛んでいたが、transofm.forwardとするべきところをVector3.fowardとしていたのが原因だった。初歩的な間違い。

基本形状の張りぼてだが、とりあえず歩いて撃てる。コントローラはDualShock4を使用。
カテゴリー
日記

チェルノブライト

PSストアで見かけたチェルノブライトを事前情報無しに買ったが面白い。

S.T.A.L.K.E.Rとかメトロ2033のような、ストルガツキィの小説を彷彿とするFPSでチェルノブイリ原発のあるプリピャチが舞台となっている。実際に立ち入り禁止区域を3Dマッピングして作っているとか。

ストーリーの所々で判断の難しい二者択一を迫られ、八方美人は無理。ただし、この手の選択を迫るゲームには珍しく、謎の物質チェルノブライトを消費して過去の選択を改変できる。

この土地のキノコや薬草は銃火器のカスタムパーツ、アーマー、ハイテク機器の材料になったり、果てはストーリーの根幹にかかわる物質であるチェルノブライトを作ることができたりする。

カテゴリー
ブログ

ブログを備忘録にする

巷ではブログを備忘録として使っている人が多いようなので、自分も技術的な事を調べたらブログのネタにしていこうと思い始めた。Unityとかいじっているときに、久々に使う機能の使い方を忘れてネットで調べるといったことが何度もある気がするため。といってもガチガチなマニュアルを作るわけでは無くて最低限の要点をまとめた簡単なメモくらいのもので済ませるつもり。

仕事でエクセルのマクロやバッチコマンドなどの使い方を調べることがあるが、これだってブログのネタにできるはず。業務そのものの具体的な内容は個人情報や社外秘情報が含まれるのでブログには書くべきでないけど、前述のようなパソコンのノウハウなどであれば問題無いはず。ということは、これらを勉強するとブログのネタ作りにもなり、業務効率の改善にもつながり一石二鳥かもしれない。

日頃の業務で、自動化すればヒューマンエラーも無く時間を節約できると思うことがちょくちょくあるのだが、目の前の業務の消化を優先してしまいなかなか手を出す気になれない。ブログのネタも兼ねるなら少しは動機づけになるだろうか。