# ExplodeRunnerの説明書

### ■Explode Runnerって？

「そういえば、Windowsで普通に動くロードランナーって無いよね？」
「じゃあ、作っちゃおう！」 「ついでにMacでも動かしちゃおう！」
・・・ということで生まれた、ロードランナークローンです。
ファミコン版・GBA版のアルゴリズムをベースに、D言語+SDLで書かれています。

最初は「ロードモナー」という名前でしたが、検索すると「ロードモナーク」というタイトルがヒットしてしまうので、変更しました。

ダウンロードはこちら (ExplodeRunnerD-xxx.zip)
Google codeでの公開ソース

### ■特徴

- ローディングや待ち時間が無く、快適
- 毎秒60フレームの軽快な動作でさくさくプレイ
- ゲームパッド対応
- 標準200面＋エディット100面 (好きなだけ追加可能)
- エディットできるサイズは無制限・ロボットの数も無制限
- プレイ中にマウスでステージを書き換えるリアルタイムエディット機能
- GBA版の「脱出扉」「動かせるブロック」が使える
- 自分のベストタイムが自動で録画され、いつでも再生することができる。タイムアタックが熱い！
- ベストプレイ動画を再生しつづけるスクリーンセーバー付き
- プログラムのソースを全公開＆改造大歓迎 Macでも動く！

### ■ルール

全ての金塊を集めて最上段に行くとステージクリアです。 一度プレイした面はいつでもセレクトできるようになります。

### ■操作方法

ゲーム中
移動 | 上下左右キー
左を掘る | Ｚ
右を掘る | Ｘ
一時停止 | スペース
ギブアップ | ＺとＸを押しっぱなしにする
ズームイン/ズームアウト | PageUp/PageDown

※ 各面クリア時に、最速タイムを出すとリプレイが自動保存されます。 　リアルタイムエディットをした場合は保存されません。

エディット中
カーソル移動 | 上下左右キー、またはマウス
ブロック変更 | PageUp,PageDownまたはマウスホイール
ズームイン/ズームアウト | SHIFT押しながらPageUp/PageDown
プレイ/エディット切り替え | ENTERまたはDELETEキー(一瞬で切り替わります)
ステージサイズ変更 | CTRL＋上下左右
上下左右にずらす | SHIFT+上下左右 (CTRLも押すとローテートします)

※ ズームイン/アウトした状態でセーブすると、その解像度で開始します。

※ ステージサイズは最小2x2から∞まで。 マシンパワーの許す限り作成可能です。

※ セーブ/ロードしてから何も変更していない面をクリアした場合、リプレイが保存されます。

リプレイ再生中
４倍速再生 | CTRLキー
一時停止 | SPACEキー
拡大縮小 | PageUp,PageDownまたはマウスホイール

※ 裏技 ※
PAUSE中に「T」か「A」を押すと、リプレイを中断して 続きをプレイする事が出来ます。そのままステージをクリアして、 最速タイムが更新された場合は、そのリプレイが保存されます。

### ■コマンドラインオプション

-r [width] [height] | 画面の大きさを指定します。特に制限はありません。デフォルトは800x600
-f | フルスクリーンモードで起動します
-w | ウィンドウモードで起動します
-m | 無音モードで起動します。

### ■iniファイルの追加設定

メモ帳などでconfig.iniを開き、パラメータを追加してください。

SCREENSAVERWIDTH | スクリーンセーバー起動時の解像度を指定します。 省略時は通常時と同じ解像度になります。
SCREENSAVERHEIGHT
SCREENSAVERSOUND | 1にするとスクリーンセーバー時にもサウンドが再生されます。 省略時は0です。

### ■おまけのスクリーンセーバーについて

scrファイルをWindowsフォルダにコピーするのではなく、そのディレクトリで 右クリックし「インストール」してください。

### ■プログラムの改造について

プログラムの改造・配布は大歓迎です。
こちらへの連絡も不要です。特に画像関係はまだまだしょぼいので、 色々改良してみてください。

基本的には、ゲームの改造はExplode以下のファイルを弄るだけでOKです。
SDLの処理についてはD言語ゲームライブラリ「dHell2」を参考にしています。

各ディレクトリの説明

- _data\img 画像データ(bmp形式)
- _data\sound 音声・BGMデータ(wavまたはogg)
- _data\stage
  ステージ・エディットデータ。
  stageXXXX.txt editXXXX.txtというデータを連番で増やしていけば、
  全ステージ数がそのまま増えます。
  - _data\stage\replay
    各ステージのリプレイデータ
- Explode ゲームプログラム本体
- Form ウィンドウ・メニュー項目
- Graphics グラフィック関係のインターフェース
- Input 入力・キーコード関係 リプレイの保存はInputRecorder
- lib コンパイル用のライブラリ類
- OpenGL OpenGLライブラリ
- OpenGLMac OpenGLライブラリ(Mac用)
- resource リソース類
- SDL SDLライブラリ
- SDLBridge SDLライブラリ D言語ゲームライブラリ「dHell2」を参考にしています。
- Sound 音声・サウンド関係のインターフェース
- State メインループ用のインターフェース
- System 起動時の処理・初期化関係

ゲーム配布時に必要なディレクトリは、_data , resource の2つです。

### ■今後の目標

- GBA版の「隠れロボット」を実装する
- 「爆弾モード」を実装する
- ステートセーブ/ロードの実装(難しい?)
- Mac版、Linux版の配布
- lmdファイルの読み込み