Carrion – カスタム レベルの作成方法
マップ作成のガイドです。どれだけ高度になるか見ていきますが、最初は基本的なものにとどめます。
カスタム レベルの作成ガイド
必要なファイルとプログラム
まず、最も重要な質問:マッピングを開始するには何が必要ですか?
- 簡単!ここからダウンロードできる無料のマップ エディター Tiled が必要です。
注:ゲーム全体が Tiled で作られていることをご存知ですか?
- Tiled を取得したら、私が作成したオブジェクトのコレクション用の最新のデバッグ マップ (執筆時点では V8) を入手してください。複数のレベル タブを開くことができるので、レベルにコピー アンド ペーストするだけです。
- 次に、必要なすべてのレイヤーと正しい設定を含む空のファイルを簡単に作成できるため、空のファイルが役立ちます。
さて、これを読めば、Tiled と Debug Map (必要に応じて空のファイルも) が揃っているはずです。
もしそうなら、読み続けてください。
最初のレベルの準備
もちろん、新しいプログラムとその仕組みに慣れるまでには問題が生じる可能性がありますが、シンプルに保つように努めますのでご安心ください。
- ここで、デバッグ マップと空のファイルをレベルとスクリプトに移動します (レベルでは .json、スクリプトでは .cgs)。
- では、楽しみのために続けましょう。フル ゲームの任意のレベルを開きます。うーん…赤十字が多いですね。 CMD に移動し、#tutorials に移動してゲーム全体の TileSet をダウンロードし、TileSets の下の Content フォルダーに入れるだけです。
- または、自分で tiles.xnb を抽出します (ただし、tiles.png は必ず TileSet フォルダーに保存してください)。
- タイルがあるはずの場所に赤い十字がまだ表示される場合は、右側の下部にタイルセットがあるはずです。レンチをクリックしてプロパティに移動してください。
- 新しいタブが開きます。上部の [TileSet] -> [TileSet Properties] をクリックすると、左側のタブが変更されます。
- そこに「Image」と表示されているはずです。次に、TileSet フォルダー内の tiles.png を選択します。
- すべてを正しく行うと、タイルセットは次のようになります。
- さて、準備の最後のステップは… レベルのアイデアを考えることです!何を作りたいですか?どんなテーマ?それはどれほど難しいでしょうか?実際にレベルを作成する前にスケッチを描く方が簡単ですが、これは基本的なチュートリアルであるため、簡単な正方形の部屋をいくつか作成して、その仕組みを示します。
それでは、マッピングを取得しましょう!
パート 1:最初の部屋を作る
それでは、マッピングを始めましょう!
emptyFix.json と emptyFix.cgs のコピーを作成し、レベルに付けたい名前を付けます。名前によっては、名前にアンダースコア ( _ ) が含まれていたり、スペースが含まれていたりするなどの問題が発生する可能性があるため、1 つの単語に留めるようにしてください。簡単にするために、マップを SteamGuide.json および SteamGuide.cgs と呼びます。
便利なショートカットをいくつか紹介します:
タイル レイヤーのショートカット (背景、BG 詳細、前景、または FG 詳細レイヤーを選択する必要があります):
- T – タイルセット ブラシを装備します。他のタイルに自動的に接続します (地形の下で選択することもできます)。
- B – 単一タイル用のブラシを装備。詳細については。
- E – 消しゴム。
- R – タイルを選択します。
- F – タイルを埋めます。
- Del – 選択を削除します。
オブジェクト レイヤーのショートカット:
- S – オブジェクトを選択するツール
- Ctrl+D – 選択したオブジェクトを複製
- O – ポリゴンの編集 (より高度な)
- Ctrl キーを押したままにすると、スナップ移動できます (非常に便利です)。
- サイズ変更中に Alt キーを押したままにします – スナップされたサイズ変更 (同様に非常に便利です)。
- Del – 選択を削除します。
よし、最初のタイルを配置しましょう。前景レイヤーにいることを確認し、T キーを押して、単純な部屋の輪郭を描き始めます。 Shift キーを押しながら 1 つの点をクリックし (Shift キーを押したまま)、別の点をクリックすると、簡単に直線を作成できます。このように:
次に、見栄えがよくなるように、背景レイヤーも塗りつぶします:
良い!衝突の準備が整いました。
パート 2:プレイできるようにする
次に、デバッグ マップに進み、Chamber カテゴリを確認します。好きなものを選んでください。
必要なものを選択し(ガイドの場合はラボを使用します)、Ctrl + C(コピー)を押してマップに戻り、Ctrl + V(貼り付け)を押してマップに取得します。これが全体のポイントですデバッグ マップ:
おー!ところで!レイヤーは本当に重要です!したがって、すべてのオブジェクトを適切なレイヤーに保持してください。どのレイヤーに何が入っているかわからない場合は、デバッグ マップでオブジェクトをクリックすると、どのレイヤーが正しいレイヤーであるかがわかります。オブジェクトが間違ったレイヤーにある場合、ゲームは間違いなくクラッシュします (この場合は明らかに Chambers です)。
ここで S を押し、部屋を選択し (まだ選択されていない場合)、Alt を押しながらサイズを変更して境界タイルに重ねます。 (すでに選択されているときにもう一度クリックすると、回転モードになります。もう一度クリックすると、サイズ変更モードに戻ります) このように:
注:チャンバーを大きくしすぎないように注意してください。
では、キャラクターを配置して、どのように見えるか見てみましょう?
デバッグ マップに戻り、一番上のスターター パックから「モンスター」の 1 つを手に入れてください。
レベルに戻って貼り付けます。レイヤーについて前に言ったことを覚えていますか?これを最初のテストと考えて、モンスターがどのレイヤーに入るかを調べます。これが解決策です:オブジェクトです。
Objects や Objects+ など、似たようなレイヤーがいくつかあることに気付いたかもしれません。 「+」は何の意味もありません。ディテールを追加するための追加レイヤーです。オブジェクトまたはオブジェクト + レイヤーのいずれかにオブジェクトを含めることができますが、実際には関係ありません。
プレイヤー、部屋、タイルがマップにあるので、既にプレイ可能です!ゲーム内に移動し、「load_level (name)」を使用してマップをロードします。この場合は「load_level SteamGuide」です (大文字は関係ありません。詳細なレベルのロードについては、それに関する私の他のガイドをまだチェックしていない場合はチェックしてください)。 .
ゲーム内でどのように見えるか見てみましょう。
ちょっとうまくいった! …が、とても暗いです。照明を追加しませんか?
デバッグ マップに戻り、ランプの 1 つをつかみ、マップに貼り付けます。必要に応じて、ランプの設定をいじることもできます (左側のカスタム プロパティで)。
うーん… そのほうがいいと思いますが、まだ少し暗いです。
それはもっと似ています。半径を大きくして、さらに 2 つ追加しました。
次に、レベルの実際の目標を作成しましょう。必要なのは、少なくとも 1 つのチェックポイント/ハイブとゴール オブジェクトだけです。どちらもスターター パックに含まれています。
では行きましょう!ハイブを使えば…ゴールが開いてレベルクリアです!
わお! Carrion でレベルを作成するのは簡単ですよね?…そうですか? ….
パート 3:スクリプト
そしてもちろん… 人生は単純ではありません。しかし、スクリプトは可能です。 (ここでは簡単なスクリプトについてのみ説明します)
ふぅ…どこから始めればいいですか?シンプルなドアを開けてみましょう。
スターター パックからスイッチとドアを手に入れて、マップに配置してください。
くそー…今、私たちの最愛の目標はドアの後ろにあります.
では、スイッチをひっくり返して開けてみませんか? …………どうにもなりません。何かさせてあげましょう!
これで、.cgs ファイルが機能します。任意のテキスト エディターで開きますが、Notepad++ をお勧めします。
次に、単純な「入力 -> 出力」システムをセットアップします。しかし、どういうわけかゲームに何が何であるかを伝える必要があります。スイッチとドアの両方に一意の名前を付けましょう。それらを選択し、左側のタブで「名前」を割り当てます。何でも機能します。自分のスクリプトで混乱しないように、何が何であるかを知る必要があります。それらを switch1 と door1 と呼びます。 (「タイプ」ではなく「名前」を必ず変更してください!)
スクリプトに戻ります。「入力 -> 出力」と言ったのを覚えていますか?まさに文字通りです!
入力をスイッチの名前に、出力をドアの名前に変更するだけです。
…行末のセミコロン (; ) を忘れないでください。
ファイルを保存して、ゲームに戻りましょう!
まさか。
動作します (少なくとも動作するはずです)。
とにかく、これでマッピングの基本原理を理解する必要があります。質問がある場合は、以下またはディスコードで質問してください。
パート 4:問題の原因を突き止める
ゲームがクラッシュした場合は、ゲームログを開いて何が起こったのかを正確に確認できます!ゲームログは AppDataLocalLowPhobiaCarriongamelog.txt の下にあります!一番下にエラーが表示されます。ナンセンスの山であり、問題が何であるかが 1 行で示されます。問題を修正するだけで準備完了です!
2 番目のタイプのエラーは、ゲームがクラッシュせず、「入力 -> 出力」システムが機能しない場合です。これは、既存の名前を使用したか、スクリプトに単純なスペルミスがある可能性が高いためです。コンソールを開いて赤い線の内容を読むだけです。