最終更新:2007/8/14
気をつけろ!今度は髭おやじだ!
CarnageHack
ソフトウェアの情報
最新は2.1.1です。(2007/8/14)
バグとその対策コーナーではソフトウェアに関する最新情報をお送りしてます。
ダウンロード
開発ブログ
海賊艦長航海日誌にHOME→CarnageHackとカテゴリを用意しております。
開発ペースは遅いのでご注意を(笑)
バックストーリー
党首「…最近髭おやじの姿が見えんが、どこへ行ったのか知ってるものはおらぬか?」
党員A「…姿が見えないほうが良い気もするんですけど…(--;」
党員B「あ、浪人の先生と一緒に南海の孤島に古代遺跡を掘りに行きましたよ。」
党首「古代遺跡!?ということはお宝がざくざく…よし、我々も行くぞ!」
党員B「いや、あの(^^;;、…」
党首「ほう、これが遺跡の入り口か。」
浪人F「あ、党首様、どうしてここへ?」
党首「お宝がざくざく出たら横からゲットするために決まっておるだろ(−−)」
浪人F「(--;;いや、じつはですね、出てくるのはOKEのパーツなんですよ。」
党首「なんだ、お宝ではないのか。」
党員B「…うーん、出かける前に言おうとしたんですけどね(^^;」
浪人F「髭おやじが喜んで入っていったんですけどねえ…まだ戻ってこないんですよ。」
党首「中で寝てるのか?」
浪人F「…たぶん違うと思います(--;。」
党首「じゃあとっとと中へ入って調べてこんかい!」
浪人F「それがですね、中にOKEがうようよしてるんですよ。幸いにもOKE組み立てセットは持ってきてるので対抗するOKEは作成できるんですが…アサルト月影しか作れないです」
党首「む、じゃあ、そのOKEで中へ入ってパーツを拾ってきたら良いではないか。」
浪人F「えっ(--;」
党首「せっかく落ちてるものなら使わなくては損だろう(−−)。で、ついでに髭おやじも捜索させればいい。」
浪人F「…でも、パーツのセンサーはありますが髭おやじを探知できるセンサーは無いですよ。」
党首「ん?どうせ髭おやじはパーツを集めてるだろうからパーツ探索で代用できるだろ?」
浪人F「…(--;;(無理な気がする)」
概要
カルネージハートとNetHackを足して割ったような感じの無人機動兵器ダンジョン探索ゲームです。
ハードウェアとソフトウェアを設計してダンジョンへ出撃させてどんどん地下へと降りていき20階以下にいるはずの髭おやじを救出して地上へ帰るのが目的です。
ハードウェアは最初基本的なアサルト月影しか使用できませんが、途中で落ちているパーツを回収して地上へ持ち帰ることで強化することが出来ます。
なお、パーツ探索で髭おやじを検出できますが、パーツと区別がつかないのでご注意ください(^^;
導入
実行するにはJAVAの実行環境が必要です。
まずは、JAVAのSDKもしくはランタイム環境を入手してインストールします。
JAVAの実行環境は、ここで入手できます。
日本語版ダウンロードのページでJREとなっているのがランタイム環境なのでソースをいじったりしない限りはこれを入手すればよいです。
JAVAの実行環境が用意できたら、つづいてCarnageHackの導入を行います。
CarnageHackのJARアーカイブをダウンロードして好きな場所へ格納します。
他のものと混ざらないようにCarnageHackというフォルダもしくはディレクトリを作成してそこへ格納すると良いでしょう。
実行
ファイルを格納したフォルダもしくはディレクトリへ移動してCarnageHack.jarを実行します。
環境によってはGUI上でCarnageHack.jarを開くことで実行できます。
#各GUI上でのJARファイル実行方法に従ってください(^^;
GUI上からの実行が出来ない場合はコマンドラインから、
java -jar CarnageHack.jar
と入力するとCarnageHackが起動します。
起動するとボタンが五つ並んだメニュー画面が表示されます。
上から、ハードウェア設計、ソフトウェア設計、ダンジョンへ出撃、現在の保持パーツ参照となっています。
ハードウェアとソフトウェアの設計を行ってからダンジョンへ出撃することになります。
ハードウェア
ハードウェアのボタンを押すとハードウェア設計ウィンドウが表示されるので、各パーツを選択してハードウェアを構築します。
各パーツは初期パーツ以外は回収してくる必要があり、回収して保持している数がStockとして表示されます。
武器以外のパーツは一つ装備して出撃するごとに出撃時にStockが減少します。
武器はそれぞれ弾薬数の欄で入力した数だけStockが減少することになります。
なお、ハードウェア設計時に弾薬数を入力するときにはかならず入力してからEnterを押して更新するようにしてください。
更新されると下部に表示されている総重量が変化します。
更新をしないと入力された値が有効にならないのでご注意ください。
ウィンドウを閉じるとハードウェア設計を終了してメニュー戻ることが出来ます。
ソフトウェア
ソフトウェアのボタンを押すとソフトウェア設計ウィンドウが表示されます。
ソフトウェアにはA,B面があり、通常はA面が実行されていてプログラム変更チップを実行することでもう一つの面の先頭へ処理を移動することが出来ます。
左にソフトウェアを配置するソフトウェアテーブル、右にソフトウェアチップパネルが表示されます。
右のパネルでボタンを押して選択状態にしてから、左のテーブルで左クリックをするとその場所にチップを配置することが出来ます。
Controlキーを押しながら左クリックを行うとそのチップを削除できます。
チップの上で右クリックを行うことでそのチップを修正することが出来ます。
Shiftキーを押しながらテーブル上のチップを左ボタンでドラッグするとそのチップを移動することが出来ます。
同じくShfitキーを押しながら右ボタンでドラッグするとそのチップのコピーを行うことが出来ます。
ソフトウェアテーブルを閉じるとソフトウェア設計を終了してメニューへ戻ることが出来ます。
出撃
設計したハードウェアとソフトウェアでダンジョンへ出かけます。
ダンジョンウィンドウとステータスウィンドウが画面に表示されます。
ダンジョンウィンドウでは現在のフロアを真上から見下ろした状態が表示されます。

ダンジョンフロアの大きさは50×50で、
- Uで表示されるのが上り階段
- Dで表示されるのが下り階段
- Pで表示されるのがパーツ
- 壁らしきものが壁
- 月影らしきものが月影(^^;
という感じで表示されます。
ステータスウィンドウは約1秒ごとに内容が更新されます。
ステータスウィンドウの更新間隔はダンジョンウィンドウで左クリックをして表示されるダイアログボックスで変更することが出来ます。
入力は10分の1秒単位で行います。
また、ダンジョンウィンドウで右クリックを行うと現在の表示中心位置をクリックした場所へ移動させます。
通常はプレイヤーの月影が中心になるように表示されていて、Shiftキーを押しながら右クリックでこの状態へ戻すことが出来ます。
ダンジョンウィンドウを閉じると通信を切断してOKEを破棄してメニューへ戻ることが出来ます。
燃料切れの時などに活用してください(^^;
うまく地上に戻ってこれたときにはその旨が表示されて、拾ってきたパーツが倉庫に登録されます。
OKEは26スロットのマイクロバックパックを装備していて、0から25番のスロットにそれぞれ1種類のパーツを格納することが出来ます。
同じ種類のパーツを入手したときは同じスロットへ格納されていきます。
マイクロブラックホールを応用した謎のバックパックなのでどれだけ回収しても重量に影響はありません(^^;
TO DO
実装したいなあと思っているだけの機能
- サーバークライアントモード
現在ローカルに保存している取得パーツ情報をサーバーに保存、他ユーザーとのパーツ交換を行えるようなバックエンドシステム。
骨ファイルのサポートと合わせてそれもサーバーに置くという可能性も考えられる。
サーバーに必要な機能としては、パーツリスト管理と他ユーザーとのパーツ交換、サーバー内メール機能、掲示板、といったところか?
バグとその対策
例外がでるとコンソールにずらずらと表示が出るのでこれがあるとどこで例外が出たかわかる…のですが、スクロールアウトして最初の方が見えないことが多いですね(^^;
まあ、もしも最初のほうから見れる場合はそれをあわせて連絡してもらえると追跡しやすいです。
更新履歴
1.xから2.xへ更新するときは骨ファイルに互換性がありません。
あらかじめ骨ファイル(bone*.*)を削除しておいてください。
- 2.1.0→2.1.1
-
- ダンジョンウィンドウのサイズ保存がうまく行われないのを修正
- 2.0.0→2.1.0
-
- 実行形態をJARファイルに変更
これにより、アーカイブを展開してから実行する必要がなくなったので、GUIでダブルクリックするだけで実行できる…はず(^^;
- 誘導弾の挙動を修正
- 内部の角度算出ルーチンの改良
- ダンジョンウィンドウの移動にステータスウィンドウが追従しないのを修正
- テキスト入力フィールドにフォーカスが当たったときに、入力内容を選択状態にするように変更
これにより、修正のときに数値の上書きがしやすくなった(笑)
- ハードウェア設計画面、ソフトウェアチップ設定画面表示を調整
- 骨ファイルの保存に関する修正
- 若干のバランス調整
- 1.4.1→2.0.0
-
- ソフトウェアをA,Bの2面設計可能にした
この結果骨ファイルのフォーマットが変更された
- パーツを取得したときにある確率で補給パーツが出現するようになった
補給パーツは取得するとバックパックに入るのではなく、耐久度や燃料、弾薬の回復をある確率で行う
- 武器類の弾速を調整して弾が飛ぶところを見やすくした
その結果、回避ルーチンによる回避が可能になった(^^;
以前は厳しすぎた(笑)
- 1.4.0→1.4.1
-
- ダンジョンウィンドウの大きさを変更可能にした
- 起動時にスプラッシュダイアログを表示するようにした
- 1.3.4→1.4.0
-
- 角度算出ルーチンの修正
- ダンジョンウィンドウのタイルサイズを16×16に変更して、迫力ある大きさにした(笑)
- 1.3.3→1.3.4
-
- 階段検出と階段昇降を若干調整
- OKEの処理において角度算出の高速化
- 1.3.2→1.3.3
-
- 1.3.2でソフトウェアをロード後にチップ配置が出来なかった
- 1.3.1→1.3.2
-
- 1ボタンマウスのために、Alt+ボタンでコピーが出来るようにした
- チップ配置後に配置チップ選択を解除するようにした
- 既存チップの上でボタンを押したときには配置ではなく修正を行うようにした
- 1.3.0→1.3.1
-
- ファイル選択ダイアログのフィルタ設定を動かない環境があるのではずした
- 1.2.3→1.3.0
-
- JDK 1.1で利用可能なように大幅書き換え
今度はクロスコンパイルして確認をとっているので問題なく動くはず(^^;
- 1.2.0→1.2.3
-
- 依然としてSwingを利用している部分が残っていたのを修正
- 敵ハード及びソフトウェアをロードする処理でJDK 1.2のメソッドを使用している部分を修正
- マウスイベントの処理でJDK 1.4のメソッドを使用しているの部分を修正
- ソフトウェア設計で状況によってはJAVA例外が発生するのを修正
- jarアーカイブ展開ツールHigeJarを用意した(^^;
- 1.1.2→1.2.0
-
- 敵弾探索で自分自身の弾を検出してしまうことがあるのを修正
- 副射の複数発射が正常に動作していないのを修正
- ツールキットをSwingではなくAWTのみを使用するように変更
これによりJDK 1.1の環境でも動作する…はず(^^;
- ダンジョンでOKEが破壊されたときに破壊要因を表示するようになった
- 敵の撃墜数が終了時に表示されるようになった
- パーツ取得チップ作動範囲を(0,20)3ブロック以内に変更して発動精度を高めた
- 1.1.1→1.1.2
-
- 骨ファイルへ書き込むOKEデータが正しく書き込めていなかった
- 1.1.0→1.1.1
-
- ソフトウェア編集で配置するチップを選択している状態でチップ削除を行おうとすると削除後に選択しているチップを配置しようとしていたのを修正
- 骨ファイルの読み出しがうまくできていなかった
- 1.0.5→1.1.0
-
- 旋回チップが正しく旋回できていなかったのを修正
- 骨ファイルのサポート
- ソフトウェアにて斜め矢印をサポート
- ダンジョンビューの改良
- 生還した時の取得パーツ一覧表示をサポート
- チップ編集ダイアログのサイズ変更を出来ないようにした
- 髭おやじのフロアではくだり階段が出ないようにした(はず)
- 1.0.4→1.0.5
-
- チップのコピーと移動機能を追加
- ソフトウェアチップテーブルのスタート位置の矢印表示と外周枠の表示を行うようにした
- チップ編集ダイアログにおける数値入力エリアの大きさに関して若干の調整
- 1.0.3→1.0.4
-
- 探索系のチップがまだ正常に動作しない場合があったのを修正
- 1.0.2→1.0.3
-
- パーツを配置する際にパーツ位置情報を重複して登録してしまっていたのを修正
- ハードウェア設計やソフトウェア設計で数値データを入力するところで数値以外のものが入ると例外が発生していたのを修正
- 敵のハードウェア自動生成の際に重量調整部分で無限ループに陥ることがあった
- パーツ取得や階段移動が機体の機動性によってはうまく実行できないのでそれぞれのアクションの行動時間を20ターン(約2秒)に伸ばした
- 機体ステータス表示の更新間隔が設定ファイルに保存されるようになり、毎回再設定する必要がなくなった
- 1.0.1→1.0.2
-
- フロアに配置するパーツ数を深いフロアほど多くなる可能性が出るように調整
- 1.0.0→1.0.1
-
- 探索系の動作が正常に行われないときがあるのを修正
- OKEの機動力計算がおかしいのを修正
- ソフトウェア設計でマウスのクリック取得をマウス押下のイベントに変更して操作性を若干改善
- 発射された弾の初期位置がおかしいのを修正
- 登り階段を登ったときに一つ上の階の登り階段へ出現してしまっていた
- 弾薬消費に応じてOKEの機動力計算を再度行うようにした
- 敵側の自動設計ハードウェアで弾約数を調整して重量を最大重量の1から1.5倍に収めるようにした
- 標準装備を拾うことが無いようにチェックしたはずだったが、チェックが間違っていたのを修正
- OKEが一旦階段を上った後、ふたたび下へ降りたときの処理がおかしかったのを修正
- 初期リリース→1.0.0
-
- パーツ情報チェックの動作不良を修正
- パーツを取得して地上へ帰ったときの例外発生を修正
- ハードウェア設計で燃料タンク選択が正常に動作しないのを修正
- パーツ取得チップの動作に入る条件を範囲(0,45)距離3ユニット以内に修正
- ソフトウェア設計でスタート位置にチップを配置していないときも出撃不可として扱うようにした
- 取得したパーツを消費してストック数が0になってもパーツリストから削除されない不具合を修正
- 現在の保持パーツ参照機能を追加。
- 拾えるパーツで本来入手できないはずの標準装備が含まれていた
- 残りHPチェックが出来なかったので出来るようにした(^^;
- ダンジョンウィンドウでステータスウィンドウの表示更新間隔を設定できるようにした
知られているバグ
知られていないバグ
わかりません(笑)
メールでサブジェクトに[CHHACK]と頭につけて連絡してください(^^;
または、ブログの該当エントリにコメントしてもらっても良いです。
おまけ
ソフトウェアコレクション
随時更新…するはず(^^;
卍党ホームページへ
このページに関する苦情・要望などは、私(福井@初代格闘王)宛てにメールをどうぞ。