「FC版ドラクエっぽいゲーム制作」プロジェクト

ファミコン版ドラクエ風マップエディタ

いわゆる、ファミコン版ドラゴンクエストっぽいマップ(ワールドマップ)専用エディタです。

別ページで公開中のドット絵エディタ(マップチップモード)で作図したパターンを最大512×512個配置できます。

広大なマップを作成するのに、乱数による半自動地形生成もできます。
また、生成した地図上に、城やダンジョンなどを配置することができます。


ダウンロード


マップチップのドット絵パターンを自作したい場合は、こちらのツールで作成し、
保存したfieldchip.txtを、同梱パターンファイルに上書きコピーしてください。

使い方

ファイルを展開しマップエディタを起動すると、初回(まだマップデータファイルが存在しない場合)
には、図のようなウィンドウが表示されます。
ここでは、作成するマップの大きさと、ランダム生成を希望する場合にはその生成アルゴリズムを選択してください。
なお、このウィンドウはF1キーを押しても開くことができます。


進可氏式自動生成について

"Rand Rand Land"メニューを選択すると、ランダムに初期化したマップから
自動的に陸地や海が形成されます。

このマップ生成アルゴリズムは、進可(◆Sinka1my5k)氏がホームページ上で公開されている
ドラクエ風のランダムマップを自動で生成するソフトを参考にしています。

本エディタでは、このアルゴリズムベースに以下のように実装してみました。

  1. マップ全体にランダムにマップチップを分布させる
  2. 1回のループごとに、以下の処理を行う

       
    1. 現在のマップのコピーを生成する。
      ただし、元マップをそのままコピーするのではなく、 元マップの対応セルの上下左右いずれかをランダムに選択してコピーする。
    2. コピーマップを現在のマップに書き戻す。
      ただし、各セルについて、その上下左右4方向のセルの内容が同じなら、 自セルではなく周辺セルと同じ内容を書き戻す。

  3. オペレータが停止するまで、上のアルゴリズムを反復する。
  4. 最後に、各セルごとに上下左右のうち3つの内容が共通であるなら、自セルをそれに合わせる(平滑化)
オリジナルのアルゴリズムにある、少数セルの保護を行いませんでしたので、
放置しておくといずれは全面海に沈みます。

詳しくはこちらのページをご覧下さい。
http://www.interq.or.jp/moonstone/person/RRL/index.html (2012.7.18現在)


マップ領域を作成すると、地形編集モードになります。
右側のマップチップパレットから1つ選択し、マウス左ボタンでカーソル位置に
マップチップを配置して、ワールドマップを構築あるいは修正していきます。
このとき、キーボードの1〜3のキーを押すと、マップチップを配置する範囲(ペンの太さ)を調整できます。

また、マップチップの傍に書かれている文字のキーを押すと、
マップチップ選択と1ブロック分の配置ができます。 特に、スペースキーを押すと海に戻せますので、効率的に編集作業を行うことが出来ます。

拠点等の配置

ある程度地形が出来上がったら、Ctrl+左クリックで、フィールド(陸地)上に
その上にお城やダンジョンをレイアウトできます。
配置可能なものは、以下のとおりです。

拠点型 城、町、村、ほこら、隠れ里 宿屋や教会を含む、冒険拠点となる場所
ダンジョン型 洞窟、塔、隠しダンジョン 基本的に補充や回復ポイントのない場所
その他 立札 「調べる」コマンドの対象。ランドマークを表す

配置済みの設置物を左クリックすると、名前の設定や移動、撤去のためのメニューが表示されます。
希望の操作を選択してください。

「拠点型」に分類している城や町などは、情報設定画面で以下の項目が編集できます。

ダンジョンについては名前のみ、立札はその記載内容(3行以内)を設定します。

なお、これらの設定情報はワールドマップデザイン上の意図を参考のために記録しておくためのもので、
ゲームシステムで参照するかどうかは、実装担当者が判断してください。
また、拠点の個別マップをデザインする際にも参考情報として使うとよいでしょう。

マップデータの形式

マップを編集したら、エディタを終了する前にCtrl+Sで、マップデータをファイルに保存してください。
本格的に編集する前に一度、正しく書き出しが出来ているか確認することをお勧めします。

出力されるfieldmap.txtには、以下の内容を保存しています。

(FCmap) 256x256 repeat
mapchip fieldchip.txt
ocean .
code  A "浅瀬"
code  B "草原"
code  C "茂み"
code  D "林"
code  E "山"
code  F "砂漠"
code  G "氷"
code  H "横橋"
code  I "縦橋"
code  J "毒の沼地"
code  K "岩山"
m 255 ..........................................................................................
m 254 ..........................................................................................
m 253 ..........................................................................................
m 252 ......EEE...............CCC...............................................................
m 251 .....EEEEE..............CCCCC........BBBBBBBBBB......DDDDDD.......CC........KK............
(中略)
l   0   8 236  -1 "立札"  "たてふだ0\nあいうえお\nかきくけこ" 
  1. "(FCmap)"で始まる行には、マップサイズ(512x512,256x256,128x128,64x64)の種別を記載しています。
    現在、repeatは固定です。
  2. "mapchip"行には、使用するマップチップデータファイル(fcdot.exeで編集)が記述されています。
  3. "ocean"には、海のマップコードを表します。海岸線処理は表示処理で対応しています。
  4. "code"行は、それ以外のマップコードと、対応するマップチップ名(fieldchip.txt内名称に対応)を記載しています。
  5. "m"の行には、マップY座標(北が上)に引き続き、各Xライン(西→東)のマップコードが並んでいます。
  6. "l"の行には、設置物番号、X、Y、参照先番号、種別名称、名前が並んでいます。 拠点型の設置物では、さらに、帰還候補設定、宿泊費、教会機能、船X、船Yが続きます。

なお、マップデータの形式については今後のバージョンアップで変更する可能性がありますが、
出来るだけ互換性を保つように努力はします。


トップページへ

Copyright©2012 Amadela

inserted by FC2 system