見出し画像

TheoTownで巨大マップを作成する方法

TheoTownで巨大マップを作成する方法を紹介します。

TheoTownの巨大マップの作成できるサイズは、使用しているパソコンのメモリ容量に依存するようです。私のM1 MacBook Pro 16GBメモリの環境では、マップサイズ40以上は作成できませんでした。

では早速説明していきます。

1. TheoTownの開発者モードをオンにし、コンソールが使えるようにします。

2. 巨大マップ作成用のコードをコンソールに記述します。

コードは以下のようなものです。

cr:{name:"test",seed:"1703110296",terrain:true,size:24,maps:[0,0,8, 8,0,8, 16,0,8, 0,8,8, 8,8,8, 16,8,8, 0,16,8, 8,16,8, 16,16,8,]}

name:すきな街の名前を入力
seed:適当な数字の羅列を入力
terrain:trueを入力
size:マップサイズを入力
maps:[ ] マップの座標基準値とマップサイズの記述
0,0,8は、X=0 Y=0 をマップ左下を基準としたマップの大きさ8x8を表します。
このコードで作成されるマップ形状は次のようなものです。

例えば次のようなマップ形状の場合、コードは次のようになります。

cr:{name:"test",seed:"1703110296",size:8,maps:[0,0,4, 4,0,4, 0,4,2, 2,4,2, 0,6,2, 2,6,2, 4,6,2, 6,6,2, 4,4,1, 5,4,1, 6,4,1, 7,4,1, 4,5,1, 5,5,1, 6,5,1, 7,5,1]}

3. コードをコンソールに記述します。
例として今回は8x8のマップを縦横4つ並べた32サイズのマップを作成します。街の名前はtestとします。コードは以下の通りです。このコードをコピーしてTheoTownのコンソールにペーストします。その際、Macの場合コピーはcomand + cでOKです。ペーストはcomand + vだとできないのですが、control + vでできます。

cr:{name:"test",seed:"1703110296",terrain:true,size:32,maps:[0,0,8, 8,0,8, 16,0,8, 24,0,8, 0,8,8, 8,8,8, 16,8,8, 24,8,8, 0,16,8, 8,16,8, 16,16,8, 24,16,8, 0,24,8, 8,24,8, 16,24,8, 24,24,8,]}

コンソールへの入力が完了したら、右の緑色の三角矢印ボタンをクリックしてください。

2〜3分ほど待つと以下のようなメッセージが表示されます。このメッセージが表示されればマップ作成成功です。

戻るボタンをクリックし、一度ゲームを終了してください。
(FinderでTheoTownのフォルダ内のregionsフォルダ内を確認すると、先ほど作成したマップ名のフォルダが確認できます。)

再起動すると作成したマップが選択できます。

これで任意の形状のマップ作成はできましたが、これにハイトマップを適用させる方法を次に説明します。

今回は国土地理院電子地図のサイトから作成した、次の日本のハイトマップを適用させてみます。

やり方は、コードの記述のseedの部分をbmpと書き換えて、値にファイル名を拡張子を含めて記述し、ハイトマップ画像ファイルをTheoTownフォルダへ入れるだけです。

ハイトマップ画像ファイルをTheoTownフォルダに入れます。

次にコードをコンソールへ入力し、先ほどと同様、緑の三角ボタンをクリックして3分ほど待ちます。

先ほどと同じ32のマップにimg20240403222413197.bmpファイルを適用させたコードは以下の通りです。

cr:{name:"test",bmp:"img20240403222413197.bmp",terrain:true,size:32,maps:[0,0,8, 8,0,8, 16,0,8, 24,0,8, 0,8,8, 8,8,8, 16,8,8, 24,8,8, 0,16,8, 8,16,8, 16,16,8, 24,16,8, 0,24,8, 8,24,8, 16,24,8, 24,24,8,]}

以下のようなマップ作成完了のメッセージが表示されるまで待ちます。

戻るボタンを押して一度TheoTownを終了し、再度起動すると、作成したマップが選択できます。

以上でTheoTownで巨大マップを作成は完了です。
マップ作成のサンプルコードを記述したファイルを添付しておきますので、使ってください。




いいなと思ったら応援しよう!