リアルな地形は必要か?かなりご無沙汰してます。実は大苦戦してました、地形に。使ってみようといきり立ったのがその理由だ。シムシティ3000では、リアル地形図(正確には8bitグレースケールビットマップ画像)を導入する機能(※)があるので、それを使って再現してみよう、としたわけだ(過去形)。これがすげーめんどいのよ。そんな役に立たないであろう苦悩をご紹介するのが今回ってわけ。それではどーぞ(大汗)。え〜、まず必要なのが国土地理院の「数値地図50mメッシュ(標高)」。これは50m間隔で地図の標高データを納めたもので、日本を3つのエリアにわけて発売されているものです。一つが7500円!全部揃えると・・・・・というぐらいシムシティ買うより高いので、アメリカはネットでダウンロードできるのになんだよ、と愚痴りながらずーっと買わなかったのだが、とうとう買ってしまった。昔はもっと高かったようだが、そんなこと知らない。これがまた複雑なデータファイルで、その通り約50mずつのメッシュの中心点の標高データが刻まれているため、1マス64mのシムシティに当たらずとも遠からずの大きさとして期待して導入したわけだ。こんな専門家向けのデータ集を使うとはいえソフトはフリーソフトとかも出回っているので使えない事はないのだが(添付ソフトはナメてるとしか思えない作りだ)、この手の知識がないと使いにくい・・・・。この類のソフト(今回はカシミール3Dを使用)は、標高に合わせて画像を変える事が出来る上、ビットマップ書き出しが出来るから、使えなくはないのだが、ホイホイとシムシティの地形に適した画像が作れないのも困りものだ。※:チートコードでの裏技になるのだが、公式戦略ガイドなどアメリカの地形自体の導入方法が書かれている。RGB値が30を0m(水)として、明るくしていけば土地が高くなる、というもの。それを利用して落書きで土地を造る事も可能である。確かに地形的には名古屋港そのものなんだけどこんな感じになってしまう。画像加工するなり、ゲーム内でシコシコ平らにする作業をするなりである程度抑えられることなのだが、このままでは手間取るのは必死。これはあまり実用的のように思えない。これで平らにしてしまったら地形をわざわざ読み込んだ意味はほとんどなくなる。再現する街の大部分が平野である名古屋自体にそんな挑戦する必要がなかったと言ってしまえばそれまでなのだが。シムシティ3000には斜めの土地に建物建てられないしね。こんな風にデコボコになるのだろうか?50mメッシュなら50mごとに標高が異なるデータになっているとはいえ、ソフト内で標高により色分け(※2)をしてからビットマップ化(なんかわかりにくくてスミマセン)しているわけだから、名古屋はそんなに起伏のある街じゃない(※3)ことも考えればこんなにも過剰にデコボコなるのはちょっとおかしい・・・・・誰か教えて。これらは大した問題ではない(そうか?)。問題は、「どこ」を切り取るか、である。256タイル(約16km)四方を切り取る事は前にも言ったが、前のやり方では、名古屋インターチェンジ、楠ジャンクション、名古屋港を納めるというファジーなやり方だったわけだが、今度の手法を使うとそれを踏まえて約16km四方のエリアを選択してビットマップ化する必要がある。地図というのは不思議な事にどこがどうであるかというのを正確に示すのが「緯度」と「経度」しかない。実際そのソフト内で、緯度、経度でその範囲を選択できるのだが、どこを選ぶのか悩むことになってしまうのだ。地図内でパッパッと選べばいいようにも思うが、そうなってしまうなら、わざわざそんなたいそうな事をする必要もない。そんな事を考えていると、やっぱり真っ平らな土地に、今までやってきた中心街から造っていく方式で帳尻合わせ式に地形を設定していくしかないと判断。前に100m道路の時にやったように、ある程度まとめて表示させるという荒技を使うために、地形ばかり現実通り造っても、道路などがそれに合わなくなってきてしまうという現象も発生するだろう。何より、SimCity3000は斜めの土地に建物を建てる事はできないので、そういった制約なども踏まえると、無理して地形を読み込む必要はないと判断する(するんだよ!)。・・・しかし、それだとこれ買った意味が・・・・・・と貧乏臭く考えて、ふと閃いたのは、この数値地図50mメッシュは、数値地図25000と組み合わせる事が出来るという特徴を踏まえて、SimCityで再現しながら、時々地形をチェック、というアナログ方式にしてみることだ。全部黒に見えるけど、一応少しずつ違うのよ。(使用ソフト:カシミール3D)※3:濃尾平野に造った街ですから。ちなみに海抜ゼロメートル以下地帯も当然あります。上の標高設定でもやってみましたけどね。海抜ゼロメートル周辺の土地がかなり多いけど、SimCity3000の標高は地上は13mが最低、って時点であきらめるのが正しいのかも知れませんが。13mごと(※4)に濃度を付けて、目印となる建物や道路を見ながら、周辺の高度はどうなっているかを判断し、シムシティ内で高度を上げるという方式に・・・意味ないって?言わないでよ※4:SimCity3000内の高度は13mごとで、水(及び岸辺)は0mと言う設定。考えたら50mと64mの違いはマップサイズ最大(縦横各256マス)で最大3586mものずれが生じる。・・・最初から無理と言えば無理だったのか。この地形データも約50mの升目の頂点の高度を集めただけで、しかも50mというのも「約」で、ホントは緯度と経度から算出しているわけだから、本当の意味で正確というわけじゃないですしね。いうものって、実際確実に正しいデータはないけど、正確に「近い」データとして使っているわけですね。シミュレーションなんて本当に正確になるわけないんです。シミュレーションの基本は「参考」です。ええ、開き直ってますよ。開き直るネタとしては、本屋で売ってる「入門カシミール3D」に50mメッシュデータ入ってるのよね。名古屋は比較的平野の多い街だからこんな強引なまとめ方が出来たけど(まとまっていないが)。