2024年12月07日

Rogue が難しすぎる人でも、XRogue はなんとかなるかもしれない

はじめに

trimmedRogue54-241122-00.png

最近、古い Linux 機に古典的なローグライクを色々入れて、たまにプレイしたりしているのですが、初代ローグは特に難しいです。本当にすぐ死にます。

trimmedRogue54-241122-03.png

ローグのページの Rogue 5.4.5x には識別の巻物を一種類にまとめるオプションがあり、それを利用しているので少しは簡単なはずですが、それでもすぐ死にます。

日本で有名なローグと言えばローグ・クローンIIだと思いますが、それと比べても難しく感じます。クローンの方のソースは読んだ事がありませんが、ダメージの計算式が全く違うとか。

初代ローグは本当に運が良くないと下層に行けないので、現代にプレイすると、正直辛い部分もあります。上級者にとってはそうではないかもしれませんが…

ただ、ローグは流石に運の要素が強すぎて厳しいという人でも、以下で紹介する XRogue であれば楽しめるかもしれません。

XRogue の紹介

trimmedXRogue8-241122-06.png

XRogue 8.0.3 は、ローグのページにあるローグのヴァリアントです。

プレイ感覚としては、Rogue と NetHack の中間という印象を持ちました。英語ですが、NetHack よりは複雑でないため、慣れてしまえば問題はないと思います。最初のハードルが高いかもしれませんが…

Rogue との違いの一部

  • ゲーム開始時の選択要素

    Rogue では、ゲーム開始直後に迷宮に放り出されますが、XRogue では、まず最初に以下のクラスから一つを選択します。日本語訳は、README_jp.TXT のものです。

    • Fighter(ファイター、戦士)
    • Paladin(聖騎士)
    • Ranger(レンジャー)
    • Magic-User(魔法使い)
    • Cleric(牧師)
    • Thief(盗賊)
    • Assassin(刺客)
    • Druid(ドルイド僧)
    • Monk(修道士)

    もちろん、各クラスには特徴があり、例えばファイターは近接攻撃が強く、序盤の生存に有利です。魔法使いやレンジャーは様々な魔法を使うことができ、identify の魔法は、同名の巻物と同じ効果です。

    trimmedXRogue8-241123-06.png

    次に、能力値を割り振ります。この六種になじみの無い方でも、これらの意味は、README_jp.TXT に書いてあるので安心です。先に紹介したクラスの特徴も、同じテキストにあります。

    trimmedXRogue8-241123-04.png

    そして、冒険を開始する前に、商店で買い物ができます。ほぼ裸一貫で始まる Rogue との大きな違いです。ここの商品は識別されていて、強化値も見ることができます。

    trimmedXRogue8-241123-05.png
  • 豊富なアイテム

    Rogue に比べ、武器、防具、その他のアイテムが、とにかく増えており、Rogue に存在しない魔法のアイテムや、アーティファクトまであります。私はまだ、アーティファクトを手にした事はありませんが…

    trimmedXRogue8-241123-07.png

    魔法のアイテム、Gauntlets of ogre power を装備し、Str が上昇した状態。固定値になるため、Str を下げられても安心。他にも、Cloak of displacement だったり、アイテムを収納できるアイテムなど、色々あります。

  • 増えた手段

    Rogue の場合、アイテムの数は限られており、運が悪いとどうにもならない状況に陥ることがよくあります。しかし、XRogue では、クラスによっては、呪文、祈り、聖歌が使えたり、あるいは敵を脅したり、物を盗んだりできるため、それらによって状況を打開できるかもしれません。

  • 取引

    迷宮の中に、交易所が出現することがあります。また、Quartermaster(補給係将校)と出会えた場合、彼から商品を買うこともできます。

    trimmedXRogue8-241203-04.png
  • 多彩な怪物

    Rogue では各アルファベットに一種類でしたが、多数の怪物が追加されています。多数で出現する怪物や、友好的な怪物など。ただ、モノクロ表示なので、怪物を一目で識別できず、'='コマンドでその怪物を調べる必要がある場面があり、残念ながら手間も増えています。

  • 怪物の行動

    Rogue では、ほぼ全ての怪物が、プレイヤーを認識するとひたすら攻撃し続けましたが、XRogue では、不利になると逃げる場合もあります。また、怪物も罠にかかったり、アイテムを拾ったりします。

  • 速度

    Rogue と違い、プレイヤーと怪物が交互に行動するシステムではなく、速い者が多く行動するようになっています。

開始前にアイテムを購入できたり、迷宮内にも交易所があったり、怪物もよくアイテムを落とすので、物資が不足しがちな Rogue に比べ、どうしようもない死は少ない印象です。もっとも、25階が現時点の最高記録である私の感想なので、もっと深い階層では Rogue より難しくなる可能性もあります。

trimmedXRogue8-241203-06.png

私自身がまだ未熟な事もあり、紹介しきれなかった要素はまだ多くあります。英語ではありますが、Rogue も英語ですが、英語がわからなくてもなんとかなるゲームですし、Rogue が難しすぎるという人や、未知の要素を楽しみたい人には、プレイしてもらいたいゲームです。

本当は、二週間後に NetHack 3.7 についても書くつもりで予約していたのですが、忙しくなりそうなのでキャンセルしました。

明日の記事は、現時点(24/12/06 23:13)では未定です。

以下は、必要な人に向けての、XRogue のデータの一部と、ビルド方法になります。

XRogue の情報

XRogue では様々なアイテムが追加されていますが、以下は武器と防具のリストです。武器のデータはソースを読まないとわからないものではありますが、これを知らないと厳しいと思うので、用意しました。一応、装備制限に関しては、マニュアルにヒントがありますが。

<武器>           <近接> <投射> <装備制限>
mace              2d10   2d10
long sword         3d4    2d8
dagger             2d8    1d6
two-handed sword  3d10    3d8   F R P
dart               2d4    2d6
spear              2d6   3d10
trident            3d6    3d4
spetum             2d6    2d8
bardiche           3d4   2d10
pike               2d8    2d8
bastard sword      3d8    3d6   F A T Mo
halberd            2d8    2d4
battle axe         2d8    3d8
<弓>
short bow          1d1    1d1
sling              1d1    1d1
crossbow           1d1    1d1
<矢>
arrow              2d4    1d6
rock               2d4    1d6
crossbow bolt      2d4    2d4

装備制限に記載がある場合、そのイニシャルのクラスでなければ装備できません。
Mo = Monk です。
<鎧>                  
leather armor           8
ring mail               7
studded leather armor   5
scale mail              7
padded armor            6
chain mail              6
splint mail             5
banded mail             5
plate mail              4
plate armor             3

Thief & Assassin は、(studded) leather armor 以外の鎧を装備できません。
重い鎧を装備すると、速度が低下します。また、所持重量の割合が一定以上になった場合も、速度が低下します。

Linux でのビルド手順例(Rogue, Super Rogue, Ultra Rogue, XRogue, ついでに Moria)

Windows の場合、ローグのページに実行ファイルがあるので、それをダウンロードすれば大丈夫でしょう。

以下は、Linux(AntiX Linux 23.1 32bit)でのビルドの一例です。起動用のシェルスクリプトを同一のディレクトリに作り、そこにパスを通し、起動しやすいようにしています。

マニュアル類や、この例で使わないソースも一応ダウンロードしていますが、必要に応じて判断してください。

ダウンロードは全て wget で済ませたかったですが、私が作成したパッチについては、ブラウザを使う形になります。

以下は、全てのビルドに関する共通事項です。

http://yozvox.web.fc2.com
にあるソースファイルは

~/yozvox.web.fc2.com
にダウンロードし、

~/yozvox.web.fc2.com/games
に起動用シェルスクリプトを作成する

最初の一度だけ、
$ cd ~
$ mkdir yozvox.web.fc2.com
$ mkdir yozvox.web.fc2.com/games
を行い、

~/.bashrc に

# set PATH so it includes user's yozvox.web.fc2.com bin if it exists
if [ -d "$HOME/yozvox.web.fc2.com/games" ] ; then
    PATH="$HOME/yozvox.web.fc2.com/games:$PATH"
fi

を書き込み端末を再起動するとパスが通る

共通事項 終わり

以下が、それぞれのビルドの手順です。

trimmedRogue54-241122-01.png
Rogue 5.4.5x

$ cd ~/yozvox.web.fc2.com

まずはマニュアル類ダウンロード
$ wget http://yozvox.web.fc2.com/rogue36.txt
$ wget http://yozvox.web.fc2.com/rogue36_jp.txt
$ wget http://yozvox.web.fc2.com/rogue.txt
$ wget http://yozvox.web.fc2.com/rogue_jp.txt

スポイラー
$ wget http://yozvox.web.fc2.com/rvm.html
$ wget http://yozvox.web.fc2.com/rvm.pdf
$ wget http://yozvox.web.fc2.com/rvm_jp.html
$ wget http://yozvox.web.fc2.com/rvm_jp.pdf
$ wget http://yozvox.web.fc2.com/rvm-msg.html
$ wget http://yozvox.web.fc2.com/rvm-msg.pdf
$ wget http://yozvox.web.fc2.com/rvm-msg_jp.html
$ wget http://yozvox.web.fc2.com/rvm-msg_jp.pdf

ソース
$ wget http://yozvox.web.fc2.com/rogue5.4.5x-src.zip

今回は使わないが、一応その他のソースも
$ wget http://yozvox.web.fc2.com/rogue3.6-src.tar.gz
$ wget http://yozvox.web.fc2.com/rogue5.2-src.tar.gz
$ wget http://yozvox.web.fc2.com/rogue5.4.5-src.zip
$ wget http://yozvox.web.fc2.com/rogue5.4.5p-src.zip
$ wget http://yozvox.web.fc2.com/rogue5.4.5x-src_o03.zip

$ unzip rogue5.4.5x-src.zip
$ cd rogue5.4.5x-src
$ make dist.m32
$ mkdir ../rogue5.4.5x
$ mv rogue ../rogue5.4.5x
$ cp rogue.ttl  ../rogue5.4.5x
$ cp README.txt ../rogue5.4.5x

カラーモードで起動するシェルスクリプト作成
$ cd ../games
$ touch rogue54
$ echo -e $'#!/bin/sh' > rogue54
$ echo -e $'cd ~/yozvox.web.fc2.com/rogue5.4.5x' >> rogue54
$ echo -e $'if [ -e rogue.save ]; then' >> rogue54
$ echo -e $'  ./rogue rogue.save' >> rogue54
$ echo -e $'else' >> rogue54

オプションについては README.txt を参照
-14 で snake -> slime
-16 で snake -> slime & bright(PC98/88風カラー)
キャラクター名は好きな名前で。英数字以外は受け付けるか不明
$ echo -e $'  ./rogue -10 キャラクター名' >> rogue54
$ echo -e $'fi' >> rogue54

権限付与
$ chmod 755 rogue54

$ cd ~

ゲーム開始
パスは通っているので、次回以降はこれだけで良い
$ rogue54
trimmedSRogue9-241204-01.png
Super Rogue 9.0.1

$ cd ~/yozvox.web.fc2.com

ソース
$ wget http://yozvox.web.fc2.com/srogue9.0-1-src.tar.gz

足りないファイルがあるのでダウンロード
$ wget http://yozvox.web.fc2.com/srogue9.0-1-linux.tar.gz
$ wget https://raw.githubusercontent.com/RoguelikeRestorationProject/srogue/refs/heads/master/rogue.ext

必要であれば、以下のパッチを
~/yozvox.web.fc2.com
にダウンロードする

このファイルは、ブラウザでダウンロードする必要がある
https://www.mediafire.com/file/v2o3ujmi7zhsjro/srogue9.0-1-current_sav_ASCII_LF.patch/file

ファイル展開
$ mkdir srogue9.0-1-src
$ tar zxvf srogue9.0-1-src.tar.gz -C srogue9.0-1-src

$ cd srogue9.0-1-src

足りないファイルをコピー
$ tar zxf ../srogue9.0-1-linux.tar.gz srogue.doc
$ cp ../rogue.ext srogue9.0-1-src

セーブファイルのパスを、スコアファイルと同じ場所に変更する
パッチを当てる。任意
$ patch -p1 < ../srogue9.0-1-current_sav_ASCII_LF.patch

$ make dist.linux

$ mkdir ../srogue9.0-1
$ mv srogue ../srogue9.0-1
$ cp srogue.doc ../srogue9.0-1
$ cp LICENSE.TXT ../srogue9.0-1

シェルスクリプト作成
$ cd ../games
$ touch srogue9
$ echo -e $'#!/bin/sh' > srogue9
$ echo -e $'cd ~/yozvox.web.fc2.com/srogue9.0-1' >> srogue9
$ echo -e $'if [ -e srogue.sav ]; then' >> srogue9
$ echo -e $'  ./srogue srogue.sav' >> srogue9
$ echo -e $'else' >> srogue9

キャラクター名は好きな名前で。英数字以外は受け付けるか不明
$ echo -e $'  ./srogue -n キャラクター名' >> srogue9
$ echo -e $'fi' >> srogue9

権限付与
$ chmod 755 srogue9

$ cd ~

ゲーム開始
パスは通っているので、次回以降はこれだけで良い
$ srogue9
trimmedURogue-241204-01.png
Ultra Rogue 1.0.7

デフォルトのセーブデータ名が存在せず、セーブ時に自分で
名前を付け、ロードはそのファイル名を引数として渡して
実行する形になる。

$ cd ~/yozvox.web.fc2.com

ソース
$ wget http://yozvox.web.fc2.com/urogue1.0.7-src.tar.gz

必要であれば、以下のパッチを
~/yozvox.web.fc2.com
にダウンロードする

このファイルは、ブラウザでダウンロードする必要がある
https://www.mediafire.com/file/f436ftyyy5q64pa/urogue1.0.7-current_chr_ASCII_LF.patch/file

$ mkdir urogue1.0.7-src
$ tar zxvf urogue1.0.7-src.tar.gz -C urogue1.0.7-src
$ cd urogue1.0.7-src

キャラクターファイル(urogue.chr)のパスを、スコアファイルと
同じ場所に変更するパッチを当てる。任意
$ patch -p1 < ../urogue1.0.7-current_chr_ASCII_LF.patch

$ make dist.linux
$ mkdir ../urogue1.0.7
$ mv urogue ../urogue1.0.7
$ cp README ../urogue1.0.7

シェルスクリプト作成
$ cd ../games
$ touch urogue
$ echo -e $'#!/bin/sh' > urogue
$ echo -e $'cd ~/yozvox.web.fc2.com/urogue1.0.7' >> urogue
$ echo -e $'if [ -e "$1" ]; then' >> urogue
$ echo -e $'  ./urogue $1' >> urogue
$ echo -e $'elif [ $# = 0 ]; then' >> urogue

キャラクター名は好きな名前で。英数字以外は受け付けるか不明
$ echo -e $'  ./urogue -n キャラクター名' >> urogue
$ echo -e $'else' >> urogue
$ echo -e $'  echo "$1 is not found."' >> urogue
$ echo -e $'fi' >> urogue

権限付与
$ chmod 755 urogue

$ cd ~

ゲーム開始
パスは通っているので、次回以降はこれだけで良い

ニューゲームの場合は以下
$ urogue
セーブデータをロードする場合、セーブデータ名を引数として渡す
$ urogue セーブデータ名
trimmedXRogue8-241203-03.png
XRogue 8.0

$ cd ~/yozvox.web.fc2.com

マニュアル
$ wget http://yozvox.web.fc2.com/READMEX80.TXT
$ wget http://yozvox.web.fc2.com/READMEX80_jp.TXT

ソース
$ wget http://yozvox.web.fc2.com/xrogue8.0-src.tar.gz

必要であれば、以下のパッチを
~/yozvox.web.fc2.com
にダウンロードする

このファイルは、ブラウザでダウンロードする必要がある
https://www.mediafire.com/file/w2kr9cwwvrmtupp/xrogue8.0-current_sav_ASCII_LF.patch/file

$ mkdir xrogue8.0-src
$ tar zxvf xrogue8.0-src.tar.gz -C xrogue8.0-src
$ cd xrogue8.0-src

セーブファイルのパスを、スコアファイルと同じ場所に変更する
パッチを当てる。任意
$ patch -p1 < ../xrogue8.0-current_sav_ASCII_LF.patch

$ make dist.linux
$ mkdir ../xrogue8.0
$ mv xrogue ../xrogue8.0
$ cp README_jp.TXT ../xrogue8.0

シェルスクリプト作成
$ cd ../games
$ touch xrogue8
$ echo -e $'#!/bin/sh' > xrogue8
$ echo -e $'cd ~/yozvox.web.fc2.com/xrogue8.0' >> xrogue8
$ echo -e $'if [ -e xrogue.sav ]; then' >> xrogue8
$ echo -e $'  ./xrogue xrogue.sav' >> xrogue8
$ echo -e $'else' >> xrogue8

キャラクター名は好きな名前で。英数字以外は受け付けるか不明
$ echo -e $'  ./xrogue -n キャラクター名' >> xrogue8
$ echo -e $'fi' >> xrogue8

権限付与
$ chmod 755 xrogue8

$ cd ~

ゲーム開始
パスは通っているので、次回以降はこれだけで良い
$ xrogue8
moria006.png
Moria 5.6-debian1-2build3p

$ cd ~/yozvox.web.fc2.com

まずはマニュアル類ダウンロード
$ wget http://yozvox.web.fc2.com/moria-jp.txt
$ wget http://yozvox.web.fc2.com/moria-en.txt
$ wget http://yozvox.web.fc2.com/moria-jp.pdf
$ wget http://yozvox.web.fc2.com/moria-en.pdf
$ wget http://yozvox.web.fc2.com/moria_doc.zip

Debian 以外?
$ wget http://yozvox.web.fc2.com/moria5.6-2x-src.zip
Debian であれば、おそらくこのファイル
以降はこのファイル前提で記述
$ wget http://yozvox.web.fc2.com/moria5.6.d.1-2b3p-src.zip

ビルド
$ unzip moria5.6.d.1-2b3p-src.zip
$ cd moria5.6.d.1-2b3p-src
$ sh build32.sh
$ mkdir ../moria5.6.d.1-2b3p
$ mv moria ../moria5.6.d.1-2b3p
$ cp -r files ../moria5.6.d.1-2b3p

カラーモードで起動するシェルスクリプト作成
$ cd ../games
$ touch moria56
$ echo -e $'#!/bin/sh' > moria56
$ echo -e $'cd ~/yozvox.web.fc2.com/moria5.6.d.1-2b3p' >> moria56

以下は移動方法で、片方を選ぶ

ローグキー移動の場合
$ echo -e $'./moria -c -r' >> moria56
テンキー移動の場合
$ echo -e $'./moria -c' >> moria56

権限付与
$ chmod 755 moria56

$ cd ~

ゲーム開始
パスは通っているので、次回以降はこれだけで良い
$ moria56
posted by Takenoko at 00:00| Comment(0) | game | このブログの読者になる | 更新情報をチェックする
この記事へのコメント
コメントを書く
お名前:

メールアドレス:

ホームページアドレス:

コメント:

×

この広告は90日以上新しい記事の投稿がないブログに表示されております。