simutransのマップは自作出来ます、自作したマップはいったん読み込ませてゲームデータに変えたら編集は出来ないみたいです。つまり自作したマップでゲーム開始時の状態を設定できますが、その後はゲーム内で編集する事になります。
simutransのマップはppmかbmpの画像ファイルで、1マスが1ピクセルで、そのピクセルの8bitグレースケールの値が高さを表します。よく『simutransのマップは明度が高さを表す』と言われますが、ppmもbmpもRGB色空間(赤緑青)なので、わざわざHSV色空間(色相、彩度、明度)に変換して明度を得て使っているとも思われず("明るさ"を"明度"と言っているだけかもですが、明度という用語を使うとHSVのと混同しやすいので、なんともです)、、、まあ 8bitグレースケールの値を使っているだけのようです。
で、その高さと値の対応ですが、日本語wikiや海外のサイトに載っています、載っていますがなんだか釈然としない値です。
- 日本語wiki (http://japanese.simutrans.com/index.php?%A5%DE%A5%C3%A5%D7)
- 海外サイト (https://maps.simutrans.com/tutorial.html)
うーん、なんだか規則性が見れませんし、実際にその値でやってみても微妙にずれる事があったりします。で、いろいろやって調べてみました。
まずは、グレースケールBMP(8bitBMP)で、上記サイトの値を使っていろいろな高さを試してみましたが、うまくいきません。たとえば海外サイトの情報でやると、
高さ14,13,12,10,9,8,7,5,4,3,1,0,-1,-3,-4,-5,-7,-8,-9,-11,-12,-13,-15,-16,-17
となり、11,6,2,-2,-6,-10,-14が無く、間が二段階の坂で繋がれてしまいます。
そこで、0x00~0xffまでの値を連続的に変えたBMPファイルを作りそれをsimutransに読み込ませてみました。
256×256のサイズで、1ライン目は00、2ライン目は01、3ライン目は02、、、256ライン目はFFとなるBMPファイル |
これをsimutoransに読み込ませてみます。
map高さ調査simutoransでの表示(海-2) |
map高さ調査simutoransでの表示(海-20) |
どうも高さと値の関係は以下のようであるようです。
高さ グレースケール値 -17 0 ~ 7 -16 8 ~ 15 -15 16 ~ 23 -14 24 ~ 31 -13 32 ~ 39 -12 40 ~ 47 -11 48 ~ 55 -10 56 ~ 63 -9 64 ~ 71 -8 72 ~ 79 -7 80 ~ 87 -6 88 ~ 95 -5 96 ~ 103 -4 104 ~ 111 -3 112 ~ 119 -2 120 ~ 127 -1 128 ~ 135 0 136 ~ 143 1 144 ~ 151 2 152 ~ 159 3 160 ~ 167 4 168 ~ 175 5 176 ~ 183 6 184 ~ 191 7 192 ~ 199 8 200 ~ 207 9 208 ~ 215 10 216 ~ 223 11 224 ~ 231 12 232 ~ 239 13 240 ~ 247 14 248 ~ 255
なんのことはない単に8区切りでした、、、
注:この結果ですが、simutrans 120.4.1で、
[height_map_conversion_version_new ON]
[pak_height_conversion_factor != 2]
の時の値です。まあ今後デフォルトで使う限りこの値ではあります。
simutransのバージョンや設定での違いを次に書きました。
【ゲーム】simutrans 自作マップ 高度についてバージョンと設定値での違い
0 件のコメント:
コメントを投稿