
NieはゲームエンジンにRGSS3(RPGツクールVX Ace)を使用していますが、スクリプト部分をフルスクラッチし、独自のDLLやWin32 APIを活用することで、通常のVX Ace製ゲームとは異なる機能を実装しています。
この記事ではNieに実装した機能のうち特徴的なものについて解説していきます。
なおNieのソースコードはすべて公開されているので、そちらも合わせて参考にしてください。
Contents:
(今のところほとんどが未執筆なので、そのうち充実させていければいいなと思っています)
- セーブデータ
- システムデータとゲームデータ
- ゲーム終了時(Alt+F4含む)の自動セーブ
- セーブ/ロード画面でのプレビュー用ヘッダー
- スクリーンショット
- 一旦セーブしてからキャンセルする手順の理由
- 確率
- 〝いい感じ〟のエンカウント率計算
- 〝いい感じ〟のダメージ分散
- サウンド
- 近づくと大きく聞こえるSE(焚火、滝)
- 部屋に入ると小さくなるBGM
- イベント
- 隣接時の吹きだしアイコン
- 既読で消えるアイコン
- 実行内容に独自のコマンドを実装する
- 経路探索で通過できていいかどうか
- マップ
- 暗闇、霧の表現(+天候)
- 32x32以外のタイルマップ(拡大・縮小)
- マップ毎の色調・明度設定
- ロードなしのクロスフェード付きマップ移動
- キャラチップの拡縮・回転・位置ずらし等
- イベントからのスクロールロック
- シンボルのランダム配置(プレイヤー・敵・宝箱)
- 空間分割(近くのイベントだけを処理)
- ショップ
- 特殊なショップ(スキル、クエスト、骨董商)
- 状況に合わせて、可変する商品
- 「売り切れ」
- 大事な物の買戻し(骨董商)
- 購入したかで条件分岐する
- メッセージ
- 入手アイテムのテキスト自動生成(宝箱等)
- 選択肢のカーソルを残す
- 状況に合わせて、可変する選択肢
- キャラクター強化
- 武器の強化(アイテム合成)
- 秘術の習得(アイテム合成)
- データベース
- 言語対応 →《多言語対応》参照
- パラメータの外部化
- エディタに無い項目の設定(「メモ」に書く作戦)
- リソース管理
- リークしづらいリソース管理
- データの多重読み込みの回避
- 多言語対応
- 使用言語の判定
- UIラベルの言語対応
- ゲームデータ(データベース)の言語対応
- テキスト(イベント)の言語対応
- 入力
- キーボード対応
- RGSS3非対応のキーの使用
- F1,F12の抑制と独自処理
- マウス対応
- ゲームパッド対応
- キーボード対応