開発に2年もかかっていて、未だ制作中のマップエディタ Magic.MapEditor ですが、ようやく完成が見えてきたので、α3版 として一般公開します。使用に際して特に制限はつけないのですが、バグ報告や要望などはお願いします。どんな事でもいいので反応してくれると嬉しいので、そこんとこよろしくお願いいたします。本当にお願いします。頼みます。感想でもいいのでー!😭


  • 実行環境
私は Windows 11 Pro x64 で動作させています。ビルドで x64 を指定しているため、32bit OS では動作しないと思います。特別なことはしていないつもりなので Windows 10 は動作すると思います。もしかすると Windows 7 でも動作するかも。
※ このあたりの動作報告もあると嬉しいです。
ファイル構成
アーカイブの展開は、圧縮時のファイル構成のままであれば、どこでも構いません。ファイルを構成する各フォルダの意味を説明します。

_Sampleサンプルのデータファイルです。※ 実行には不要です。
Languages言語ファイルです。現在は日英仏が格納されています
Manual取扱説明書です。同梱 pdf は α2相当の内容なので参考程度です😓
Palettesパレット情報です。サブフォルダには act ファイルがあります
Templatesテンプレートです。新規作成時の設定が記述されています
TextBGレトロハードの文字フォント形状テキストです
※ インストール後、_Sample フォルダは別の場所に移動させておくほうが良いと思います。


  • 起動と初期化
Magic.MapEditor.exe をダブルクリックして起動します。
初回起動
このままでは何も出来ませんので、ファイル > 新規作成として初期化を呼び出します。ctrl + N というショートカットが便利です。
新規作成
対象のドロップダウンリストには、Templates フォルダの内容が列挙されています。その右側のリストはシステムテンプレートです。これはエディタの動作がその指定対象に特化した特別な動作モードです。現在対応しているのは以下のとおりです。
  1. ファミコン(NES)
  2. SHARP MZ-700
  3. PC-8001 キャラクタモード
  4. PC-8001 セミグラフィックモード
テキストBGは MZ-700 シリーズは テキストBG の初期読み込みが必須です。色を指定する場合、チェックを付けてから […] ボタンを押してください。カラーパレット指定ダイアログが表示されます。初期状態では 16色標準色となっています。
カラーパレット
ドロップダウンリストは Palettes フォルダの内容が列挙されます。個別で色を指定する場合は、色数を設定の後、色の部分をクリックして色を指定してください。読み込みボタンでは Photoshop カラーファイルである .act ファイルが読み込めます。

この新規作成で意外と重要なのがコードサイズです。256個の場合は、個数の制限がある代わりに、地形パーツ切り替えでマップの表示が変わります。MSX 等の PCG 切り替えとかをイメージするとわかりやすいかと思います。65536個とすると、複数の地形パーツ画像は全て同時に配置できるようになります。昔の機種では 256個を、今の FHD 解像度を対象とする場合は 65536個とするのが良いと思います。
※ やっぱり安い!げふんげふんすると更に幸せに😓

  • マップデータの読み込みと保存
ファイル > 開くから既存の .mpd ファイルを読み込むことが出来ます。サンプルマップデータは現在5種類を入れてあります。ctrl + O というショートカットの使用が良いかと思います。編集後の保存はファイル > 上書き保存 or 名前を付けて保存です。ctrl + S を多用することになるかと思います。編集して保存していない状態だと、キャプションに(更新)と表示されます。
更新
保存すると消えます。また、この更新の表示が出たまま終了しようとすると、本当に終了してもよいかの確認ダイアログが表示されます。
終了確認ダイアログ


  • レイヤ
編集レイヤは5種類。どのレイヤも複数追加することが出来ます。
レイヤー
上にあるレイヤの表示優先度が高いです。このレイヤの数が多いと実行速度に影響が出ます。各自の環境で限界と思われる数までとしてください。なお、オプションの設定から少しであれば軽くすることが出来ます。

レイヤの列を右クリックすると、レイヤ編集サブメニューが表示されます。
レイヤサブメニュー
特殊な指定が2つあります。

■ オブジェクト設定を属性レイヤーに転写する
オブジェクトには同時に属性を付与する指定があります。これをまとめて属性レイヤに転写することで、設定を出力に反映させられるようになります。

■ オブジェクトをBGレイヤーに変換する
これは PC-8001 セミグラフィックモード専用の特殊変換で、オブジェクトとして配置されたデータを普通のセミグラデータに変換するモノです。一つ一つ BG を描いていると手間がかかるため、別エディタで作成された画像をポイポイと配置してから、最後にまとめて BG にすることで、作業時間の短縮が出来ます。
※ 変換で黒色が潰れることがあるので、それだけは注意が必要です。


  • 編集範囲の移動
編集範囲の移動はいくつかの操作が用意されています。まずおそらく一番簡単なのが、マウスのホイールをクリックしたままドラッグする操作です。ホイールがないマウスの場合は、ctrl を押しながら右ドラッグです。キーボードとの併用が嫌な場合は、ツールバーにスクロールというボタンがありますので、それをクリックして選択状態になったら、編集領域を左ドラッグでも移動します。

PC-8001 しか意味は無いかもしれませんが、この移動時に shift を押していると、エリア境界線の位置をズラすことができます。これは後述する色の変化を計算する範囲に影響します。

編集領域が広くて、この移動では時間がかかりすぎる場合は、エリアジャンプを使います。これは表示 > エリアジャンプとすることで、専用のウィンドウが表示されます。
エリアジャンプ
ショートカットは ctrl + J です。このエリアジャンプ領域を左ドラッグすれば、目的の編集位置に一気にジャンプすることが出来ます。
※  プロコン的なコントローラですが、実はもしかすると全てのゲーム環境で共通して使用できる(かもしれない)優れモノなのです。転売屋がいるので 8Bitdoから購入してくださいねー

  • 範囲選択
範囲選択は、編集範囲の制限を行ったり、コピー範囲の指定に使います。範囲は短形選択と自由選択があります。短形選択開始は、編集 > 短形選択の開始を指定の後、編集領域で左クリックの後そのままドラッグすることで出来ます。自由選択も同様です。
自由選択
マウス操作の場合はツールバーから指定するほうが簡単かもしれません。
ツールバー
キーボードとの併用であれば ctrl を押しながら左クリック&ドラッグですぐに短形範囲指定が出来ます。ctrl + alt なら自由選択です。

この選択開始時に shift を押していると追加選択となります。そして、その追加選択の時に shift を離してからマウスの左ボタンを離すと選択範囲が非選択となります。追加選択ではツールバーが緑色に、非選択設定は赤色に変わります。
追加選択


  • カット&ペースト
通常のWindowsにおけるカット&ペーストと同様の操作です。範囲指定をして、カットまたはコピーをして貼り付けます。編集メニューからの指定、またはキーボードの ctrl + X, ctrl + C, ctrl + V の各操作により実行できます。コピー時にいくつか制約があります。都度、警告表示などが表示されます。
※ 連続貼り付けモードが微妙に便利だと思います。

MZ-700モードに限り、CGE7のコピーテキストをそのままペーストする事ができます。その際は、レイヤを地形に指定しておいてください。


  • 基本の編集操作
システムテンプレート指定なしの前提で説明します。
地形
左下の [+] ボタンが新規パーツ読み込みです。[-] が設定済パーツの削除です。パーツが画像の場合で、読み込み時に色が指定と異なっている場合は、自動で近似色に置き換えられます。その他、サイズ不整合等があれば自動的に補正、または修正方法についての確認ダイアログが表示されます。パーツ選択は左クリックです。右クリックで選択解除となります。

パーツ選択状態で、編集領域で左クリックすることで配置します。デフォルト設定では shift を押すと連続配置となっています。shift を押さなくても連続配置としたい場合は、編集 > オプションの「パーツを連続して配置する」をチェックします。

編集領域で右クリックとするとパーツ拾いとなります。選択されている状態で delete キーを押すと削除となります。

機能が多いので、抜粋で本マップエディタの強力な編集機能を2つ紹介します。その他は編集メニューから確認してみてください。

■ 埋める
埋める
地形やオブジェクトで動作するまとめて適当に配置する機能です。ペースト時は地形とオブジェクトを同時に指定することも出来ます。配置確率は 0~100 を指定できます。100 は完全埋め尽くしです。0 は空白だけを埋め立てます。数値入力が面倒だったので、少ない、ランダム、全て、隙間というボタンを用意しました。ボタンを押すことでそれぞれ 20, 50, 100, 0 と配置確率が設定されます。

タイリングや配置オフセットは行や列の変化におけるズラす量です。ファミコン(NES)では 0 のままがオススメですが、それ以外のスタイルでは適当に値を変更することで、自然な配置が実現できます。多少クセがある指定ですので、これは何度か試してみると良いかと思います。

■ 部分消去
部分消去
密集した配置を適当に間引く機能です。埋めると似たような機能ですが、あちらは配置でこちらは消去という違いです。隣接は同じデータが隣り合っていたら、どちらかを消去する機能です。見た目が悪い配置をまとめて削除することが出来ます。こちらもオフセットの指定があります。適宜試してもらえればと思います。
※ まさかまだ売っていたとは!Amazon限定パッケージです。数量はあまりないと思います。

  • 特殊な地形パーツ編集
システムテンプレートを変更する事で、特に地形パーツウィンドウはその表示と機能が大きく変化します。

■ ファミコン(NES)
ファミコンNES地形ファミコンNESパレット
地形タブに加えてパレットタブが表示されます。地形タブにはパレット選択ツールバーが表示され、色の切り替えができるようになっています。パレットは4組です。[…] ボタンを押すことで 64色から選択ができるようになっています。透明色にあたる0番の色は変更不可です。透明色は読み込む地形画像の一番左上のドットの色となります。

■ MZ-700
MZ700地形
文字色と背景色を指定するツールバーが表示されます。また、キャラの選択配置は CGE7 に似た配置となります。BGだけ色だけの編集はチェックを切り替えることで可能です。

■ PC-8001キャラクタ
PC8001キャラ地形
文字色を指定するツールバーが表示されます。また、表示 > 色変化数チェックのウィンドウの使用が許可されます。PCGの利用を想定しているため、テキストBGの読み込みは必須ではありません。また、オブジェクトはキャラクタコードに対応している必要はありません。
※ 色はキャラクタ単位に補正されます。

■ PC-8001セミグラ
PC8001セミグラ地形
色指定ボタンだけが表示されます。色変化数チェックのウィンドウの使用が許可されます。気分はグラフィックエディタとなります。shift を上手く使用すると直線が引けます。近いうちに塗りつぶしの実装も予定しています。

簡単な使い方の説明は以上です。全機能の半分も説明していないと思います。不明点があれば本ページのコメント欄、またはTwitter等から質問してもらえれば回答します。
mme0408
  • ダウンロード
    Magic.MapEditor ver.0.3.0.16
    2023.04.08.1605

    公開履歴
    • ver.0.3.0.0 - 2023.03.01
      • α3 初版公開
    • ver.0.3.0.1 - 2023.03.03
      • オブジェクトの基準位置設定で拡大時のスクロール範囲が間違っていたバグをFix
    • ver.0.3.0.2 - 2023.03.05
      • 表示位置のリセットでまれに落ちるバグをFix
      • ワイヤの登録確認ダイアログが崩れるバグをFix
      • オプションのタブオーダーの調整
    • ver.0.3.0.3 - 2023.03.07
      • 塗りつぶしでメニュー経由だとオブジェクトの選択が外れるバグをFix
      • メニューが開いた時のカーソル表示を抑止
      • レイヤとエリアジャンプのキャプションダブルクリックで最大化を防止
    • ver.0.3.0.4 - 2023.03.09
      • MZ-700モードでクリップボードによるテキスト出力に対応(CGE7と相互データ通信可能)
      • 高dpi設定でレイアウトが崩れたため分かる範囲で対応
      • 一部のダイアログが画面端に表示されるためウィンドウ中央に表示されるように
      • 塗りつぶしと消去のダイアログの最大化を防止
    • ver.0.3.0.5 - 2023.03.11
      • 全ての削除確認の動作を共通化
      • 削除の確認をしないオプションを追加
    • ver.0.3.0.6 - 2023.03.15
      • レイヤのスクロールバー位置が選択変更で変わり正しく選択できないバグをFix
      • PC-8001セミグラの連続配置指定時に色変更をすると意図しないラインが引かれるバグをFix
    • ver.0.3.0.7 - 2023.03.25
      • 塗りつぶし機能を実装
      • 横に2倍ドットで消去を埋めるのアイコンが横に間延びされるバグをFix
      • すべてを選択(&A)項目のみ多言語対応できていなかったバグをFix
      • MZ-700でのBGと色の設定チェックに応じたBG番号の取得が間違っていたバグをFix
      • MZ-700の右クリックBG拾いで例外が起きていたバグをFix
    • ver.0.3.0.8 - 2023.03.25
      • 塗りつぶしで範囲外をクリックすると落ちるバグをFix
    • ver.0.3.0.9 - 2023.03.25
      • 部分消去のタブオーダーの順番を変更
      • NESで0番パーツが配置できないバグをFix
      • アンドゥで地形選択が消しゴムになる問題をFix
    • ver.0.3.0.10 - 2023.03.26
      • PC-8001セミグラのペイント判定を黒の部分まで拡張
      • PC-8001セミグラの黒の埋めるで透明に変更していた処理を削除
      • 特定操作のアンドゥではパーツ選択を解除しないように
    • ver.0.3.0.11 - 2023.03.26
      • 透明や黒一色の場所から塗りつぶしを始めても周辺の線まできちんと塗りつぶすように改良
      • 塗りつぶしが開始できない位置を指定した際にその理由を表示するように
    • ver.0.3.0.12 - 2023.03.30
      • PC-8001セミグラで D&D で画像を BG レイヤに貼り付けできるように
      • PC-8001セミグラで ctrl+V で画像を BG レイヤに貼り付けできるように
      • PC-8001セミグラでクリップボードに画像が正しく出力されないバグをFix
    • ver.0.3.0.13 - 2023.04.01
      • ctrl+C で MZ-700 以外でもテキストデータを出力できるように
      • テキスト区切りコードでカンマが選択できるように
      • バックアップフォルダが存在しない状態で保存とすると例外が起きたバグをFix
      • 画像のD&Dでプロジェクトファイルと誤認するバグをFix
      • プロジェクトファイルのバージョン情報判定が抜けていたバグをFix
    • ver.0.3.0.14 - 2023.04.02
      • 属性の範囲選択コピーで配置情報をテキスト出力するように
      • 区切りコードの変更オプションはBGテキストのみ限定に仕様変更
      • 結合テキスト指定の場合は横の並ぶ数を半分に制限
      • 結合テキスト指定で属性情報を出力していなかったバグをFix
      • 選択範囲が編集範囲外で例外で落ちていたバグをFix
      • パレットがない機種に00のパレット番号を結合していたバグをFix
    • ver.0.3.0.15 - 2023.04.07
      • オブジェクトレイヤの範囲選択コピーで配置情報をテキスト出力するように
      • ワイヤレイヤの範囲選択コピーで配置情報をテキスト出力するように
      • テキストレイヤの範囲選択コピーで配置情報をテキスト出力するように
      • クリップからの画像ペーストはサイズの自動補正を行うように
      • 範囲指定テキスト出力に基準位置を追加
      • クリップボードのBG出力にサイズを追加
      • 自由範囲選択時の出力でデータ無しを未考慮だったバグをFix
      • オフセット位置が狂う事があるバグをFix
    • ver.0.3.0.16 - 2023.04.08
      • テンキーの数字ボタンでの色変更に対応
      • PC-8001セミグラのパレットタブのタブオーダーを調整
      • PC-8001セミグラで左矢印キーを押すと落ちるバグをFix


    • サンプルデータ ※ 順不同
    NES, PC-8001セミグラ ©針鼠屋@L_H_G
    PC-6001©天丸@Tenmaru_tenpura
    MZ-700©すねいる @snail_twit
    ©すぎもと@BGM
    データ提供ありがとうございました!

    あと、Magic.MapEditor のアプリアイコンバージョン情報イラストを提供しても良いよというヒトがおられましたら、是非お願いします!

    ※ 安い!本当に安い!Amazon大ヒット商品です。現在私は2代目で妻もこのマウスを使っています。必要にして十分、これでいいんだよ、これで!