# exception manual

- FAQ
- 各種メニュー
- 複数人プレイについて
- ゲーム中の表示と操作
- web site
- 謝辞
- history

## FAQ

- 動作が遅い
  - ビデオカードのドライバが古い場合、最新のものにしてみてください。古いドライバだと実装が甘くて速度が出ないことがあるようです。また、Radeon(X1000系以上)はCatalyst 7.6以前のドライバだと不振な挙動をすることが確認されているため、Catalyst 7.7以降のドライバでないとシェーダを有効にできないようになっています。
  - マルチディスプレイの場合に極端に遅くなる現象が報告されています。大変申し訳ないですが、その場合一時的にシングルディスプレイにして対処してください。
  - GeForce 系のビデオカード+マルチコアCPUの場合、ドライバの設定にマルチ CPU 用の最適化オプションというものが存在します。これが有効になっていると著しく遅くなる現象が多数報告されており、このオプションを切ることで改善される可能性があります。
    スタート→コントロールパネル→NVIDIAコントロールパネル→3D設定の管理→グローバル設定→スレッドした最適化 を「オフ」
    (クリックで原寸)
  - 画面の色が 16bit カラーの場合、異様に遅くなったりシェーダ有効時に不振な挙動をすることが確認されています。32bit カラーでの動作が望ましいです。
  - 描画オプションを デフォルト(high) にした状態だと重過ぎる場合、「背景簡略化」on、「シェーダの使用」off、ブラー無効化onを順に試してみてください。
- アップデートが正常に動作しない
  - 最新版ではないのに起動時にアップデートの通知がない場合やupdater.exeが「最新版です」と言ってくる場合、セキュリティソフトがブロックしている可能性が考えられます。セキュリティソフトの設定等を変更してみてください。(ちなみにアップデートで行うことはhttpで圧縮済みファイルをgetしてきて展開するだけです)
  - ダウンロード＆展開まではできているように見えるのにファイルが更新されない場合、ファイルが「読み取り専用」になっていると思われます。インストールしたフォルダを丸ごと読み取り専用解除してみてください。
- コンフィグが起動しない
  - version 2.0以上の.NET Framework がインストールされていないと思われます。こちらからランタイムを入手＆インストールしてください。
    (.NET Framework は Microsoft 社製のライブラリで、Windows Update にもついてくるものです。多分怪しいものでは御座いません。)
- パッドを接続している時、何も押してないのに十字キーを押しっぱなしにしたような動作をする
  - コンフィグの「敷居値」を上げると直ると思われます。また、スタートメニュー→コントロールパネル→ゲーム コントローラ から十字キーを調整することでも直るかもしれません。
- 操作が難しい
  - 最初の内は方向転換の操作は回転ボタン+方向キーをおすすめします。直感的かつ使用ボタン少なめで済むため、混乱を避けられるでしょう。

## 各種メニュー

タイトル画面のメニューやゲーム中のポーズメニュー等はマウスでも操作できます。

- start
  - 難度とステージを選んでゲームを開始します。初期状態では封印されているメニューがありますが、クリア状況に応じて選択できる難度とステージが開放されていきます。
  - 難度に応じて、敵破壊時の破片の量、カタパルトの使用に必要なエナジーの量、破片を叩きつけた時のダメージ、ボスの耐久力と撃破時のタイムボーナスが変化します。
  - ゲーム本編からタイトル画面に戻ってきた時とゲーム進行中にウィンドウの×ボタンで終了させた時、自動的にrecordフォルダにリプレイデータを残します。
- record
  - リプレイデータの再生、ネットランキングの閲覧＆投稿を行う事ができます。
  - バージョンの合わないリプレイデータは一覧に表示されません。ネットランキングもバージョン別に用意されており、該当バージョンのみを表示します。
  - ネットランキングへの投稿は平均FPSが55以上のリプレイのみ受け付けます。
- config
  - 表示や描画に関する設定を行います。
  - 設定プログラムでできることと同様ですが、このメニューはゲーム進行中のpauseメニューからも呼び出せます。シェーダやブラーの on/off はリアルタイムに変更が反映されるため、動作を比較することが可能です。
- exit
  - ゲームを終了します。
  - 終了時に各種設定の保存、クリア状況の保存が自動的に行われます。(これはEscやウィンドウの×ボタンで終了させた場合も同様です)

## 複数人プレイについて

version 1.04から、ネットワーク越しの複数人プレイに対応しました。

一人がサーバープレイヤーになり(start→networkからserverを選択)、他のプレイヤーがクライアントとしてサーバープレイヤーに接続(start→networkからclientを選択し、リストからサーバープレイヤーを選択)、人数が揃ったらサーバープレイヤーがstartする、という手順になります。

サーバープレイヤーは特定のTCPポートを開けておく必要があります。(デフォルトでは10040番。コンフィグで変更可能) 正常に接続できる状態になっている場合、他のプレイヤーのstart→clientにあるリストに現れるようになります。 ただし、LAN内だとサーバーリストが働かず、この場合クライアントプレイヤーは直接サーバープレイヤーのIPとポートを入力する必要があります。

サーバープレイヤーは入力の遅滞を指定することができます。(delayの項。単位はフレーム=16.66ミリ秒) 遅滞を小さくするほど入力が早く反映されますが、同期待ちが発生する可能性が上がります。 プレイヤーリストに出ているping値(単位はミリ秒)を見て、数値が一番大きい人に合わせるといいでしょう。(例えばpingが50くらいなら遅滞は4、pingが100くらいなら遅滞は7くらいだと丁度いい感じになると思われます)

最大同時プレイ人数は4人で、複数人の場合コンティニューできる回数が4回になり、人数に応じてレーザーの威力、最大ロックオン数、カタパルトに必要なエナジーの量が減ります。

左側に出ているウィンドウでチャットができます。(ただし、日本語入力には対応していません)

## ゲーム中の表示と操作

### 各種表示と自機の挙動

- ライフゲージ
  - 地形や敵への衝突、敵弾や敵レーザーへの接触でダメージを受け、減っていきます。無くなると撃墜され、ゲームオーバーとなります。残機の概念はなく、撃墜即ゲームオーバーです。(ただし、2回までコンティニューできます)
  - ライフはゲージが満タンの状態で400で、1分間に100のペースで自然回復します。また、短期間に集中的にダメージを受けると約 2 秒の無敵状態が入ります。
  - 破片への衝突は特に大きなダメージを受けるため、破片群に呑まれる状況を避ける事が生存率を上げる鍵になるでしょう。
- エナジーゲージ
  - カタパルトを使用するために必要なエナジーの残量を示します。0から3までのレベルがあり、1以上(ゲージ色が灰以外)であればカタパルトを使用可能です。カタパルト使用後は余った分は持ち越しつつレベル0に戻ります。
  - 時間経過と敵を破壊することで適当に増加します。増加量は敵によってまちまちですが、固い敵や親子関係を持つ敵の親は大きなエナジーを持つ傾向があります。
- スコア
  - 得点。破片を自機の攻撃で破壊した時と、ボス撃破時のタイムボーナスによってのみ増えます。道中は後述のヒット数を増やす事でスコアに倍率をかけ、稼ぐことが可能です。
  - ボス戦中は一切スコアは加算されなくなります。
- ヒットカウンタ
  - 破片をカタパルトで吹き飛ばして破壊した場合、ヒット数が加算され、8秒間のカウントダウンが始まります。このカウントダウンが0になる前に継続して破片を吹き飛ばしていく事でコンボを繋いでいくことができます。
  - ヒット数の増加に伴い、入るスコアの倍率が上がっていきます。具体的には1hit毎に+0.0002倍で、5000hitで+1.0倍されます。
  - 稼いでもメリットはなく、むしろコンボ継続のためには危険な行動を強いられる場面があります。普通にクリアするだけでは飽き足らない人用のフィーチャーです。

### 自機の武装

- レーザー (1ボタン | Zキー | 左クリック)
  - ボタンを押してる間、自機が向いてる方向に対して発射される直進攻撃です。
  - 見た目は線形ですが、内部的には数珠繋ぎの弾として扱われており、両側の弾が消えると中央も消えるようになっています。そのため、回転させながら撃つと若干殲滅力が弱まります。
  - 対象が破片の場合、1回だけ貫通します。

- レイ (2ボタン | Xキー | 右クリック)
  - ボタン押しっぱなしで周囲の敵のロックオンし、離すと一斉発射される追尾攻撃です。
  - ロックオンは「まだロックオンされていない自機に最も近い敵」を対象に自動的に行われます。1秒間に60回、最大100体まで同時にロックオンできます。
  - ロックオンしている対象が破壊された場合、未発射の場合はロックオン自体がキャンセルされます。発射済みの場合、その時点でレイに最も近い敵を再度ロックオンして追尾を再開します。
  - 理論上の秒間攻撃力はレーザーと同じ60です (レイ1発=レーザーの数珠1発)。ただしレイは発射の瞬間はロックオンできないため、若干劣ります。
  - 対象が破片の場合、2回だけ貫通します。

- カタパルト (4ボタン | Cキー | 中クリック)
  - ゲージを消費し、自機前方の一定範囲にいる対象を瞬時に加速させ、吹き飛ばす特殊な攻撃です。(使用可能な状況になると有効な領域が表示されます)
  - 自機から離れた位置ほど強い効果があります。(なので、レベル3の先端部分に当てた時が最も勢いよく吹き飛びます)
  - この攻撃それ自体にダメージを与える能力はありませんが、破片をはじめとする一部のオブジェクトは一定速度以上で他のオブジェクトに衝突すると大きなダメージを与える性質を持つため、有効に使えば強力なダメージソースになり得ます。

- ディレクション (3ボタン+十字キー、または5/7ボタン(PSパッドだとR1/L1) | V+方向キー、またはA/Sキー | マウス移動)
  - 自機の攻撃方向を変更します。

### 敵の挙動

- 破壊可能な「敵」、破壊不可能な「地形」に大別されます。
- 基本的に撃ったら壊れたり光ったり等リアクションがあるのは敵、無反応なのは地形です。ただし、発光している無反応オブジェクトは何らかの要因で一時的に無敵化している敵で、関連性のある敵を壊す等で破壊できる可能性があります。
- 敵にも地形にもカタパルトで吹き飛ばせる対象と吹き飛ばせない対象があります。見た目で判別することはできませんが、小さいオブジェクトは吹き飛ばせる傾向があります。
- 各オブジェクトは大体見た目そのままの当たり判定を持っていますが、ハッチ系の敵(フタが開いてザコを射出してくる系の敵)は例外的で、フタが開いても中には入れません。また、自機と破片の衝突判定は見た目に反して球状です。

### その他

- Escキーもしくはパッドのメニューボタンでpauseメニューを呼び出せます。
- PrintScreenキーでスクリーンショットを撮影できます。

## web site

要望、苦情、バグ報告、技術的話題等ありましたら以下のリンク先の掲示板かblogのコメント欄等へ。

- exception専用ページ
  - http://i-saint.skr.jp/exception/
- primitive web site
  - http://i-saint.skr.jp/

## 謝辞

以下のライブラリを使用しています。

- OpenGL (http://www.opengl.org/)
- GLEW 1.4.0 (http://glew.sourceforge.net/)
- freetype 2.3.5 ＆ FTGL 2.1.2 (http://homepages.paradise.net.nz/henryj/code/#FTGL)
- SDL 1.2.12 (http://www.libsdl.org/)
- SDL_mixer 1.2.8 (http://www.libsdl.org/projects/SDL_mixer/)
- Ogg Vorbis (http://www.vorbis.com/)
- zlib 1.2.3 ＆ libpng 1.2.8 (http://www.libpng.org/pub/png/libpng.html)
- boost 1.36.0 (http://www.boost.org/)
- Mersenne Twister (http://www.math.sci.hiroshima-u.ac.jp/~m-mat/MT/emt.html)
- VLゴシックフォントファミリ (http://dicey.org/vlgothic/)
- .Net Framework 2.0

ザ・マッチメイカァズ様の音素材を使用しています。
http://osabisi.sakura.ne.jp/m2/

## history

- 1.10 (2008/08/31)
  - 動作速度の向上。(全体的に早くなってますが、特にマルチコアCPUの時違いが顕著です)
  - スレッド数の設定項目はゲーム中でも即座に変更が反映されるように改良。
  - ブラーエフェクトの調整。
  - futureモードの4面ボスの体力調整。(3回では倒せなくなったはず)
- 1.09 (2008/04/18)
  - 描画オプションでブルームの強さと追加光源の有無を変更できるように。
  - コンフィグでハットスイッチの有効/無効を指定できるように。
  - マルチプレイヤーモード選択時(Start→Server/Client選択時)、サーバーリストへの登録に失敗したら固まることがあったのを修正。
- 1.08 (2008/04/14)
  - 接続しているパッドの数が変わったりするとconfig.exeが起動時にエラー出す可能性があったのを修正。
  - ダメージ食らったときのエフェクトを追加。
- 1.07 (2008/03/19)
  - 実はRadeonでシェーダー有効にできるようになってなかったのを修正。(協力: tomotacoさん)
  - 1.05以後コントローラのハットスイッチに対応してたのを取りやめた。
- 1.06 (2008/03/17)
  - コンフィグに、使用するコントローラの指定、方向転換の軸の指定等の項目追加。
- 1.05 (2008/03/15)
  - RadeonX1000系以降の場合、Catalyst 7.7以降のドライバであればシェーダを使えるように変更。(協力: tomotacoさん)
  - 一部のコントローラの右スティックでの方向転換に対応。(PS2用とXBOX360用のコントローラを元に実装)
  - ネットプレイ時にマウスでの回転がうまく定まらなかったのを改善。
  - ランキング取得やサーバーリスト取得の通信部分を並列化。
  - 1.03→1.04でいくつか望ましくない挙動の変化があったのを修正。
- 1.04 (2008/03/02)
  - ネットワーク越しの2～4人プレイに対応。説明。
  - リプレイ再生時に各種攻撃ボタンを押すことで2,4,8倍速再生できるように。
  - 頂点バッファ有効にした状態の描画を若干高速化。
  - GL_ARB_texture_non_power_of_two未対応の環境でもブラーを使えるように。(パッチ提供: tomotacoさん)
  - 描画頻度半分にするオプション追加。
  - 使用ライブラリ、バージョンまで明記するように。
- 1.03 (2008/01/28)
  - 1.00→1.01でWindows2000で動かなくなるという切腹モノのミスやってたらしいので修正。
- 1.02 (2008/01/16)
  - 移動キーもコンフィグで変更可能にした。
  - リプレイでもクリア情報が保存されてしまっていたので対処。
- 1.01 (2008/01/12)
  - 回転ボタン両押しで最寄のx/y軸方向に合わせるようにした。
  - マウス操作に一応対応。
  - コンフィグのパッドの入力閾値の最大値を32000に。
  - マルチコアCPU環境下のスレッドの割り当て方法を改善。
  - タイマーで更新間隔取るときでも60FPSぴったりになるように改善。
  - VSync待ちが使えない状況で超高速で動作してしまう問題へ対処。(100FPS超えたらタイマーに切り替えるようにした)
  - ステージの構成とスコア配分微調整。
  - futureモード襲来。
- 1.00 (2007/12/31)
  - C73リリースバージョン。
- 0.03 (2007/12/24)
  - ボスが更に軟くなった。
  - 吹っ飛び中の破片郡はレーザー浴びても壊れなくなった。
  - レイの追尾精度と貫通力強化。
  - 自機の初期LIFEが少し減って、代わりに自動回復の速度が増した。
  - コンボが切れるまでの時間が伸びた。
  - レイとレーザーのボタンを同時に押した場合、レイのロックオンを優先するように変更。
  - 一部敵キャラ挙動改良。
  - 難度の名称変更(normal→light、heavy→normal、excess→heavt、future→excess)。
  - 画面の更新タイミングの測り方を、CPU使用率が激しい代わりに正確な方法に変更。 (これまでスペックは十分なのに異様に動作が遅かった場合、直った可能性があります)
  - パッドの入力敷居値を上げ、コンフィグで変更もできるようにした。 (これまで何も押してないのに十字キー押しっぱなしにしたような挙動をする症状が起きていた場合、直った可能性があります)
  - 体験版は自動アップデート機能を外した。
- 0.02 (2007/11/13)
  - RadeonのOpenGL拡張機能チェックに不備があったのを修正。
  - 左右回転用ボタン追加。
  - ゲーム中にBGMのon/off切り替えたときの挙動がちょっと変だったのを修正。
  - 設定プログラムにエフェクト最低のデフォルト設定追加。初期設定はこれに。
  - 3面ボス軟くした(normal LIFE30%減、heavy LIFE20%減、excess LIFE10%減)。
  - 難度excessは最初から開放するようにした。
- 0.01 (2007/11/11)
  - 作った。