新時代のソーサリアンを提案する

30周年を越えたソーサリアンの夢と妄想を語り続ける

【マップ】自然パラメーター/マップオブジェクトで移動アクションをパワーアップ

■Point■

  • 自然パラメーター/マップオブジェクトの導入で、地形によるアクション性を向上。また、キャラ/装備による得手不得手を明確にし、マップに応じたパーティ選択をより意味あるものに!
  • ベースマップ(基盤)+マップオブジェクト(自ら動作する部品)の組み合わせで、マップ作成の簡単化を最優先し、シナリオ開発に集中できる環境を。フラグメントマップによるマップのフラグメント(部品化)も。

ベースマップ

  • マップの基盤となる舞台(ステージ)を表す(具体的なものは以下)
  • ベースマップによって背景と、利用できるマップオブジェクトが決定
    • ただし、ベースマップによらず利用できる、基本オブジェクトもあり
    • 同種類のベースマップで背景は複数種類から選択できる
  • ひとつのシナリオで複数のベースマップを利用可能
  • ベースマップの種別単位に自然パラメーター(後述)を設定
    • バリエーションある舞台に、見た目だけでない実質的な意味を付与
    • 現在位置の情報はステータス画面から確認可能
具体的なベースマップ(主な例)
平原 一般的なマップ。自然パラメーターも平均的
街/村 一般的なマップ。自然パラメーターも平均的
木が生い茂っていることから、敵の視認が困難
砂漠 高温低湿。体力の減少が著しい
山岳 気温が低く、風速も強い
ダンジョン 明度が低く、視界に制限。湿度も高い
塔/遺跡 明度が低め。障害物多し。時属性のモンスターが強化
水中 呼吸カウント(滞在時間に制限あり)。移動速度の低下
火山 気温が高く、ダメージ系のマップオブジェクトも多い
氷原 気温は低く、行動を制限するマップオブジェクト
船上 マップ自体が揺れることから、細かな操作が困難
魔空間 明度が低く、闇属性が激増
自然パラメーター
  • ステータス等に影響する気温/湿度などの情報(具体項目は以下)
  • ベースマップごとにデフォルトの自然パラメーターが設定されている
    • デフォルト値は、シナリオ単位に変更が可能
  • 自然パラメーターによって、マップにも特定の視覚効果が適用される
    • 雨、明るさなどは明快だが、その他、温度、湿度も空気の揺らめきなどで表現
  • シナリオスクリプトから自然パラメーターを動的に変更することも可
    • 「風が出てきた」「気温が急激に上がってきた」などを表現
明度 視界が利きにくくなる度合い。闇属性を持ったキャラのステータスが一定割合上昇。夜の表現にも利用
風向き/風速 弓矢などの飛び道具の飛距離、ジャンプの飛距離/ダッシュスピードに影響
視界が低下。不快度が増し、体力の自然減少が早まる(天井のないマップ限定)
気温 15〜25℃が適正気温。それより高い/低い場合にマイナス効果
  高温:不快度が増して、体力の自然減少が早まる。食料の消費期限も短縮
  低温:敏捷度が低下し、体力の自然減少が早まる。器用度が低下。食料の消費期限を延長
湿度 40〜65%が適正湿度。それより高い/低い場合にマイナス効果
  高湿:不快度が増し、体力の自然減少が早まる。火属性の魔法効果が弱体。食料の消費期限も短縮
  乾燥:水属性の魔法効果が弱体
重力 重力増大によって、敏捷度が低下。体力の自然減少あり
臭気 匂い。不快度が増し、体力の自然減少が早まる。集中力が低下し、魔法の詠唱時間が長期化
瘴気 魔法の有効範囲が狭まる、体力の自然減少が早まる(ただし、INTに比例)
水中 オンの場合、移動速度は激減。他のパラメーターは無効。水属性の敵の攻撃力が激増*1

■Note■
自然パラメーターによって、シナリオ/戦略幅の広がりを期待したい

  • (たとえば)同じジャンプアクションでも風速を考慮しなければならない(同じアクションも難しく)
  • 選択すべきキャラクター/アイテム(食糧)も変化させなければならない
  • 天気によって発生するモンスターが変化
  • 夜(暗闇)のマップでは凶暴なモンスターが登場しやすい、隠れ賭場に入れる、など
強制スクロール
  • ベースマップ単位に強制的なスクロールを発生可能に(速度も変更可能)
  • いわゆる先にしか進めないアクション性の強いシナリオ展開も可能に
  • スクロール移動に追いつけない場合には、ゲームオーバー

マップオブジェクト

シナリオ内部での物体はすべてマップオブジェクトとして表現される。

  • 単なるタイルセット(=グラフィック素材)ではなく、機能を持ったモノ
  • 家をひとつ作るにもタイルを敷き詰めるのではなく、<家>オブジェクトをドラッグ&ドロップで配置する
  • マップオブジェクトは、属性情報を変更することで、サイズ/挙動などをカスタマイズ可
  • 採用するベースマップによって利用できるマップオブジェクトも変化
    • たとえば、街で利用できる扉と、ダンジョン内の扉は見た目が異なる
    • 見た目(グラフィック)はシナリオ提供者が適宜置き換えも可能

http://www.web-deli.com/sorcerian/next/images2/mk3_map.png

マップオブジェクトの例
種類 概要 パラメーター(例)
泥床 移動速度が低下 粘着度
炎床 ダメージ付与 ダメージ量
氷床 滑る。斜面の場合は、一定確度で登れない 摩擦率
ダメージ床 トゲ/槍などが一定時間置きに突き出る 時間間隔/ダメージ量
一般の床 傾斜角度によって移動速度に影響 傾斜角度
コンベア 床が一定方向に回転 回転速度/方向
壊れる床 一定時間で壊れる床(その後再生) 壊れるまでの時間
梯子 上下に移動する用具
捕まることで振り子に 振れ幅
一方通行、ロック解除のためのフラグを管理 開閉の前提となるフラグ・アイテム
宝箱 ロック解除のためのフラグを管理 中身/開閉の前提となるフラグ・アイテム
障害物 通路の邪魔をする物体 通過の前提となるフラグ/アイテム
移動可能物 岩、家具などで押して移動できるもの 重さ
破壊可能物 岩、タル、蝋燭などで物理攻撃で破壊できるもの(Gold/HPなどを入手可) 強度
破壊壁 道具によって破壊できる壁 強度
バネ 飛び乗ることで大ジャンプ ジャンプ倍率
滑り台 下り専用。乗っているときは操作できない
間欠泉/噴火 一時的に通過できないルートを作成 時間間隔
家具など 役割は持たないが、メッセージなどの紐付けが可能なモノ
敵領域 敵の発生領域を紐付ける便宜的なオブジェクト 敵の種類、数、発生回数*2
キャラ 会話可能な人物(領域指定でキャラが移動) 会話パターン*3、移動方法
解説 形を持たない特別なオブジェクト。メッセージが表示される地点/シーン単位のメッセージ情報などを擬似的に管理*4

モンスターもマップ上に<敵領域>を配置&登場するモンスターの種類/数を指定することで、その範囲内で、あらかじめ指定されたアルゴリズムに従って動作

http://www.web-deli.com/sorcerian/next/images2/mk4_monster.png

■Note■
宝箱を空ける、n回調べたらイベント発生、アイテム使用で扉が開くなどのレベルは、最大限、プロパティ(パラメーター)だけで設定できるべき

例えば扉であれば、以下のようなプロパティを持つべきだろう。

UnlockFlags 開錠するためのフラグ群
UnlockItems 開錠するためのアイテム群
LocedMessage 開錠する前に表示されるメッセージ
UnlockedMessage 開錠した時に表示されるメッセージ
Triggers イベントの発生条件(イベントのトリガーとなるアクションの種類と回数/発生するイベントの組み合わせ)

トラップ

  • 扉/宝箱/床/移動可能物/破壊可能物など、決められたオブジェクトに対してトラップを設定可
  • 設定可能なパラメーターは、以下。
トラップの種類 回避失敗時に付与される状態異常(ステータス編を参照)
トラップアクション DEX判定に失敗した場合に発生するアクション
回避率 値が高いほど、回避が困難
発生タイミング 床に乗った時、n秒以上触れた時、動かした時など
発生頻度 初回一度だけ、何度でも、ランダムなど
  • DEX値に応じて回避率は向上するが、絶対に回避できるわけではない
    • 成長したキャラでもそれなりに罠にかかる
    • パラメーター低下系の状態異常は、DEX値に応じて持続時間も変化
トラップアクション
  • DEX判定に失敗し、トラップが発動した場合には、作動するアクション(以下例)
  • トラップアクションで成功した場合には、トラップを回避できる
  • 単なるパラメーター判定だけでなく、トラップにもアクション性を付与する
ボタンアクション 画面に表示されたボタンを押すことで回避。2〜3秒内に、トラップ停止のための赤/青/黄ボタンを押させる(正解であれば、トラップが停止)
バイスを左 or 右に傾ける ガスや矢などを左か右に避ける
ボタン連打で罠の作動を抑える 規定回数以上で回避
バイスを振って罠の作動を抑える 規定回数以上で回避

マップ生成支援

広大なマップを一からくみ上げるのは困難。まずは最低限動作する大雑把なマップを生成する機能は欠かせない。

方眼紙マッピング
  • 方眼紙マップで生成した全体マップから詳細マップを自動生成
  • 方眼紙マップでマス単位に指定できる内容は以下
    • ベースマップ
    • 自然パラメーター
    • 登場モンスター(マス単位)
  • 全体マップ⇒詳細マップの作業を可能にすることで、マップ作製負荷の軽減を期待

http://www.web-deli.com/sorcerian/next/images_blog/mapping.png

フラグメントマップ
  • 画面単位でマップをフラグメント(部品)として保存可能
  • 複数のマップオブジェクトの組み合わせで作成されたシカケを再利用可能に
  • フラグメントはクラウド上で素材として共有も可能に
    • 部品化によって、より高品質なシナリオ作成の前提を提供
  • ベースマップを切り替えれば、フラグメントに配置されたマップオブジェクトもベースマップに従って、自動置換

自動生成マップ

  • シナリオ開発者によって指定された特定エリアを、プレイ都度に自動生成
  • イベントやフラグに関係しないエリアであれば、マップを動的に差し替えることで、何度も再挑戦するインセンティブにもなるだろう*6
  • シナリオ開発者が指定できる情報は、以下の通り
    • マップサイズ
    • 複雑度
    • ベースマップ
    • 出現モンスター
    • その他、シカケ など

*1:水上では弱いモンスターが水中では凶悪に。逆に、水上で強力なモンスターを水中に落として、飛び道具で集中攻撃などの戦術もありうる

*2:全滅させた時に復活する回数

*3:X軸接触で会話発生(この場合、通行妨害の役にも)or[○]ボタンでのみ会話

*4:透明な<キャラ>で代替可能か?

*5:本文の図もこちらのツールへの埋め込み画像で作成しています。

*6:難易度の高いマップが生成された時には、その時の状態を保存し、リトライできる機能も面白いかも?