今だからこそ好き勝手妄想しながら語りたい真女神転生1の世界【Part1】
- 2018.08.02
- メガテン
真・女神転生が発売されてからだいぶ経った上に、私がプレイしたのも結構後になってからなんだけど、なんとなくストーリーを振り返りながら情報を補間したくなったのでブログで好き勝手書きます。実在の地名が出てくるのは素敵ポイント。今回は吉祥寺編。
あなたのゲームをいち早く完成させるための研究所
真・女神転生が発売されてからだいぶ経った上に、私がプレイしたのも結構後になってからなんだけど、なんとなくストーリーを振り返りながら情報を補間したくなったのでブログで好き勝手書きます。実在の地名が出てくるのは素敵ポイント。今回は吉祥寺編。
Sourcetreeを使ってgithubからcloneしようとしたら「ソースパス、またはソースURLとして正しくありません」の文字が……! 前はできていたのに、急にできなくなったので原因を探ったら~/.ssh/configが原因でした。似たような状況ならconfigファイルを見てみて。
メガテンの外伝として発売された女神異聞録ペルソナ。今は5作目まで出てオサレRPGの名を欲しいままにしていますが、なんと1作目のペルソナ1は3DダンジョンRPGだったんです。学校や病院、オフィスなど、街に存在する建物がその舞台になっていることもあり、探索してして非常に楽しいダンジョンRPGです。
正統派3DダンジョンRPGのメガテンは今からでもやってみてほしいです。ダンジョン部分も良いし、ダークでちょっと背徳感のある世界観も素敵。バーチャルコンソールで遊べるのでぜひ。
世界樹の迷宮でダンジョンRPGにハマりました。ダンジョンRPGって正直移動がめんどくさいし、不自由なことも多いけど、その分想像力が介入する余地が多くていいのよね。私がハマるきっかけになった世界樹の迷宮についてあっさりもっさり紹介しています。
プログラミングをしていると無意識のうちに車輪の再発明をしてしまう場合。自分のアイディアが既に考えられたものだと知るのは辛いけど、先駆者がいないか確認するのは大事。UnityではAsset Storeをうまく使うと車輪の再発明を避けられるので、そのメリットをお伝えしたい。
Inspectorウィンドウへの表示に関係するUnityのAttributeをまとめています。このブログではこれらのAttributeについて詳細記事を作成しているので、使い方を掴むのにも使えます。
HelpURLAttributeを使うことでInspectorウィンドウからヘルプページに飛ばすことができます。1クラスにつき1つのURLを指定できるので、自作クラスのリファレンスページに飛ぶようにすれば、コードを触らない人にもフィールドやメソッドの役割を伝えることができます。
Inspectorウィンドウに表示するフィールドはToolTipAttributeを使ってヒントメッセージを表示すると親切です。カーソルを合わせるだけでメッセージを表示できるので、Inspectorウィンドウ内のスペースも取らなくて便利。チーム内の意思伝達のおともにぜひ。
複数行テキストを扱うなら、[Multiline]もいいけど[TextArea]を使うと便利です。何よりスクロールバーを使えるのがありがたい。テキストエリアの内容確認ならスクロールバーがあった方が何かと扱いやすいです。
Inspectorウィンドウで複数行テキストエリアを表示したい場合は[Multiline]のAttributeを使います。長文を書く場合には通常のテキストフィールドだと狭いため、ある程度大きい複数行テキストエリアにしておくと編集しやすいです。
Buttonコンポーネントを使わないでクリックを検知する方法です。UIを用意しなくても、3Dオブジェクトでクリックを検知できるため、3Dゲームで直接オブジェクトをクリックして何かアクションを起こしたい時に便利。
追加タグを持ったオブジェクトが含まれるパッケージをインポートした時に、スクリプトからそのタグを使って操作するとどうなるか実験してみました。スクリプトリファレンスにも『タグマネージャーで登録してから使ってね』とあるので予想はつきますが、手を動かしてチャレンジ。
バッケージをインポートしたときのタグの動作についてメモ。追加タグを持ったオブジェクトをインポートした直後は追加タグが一覧に追加されていますが、プロジェクトを開きなおすとタグの一覧から消えています。なんだこれ。
SpaceAttributeはInspectorウィンドウで余白を表示することができるAttributeです。関連性のあるフィールドをまとめて表示すれば、どこを触ったらいいのか分かりやすくなります。HeaderAttrubuteと組み合わせればより効果的。
HeaderAttributeを使って、Inspectorウィンドウに表示されるフィールドを整理して表示できます。RPG系のゲームではテストプレイ中にパラメータをいじることも多いと思うので、Headerをうまく使って整理しておくと、操作するべきフィールドがすぐに見つかるはず。
初心者の時に使い方に迷ったDeg2RadとRad2Degの使い方についてメモ。最初はメソッドと勘違いしていたので引数を渡そうとしたりと、大混乱した記憶があります。変換用の値を返すプロパティなので、掛けるだけで良かったのに……orz この記事では簡単にサンプルコードも載せています。
切り上げ、切り捨て、偶数丸めをしたい時にはMathfのCeil、Floor、Roundを使うと便利。使い方も難しくないので、RPGのダメージ計算とかでガンガン使えると思います。Roundは四捨五入じゃないので若干戸惑うかも。
[DisallowMultipleComponent]のAttributeを使うことで、同一のゲームオブジェクトに、同じスクリプトまたはコンポーネントを複数アタッチできないようにします。1行追加するだけで実現できるので、Manager系のクラスには付けておくと安心かも。
アタッチしてないコンポーネントをスクリプトから操作しちゃうこと、よくありませんか? うっかりGetComponentしてエラーを出しちゃう……そんな時には、RequireComponentのAttributeを付けておくのがオススメ! スクリプトをアタッチするときにコンポーネントも一緒にアタッチしてくれるので、うっかりさんも安心です(通販風)