Land Creator

User Manual

概要

 本ソフトウェアは、地図データ(地形データ)を自動生成し、ファイルに書き出すためのWindows用ツールです。

 地面の高さだけを記録するシンプルなプログラムで、複雑な情報は扱えません。大きな地図を短時間で作るためには、CPUパワーも必要です。

動作環境

 Windows2000/XPを想定しています。Windows95以降であれば動くはずですが、生成する地図の解像度によっては、VRAMやリソースメモリの不足により動かないかもしれません。

OS

Windows95以降であれば動くはずです。開発環境は Windows XP Professional Edition + Service Pack 2 です。

CPU

生成時間に大いに影響します。マルチプロセッサ環境の場合、設定により高速化する場合があります。開発環境は Xeon 1.7GHz Dual です。

HDD

実行時の必須容量は16MB程度ですが、セーブデータが巨大です(生成解像度依存。一つあたり最大140MB弱)。

Memory

最低数十メガバイトのメモリを確保します。スワップの発生しない環境で実行することを推奨します。開発環境は 512MB です。

Graphics

描画は2Dのみですが、VRAM容量の大小が速度に影響を及ぼす場合もあるようです。

用途

 書き出された地図データファイル(バイナリファイル)は、フォーマットが決まっています。これを自前で加工することで、ゲームなどに組み込んで使えることがある・・・かもしれません。データは無駄に大きいので、何らかの方法で加工して使用した方がいいと思います。

 あとは、地図画像をクリップボードに貼り付ける機能があるので、別途フォトレタッチソフトなどを使用して加工して、画像素材として使用することもできます。

 というわけで、使い道は、各自考えてください。なんにせよ、単体ではなんの意味もないツールです。眺めて終わり・・・

参考結果

 こんな感じの地図を生成してくれます。以下、大きい3つについては、クリックすると大きな画像が表示されます。

大きさ1280×1024

大きさ1024×768

大きさ640×480

大きさ200×200

 なお、本マニュアルおよびツールで表示される画像は、将来、処理の変更により、変化する可能性があります。

できそうでできないこと

 川、森、砂漠などの設置はできません。あくまで、地面の高さを決定するのみです。

インストール・起動方法

 専用のフォルダを一つ作成して、そこにアーカイブの内容をすべて入れて下さい。

 起動は、LandCreator.exeを実行させるだけです。

使用方法

地図を生成する方法

 画面上のメニューにある「生成」をクリックすると、以下の窓が表示されます。

 各設定を行い、「OK」を押すと生成を開始します。

シード値

「乱数初期化なし」がチェックされていない場合、生成前に乱数が初期化されます。この場合、同じ設定を用いる限り、何度生成しなおしても同じ地形ができあがります。

「乱数初期化なし」がチェックされている場合、シード値は無視され、毎回異なる地図を生成します。

集中pt

陸を集中的に配置されやすくなるエリア数を指定します。「手動配置」にすると、この値は無視され、生成前にマウスで集中ポイントを配置します。

処理量

処理の量を指定します。多く設定すると、地図がきめ細かくなります。小さすぎると地形が荒くなり、地図らしくない地図ができあがることがあります。

深い場所(深い海)ほど、処理が集中せず荒くなる傾向があるため、低い場所も細かくしたい場合は、処理量を大きく設定します。

集中率

高さを集中ポイントに集中させる率を指定します。高いほど、集中ポイントの周辺に陸が集まりやすくなります。0%だと、集中ptの設定は無効となります。

集中量

高さを集中ポイントに集中させる量を指定します。高いほど、集中ポイントの周辺に陸が集まりやすくなり、狭いエリアに高い土地ができやすくなります。0%だと、集中ptの設定は無効となります。

単位量

大きいほど、きめ細かい地形ができる傾向があります。小さいと、細かい島の集合のような地図ができあがる傾向があります。

2スレッドで処理

チェックしておくと、2スレッドで処理するようになります。シングルプロセッサ稼働の場合、遅くなる確率が高いですので、オフのまま実行することを推奨します。

マルチプロセッサマシン+対応OSの場合は高速化しますが、他に重いアプリを実行している場合、遅くなることもあります(ハイパースレッディングについては未確認)。

本設定はセーブデータに記録されません。

生成時間について

 地図の生成には時間がかかります。XY長・処理量・単位量は、処理時間の長さに大きく影響します。短時間で生成したい場合は、小さい値を設定してください。

 また、アプリ起動後、最初の一回目の生成だけ、処理時間が若干長くなります。これは、生成に必要なデータファイル(makeland.bin)を読み込んでいるためです。

 現在、生成時間がどれだけ長くても、生成を途中で中止させることはできません。止めたい場合は、OSのタスク管理の操作(WindowsXPならタスクマネージャ)などで、アプリを強制的に落としてください。

2スレッド処理について(無駄な技術話)

 マルチプロセッサ環境の場合、試しにオンにして生成させてみて下さい。手元の環境では、生成時間と正規化時間が40%程度短縮されています。ハイパースレッディングについては未確認ですが、速くなるかもしれません。

 描画処理も2スレ対応していますが、こちらはほとんど効果が出ていません。当初、メモリデバイスコンテキストを二つ作成して、マルチで処理を行っていましたが、OSが排他制御をかけているためか、極端に遅くなることが確認されました。現在の描画処理では、カラーコード算出処理のみをサブスレッドで行い、デバイスコンテキストへの描画はシングルで処理しています。

 ・・・というか、DIB配列に直接触れば、たぶんマルチで処理できる・・・どころか、そもそもこんなに遅くないんでしょうけどね(^_^;。面倒くさいのでやっていません。すべての描画を SetPixel() しています(苦笑)。

水面の高さを変える方法

 メニューの「水面」を選ぶと、高さを設定するダイアログボックスが表示されます。

 値を変更すると、再描画が発生します。

 水面の高さは、表示にのみ影響します。地形が変わるわけではなく、海と陸の割合が変わるのみです。標準のセーブファイルには記録されますが、「生保存」のファイルには記録されません。

集中ポイントの表示を行う方法

 メニューの「エリア」を選択すると、一度だけ再描画が発生し、その後区分けされた地図画面に切り替わります。再度「エリア」を選択すると、元に戻ります。

 区分けされた画面では、集中ポイントの位置を表す赤い○印と、そのポイントにもっとも近いエリアが分けられて表示されます。この区分け状況と集中ポイントの位置は、セーブデータに記録されます。

 集中ポイントが0個の場合、「エリア」を選んでも何も起きません。

ファイルに保存する方法

 ファイル保存についてです。

 窓上部の「ファイル」メニューを開くと、「保存」と「生保存」があり、いずれもダイアログボックスが開いてファイル名の入力を求められますので、入力したらOKを押して下さい。

 このうち、「保存」が Land Creator 専用データの保存手段です。ここで保存される内容には、生成ダイアログで入力したシード値や処理量などの設定はもちろん、最後に生成した地図データが含まれています。保存されたデータは「読込」を行うと、すべての設定が復帰されます。

 もう一つ、「生保存」ですが、こちらはサードパーティのアプリケーションから扱うための簡易ファイルです。詳細は後述しますが、データバージョン情報・地図サイズ・地形データ・集中ポイント・エリア情報以外の情報は、保存されません。

ファイルから読み込む方法

 窓上部「ファイル」メニューから「読込」を選択します。ここで読み込むことのできるファイルは、「保存」と「生保存」いずれのファイルも可能です。

 「生保存」ファイルから読み込んだ場合、解像度と地図情報のみが復帰されます。

 いずれの場合も、読み込んだ地図の再描画処理が発生します。

スクリーンショットをとる方法

 「ファイル」メニュー内の「クリップボードに記憶」を実行して下さい。選んでも何も表示されませんが、そのとき表示されている地図画像が記憶されます。あとは、Windows付属のペイントなり、他のフォトレタッチソフトなりに貼り付けて下さい。

著作権・免責


連絡先 : 熊恭太郎 ( kuma@noelnet.org )