Space Maze (Shooting Game for Linux)

全宇宙は最凶の宇宙生命体 Fortress に支配されてしまっていた。。。

反乱軍伝説のパイロットであるあなたは Fortress の支配から人々を救うため、
奴らの本拠地である Space Maze(宇宙迷宮)に向かうべく、愛機 FireFly のエンジンに火を入れた。

Space Maze は、Fortress 直属の部下 Flyer が統括する 3箇所の表層迷宮と、
Fortress が生息する最深迷宮で構成されている。
最深迷宮に潜入するためには、まず表層迷宮にて Flyer が守る 3つの鍵を入手しなければならない。

見事鍵を集め最凶の生命体 Fortress を倒し、全宇宙に平和をもたらすことが出来るのか。
壮絶な最後の戦いが今始まった!

1. はじめに

Space Maze は迷宮探索型のシューティングゲームです。

最凶の生命体 Fortress に支配された全宇宙を救うため、反乱軍伝説のパイロットであるあなたは、愛機である FireFly に乗りこみ Fortress を倒すため Space Maze(宇宙迷宮)に潜入しなければなりません。

Space Maze は、Level1 〜 Level3 の表層迷宮および Fortress が生息する Level4 の最深迷宮で構成されています。あなたはまず、Level1 〜 Level3 にてFortress 直属の部下である Flyer が守る 3つの鍵を手に入れる必要があります。この 3つの鍵が全て揃った時に始めて、最深迷宮 Level4 の扉が開くのです。

無事 Level4 の扉を開けたらあなたの全てを懸けて Fortress を倒し、全宇宙に平和を取り戻してください!

2. 更新履歴/お知らせ

  • 2007/12/25
    バージョン 1.1.2 をリリースしました。 最近のディストリビューションの様に X が /usr/X11R6 の様な場所ではなく、 /usr/bin などの標準ディレクトリに存在する場合に configure が失敗してしまう場合があったため、 configure スクリプトを修正しました。
  • 2007/01/14
    freshmeat.netプロジェクトページ が出来ました!
  • 2006/12/13
  • 2006/12/06
    Vector 様の ページ からダウンロードできる様になりました!
  • 2006/10/10
    バージョン 1.1.1 をリリースしました。 マニュアルページの環境条件の項目にコメントを追記しました。また、libpng のチェックを configure.in に追加しました。
  • 2006/10/09
    バージョン 1.1.0 をリリースしました。全ての効果音を自作し、GPL v2 に完全準拠としました。
    デフォルトの fps を 60 から 45 に変更しました。
  • 2006/08/13
    バージョン 1.0.2 をリリースしました。1.0.1 からの変更点は、マニュアルの HTML に問題があったため修正しました。
  • 2006/08/03
    バージョン 1.0.1 をリリースしました。1.0.0 からの変更点は、マニュアル用 css を一部変更しただけです(IE で正常に表示されない)。

3. 環境条件

現状では、X Window および Open Sound System Free が動作する Linux® システム上でのみ動作します。また、Imlib、libpng および pthread が必要です。Open Sound System Free は Linux Kernel 2.0.x - 2.4.x でのデフォルトのサウンド再生環境ですので、御使用の Linux システムでサウンドが再生できる環境であれば大丈夫だと思います。

Kernel 2.5.x からは ALSA がデフォルトのサウンド再生環境に変わりました。この環境でコンパイルおよび動作が正常に行えるかどうか、作者が環境を持っていないため確認できていません。御確認いただけたら、作者に連絡いただけるとありがたいです。

また Space Maze のゲーム画面サイズは 640x480 固定です。

バージョン 1.1.0 以降は、効果音を 8 ビットから 16 ビットに変更した関係で、リトルエンディアンの CPU でしか音が正常に鳴りません。x86( Pentium 等の Intel CPU )でのみ動作確認しています。RLoss.c をビッグエンディアンでも動作する様に書き換えれば良いのですが、筆者が環境を持っていないため対応できません。なお、--enable-sound オプションを付けずに Space Maze を起動して遊ぶ分には問題ありません。

どんな音が鳴ってしまうか分かりませんので、耳を痛めないために x86 以外の CPU で遊ぶ場合には --enable-sound オプションを付けないか、ボリュームを小さくして試しながら遊んでください。

4.ダウンロード

  • Space Maze ソースコード( gzip 形式 )
    ファイル:spacemaze-1.1.2.tar.gz
    SHA-1 チェックサム:
    fe400a7edc10601885e0adaeab38a6b848e2c215  spacemaze-1.1.2.tar.gz
          
  • Space Maze ソースコード( bzip2 形式 )
    ファイル:spacemaze-1.1.2.tar.bz2
    SHA-1 チェックサム:
    7f513c30dec5a05d0acdcf0ab04de4dd6daac878  spacemaze-1.1.2.tar.bz2
          

5. インストール/アンインストール/バックアップ

  • インストール
    1. configure 実行

      最上位ディレクトリで configure を実行します。サウンド機能や pthread が利用できないなどの場合には、 configure はエラー終了します。現状、コンパイル時にサウンド機能をオフにしたり pthread を利用しない様にしたりは出来ません。指定可能なオプションは以下の通りです。

      オプション 内容
      --prefix=PREFIX インストール先を指定します。デフォルトは /usr/local/spacemaze です。
      --exec-prefix=EPREFIX アーキテクチャ依存ファイルのインストール先を指定します。デフォルトは "$PREFIX" です。
      --bindir=DIR 実行ファイル(spacemaze)のインストール先を指定します。デフォルトは "$EPREFIX/bin" です。
      --datadir=DIR 画像ファイル/効果音ファイル/マップデータファイルのインストール先を指定します。 デフォルトは "$PREFIX/share" です。

    2. make

      configure を実行して Makefile が作成されたら make を実行します。

    3. make install

      指定したインストール先に書き込み権限があるユーザで、make install を実行してください。 "$bindir" に spacemaze がインストールされます。また、"$datadir/map" にマップデータ、 "$datadir/png" に画像ファイル、"$datadir/wave" に効果音ファイルがインストールされます。

  • アンインストール

    "インストール"で説明したファイルおよびディレクトリを削除してください。 また一度でも SAVE を実行している場合は、"$HOME/.spacemaze" を削除してください。

  • バックアップ

    一度でも SAVE を実行している場合、"$HOME/.spacemaze" にプレイデータが保存されています。 このファイルのみバックアップしておけば、Space Maze を再インストールしてバックアップ ファイルを戻すだけで、環境を再度用意することができます。

6. 操作方法

※Space Maze はウィンドウがフォーカスされている間、キーボードのオートリピートをオフにします。不具合や Ctrl-C 等による異常終了時に、キーボードのオートリピート機能がオフのままになってしまう可能性があります。終了後にキーボードが何かおかしいと思った場合は、コマンドラインで xset r on を実行してください。

  1. 起動
    インストール場所/bin/spacemaze [オプション]
        
    オプション 説明
    --help ヘルプを表示します。
    --enable-sound サウンド機能が有効になります(デフォルト無効)
    --sound-device=DEVICE_NAME --enable-sound 指定時に、サウンド機能で使用するデバイスファイルを指定します (デフォルト "/dev/dsp")。例:--sound-device=/dev/dsp1
    --fps=FPS 1 秒あたりのフレーム数(画面書き換え回数)を 30 〜 60 の間で指定します (デフォルト45)。例:--fps=30。範囲外の値を指定した場合はデフォルト値を使用します。

  2. タイトル画面/レベル選択画面
    キー/マウス入力 動作
    カーソルキー/マウス移動 選択項目の移動
    Enter/マウス左クリック 選択決定
    Esc タイトル画面 - 終了
    レベル選択画面 - タイトル画面に戻る

    レベル選択画面では、SAVE を選択することができます。初めて Save する際に $HOME/.spacemaze を作成します。また、タイトル画面で Load を選択すると、 $HOME/.spacemaze の内容を読み込みます。

  3. 戦闘画面
    キー入力 動作
    d 右回転
    s 左回転
    m 後進(前方スラスタ噴出)
    n 前進(後方スラスタ噴出)
    p 一時停止/再開
    space レーザー発射
    esc 戦闘中 - レベル選択に戻る
    レベルクリア時 - レベル選択画面に戻る
    ゲームクリア時 - タイトル画面に戻る

7. 遊び方

ゲームを開始するとタイトル画面が表示されます。最初から開始する場合は START を、続きから開始する場合は LOAD を選択してください。レベル選択画面に移動します。一度も SAVEしないで LOAD を選択すると、"LOAD FAILED" と表示されます。

タイトル画面

レベル選択画面では、プレイしたいレベルを選択します。一度も鍵を入手した事が無い場合は LEVEL 1 のみが選択できます。LEVEL 1 〜 LEVEL 3 のそれぞれで鍵を入手すると、次のレベルを選択できる様になります。3つの鍵を集めると、最終レベルである LEVEL 4 を選択できる様になります。各レベルをクリアすると、クリア所用時間がレベルの横に表示されます。ゲームクリア時には、各レベル所用時間の合計でランクが決まります。ランクは総所用時間に応じて S / A / B / C のいずれかが決定します。S が最高ランクですので、ぜひ挑戦してみてください!なお、SAVE を選択するとそれまでのプレイ内容を保存できます。SAVE 内容は $HOME/.spacemaze に保存されます。

レベル選択画面

LEVEL 1 〜 LEVEL 3 開始直後は、赤い扉付近に愛機 FireFly が待機しています。この赤い扉は鍵を入手すると開きます。LEVEL 4 の扉を開くために必要な鍵を入手し、開いた赤い扉から脱出するのが、LEVEL 1 〜 LEVEL 3 の目的です。

レベル開始

鍵は赤い壁に囲まれていて、このままでは入手することができません。鍵を守る Flyer を探しだし、その動作を停止させることで鍵を囲んでいる壁が開きます。Flyer の動作を停止させるには、ひたすらレーザーを打ち込んで下さい。中央の球体が黄色になったら停止状態となります。Flyer は FireFly が近くにいると追跡状態(球体が赤色)になるため、一度停止状態にしたら迅速に離脱するのが良いでしょう。

鍵

鍵を入手したら、開始直後の場所にあった赤い扉から脱出してください。この扉は鍵入手と同時に消えてしまいますが、画面右中央のレーダーには常に表示されていますので、レーダーを見ながら頑張って脱出してくだ さい。

レベルクリア

全ての鍵を入手すると、LEVEL 4 に潜入することができます。LEVEL 4 の目的は最凶の生命体 Fortress を含む全ての敵を倒すことです。LEVEL 4 には鍵は存在しません。よって脱出する必要もありません。全ての敵を倒した時点でクリアとなります。

LEVEL 4

なお各レベルは制限時間 5 分となっていて、それを越えると敵や敵のミサイルに当たらなくても FireFly のエネルギーが減少していきますので、急いで目的を達成してください。

制限時間

8. キャラクター紹介

  • FireFly
    FireFly

    反乱軍の希望を背負った歴戦の機体。そのレーザー砲は、最凶の宇宙生命体 Fortress が相手であってもダメージを与える程の威力。操縦が難しいが、使いこなせばかなり 柔軟な移動が可能。

  • Ball
    Ball

    近くに FireFly を感知すると数発の機雷を放出する。動作は鈍く大した相手ではない。

  • Missiler
    Missiler

    FireFly で接近すると弾幕を射出する。うかつに接近すると大ダメージを受けることになる。

  • Scull
    Scull

    高速で飛び回る宇宙生命体。FireFly と同スピードを誇るため、閉じた空間で接近すると 続け様に衝突され大ダメージを受ける可能性有り。

  • Flyer
    Flyer

    表層迷宮にて鍵を守る。通常はふらふらしているが、接近すると速度を上げて追撃してくる。 その際、中心の球体が青→赤に変化する。一定のダメージを与えると球体が黄になり、 しばらくの間動作を停止する。一度でも停止させると、鍵を囲んでいる扉が開く。

  • Fortress
    Fortress

    宇宙最凶の生命体。大きさ、攻撃力、装甲の固さなど、どれをとっても他の生命体とは一線を画す。 FireFly が長距離にいる場合と近距離にいる場合で攻撃手段を変えてくる。

9. 開発経緯

プログラムを勉強し始めた動機が”ゲームを作りたかったから”という作者です。

1999年頃に、まとまった物を作ろうと思い立ったのが最初で、宇宙に憧れていたので舞台は宇宙と最初から決めていました。シューティングにしたのは、それが一番作りやすいだろうと思ったからです。

その時はゲームコンセプトがあやふやのまま作っていたため、途中で挫折し放置していました(この時は GTK+ で作っていました)。数年経過し、ホームページで xlib プログラム情報をまとめたのを契機に、コンセプトをはっきりさせて xlib で作りなおそうと一念発起し Space Maze の完成に至りました。

11. 連絡先

著者:りょう (Ryo Ichinose)(rio_i@nifty.com
このサイトに関するご意見、ご感想は上記のアドレスまでお願いします。
Linux は Linus Torvalds 氏の日本及びその他の国における登録商標または商標です。