Roguelike Advent Carender 2024 の、12/07 の記事です。昨日は、gkuraki 氏の変愚蛮怒 アーチャー 雑感 でした。
目次
はじめに
最近、古い Linux 機に古典的なローグライクを色々入れて、たまにプレイしたりしているのですが、初代ローグは特に難しいです。本当にすぐ死にます。
ローグのページの Rogue 5.4.5x には識別の巻物を一種類にまとめるオプションがあり、それを利用しているので少しは簡単なはずですが、それでもすぐ死にます。
日本で有名なローグと言えばローグ・クローンIIだと思いますが、それと比べても難しく感じます。クローンの方のソースは読んだ事がありませんが、ダメージの計算式が全く違うとか。
初代ローグは本当に運が良くないと下層に行けないので、現代にプレイすると、正直辛い部分もあります。上級者にとってはそうではないかもしれませんが…
ただ、ローグは流石に運の要素が強すぎて厳しいという人でも、以下で紹介する XRogue であれば楽しめるかもしれません。
XRogue の紹介
XRogue 8.0.3 は、ローグのページにあるローグのヴァリアントです。
プレイ感覚としては、Rogue と NetHack の中間という印象を持ちました。英語ですが、NetHack よりは複雑でないため、慣れてしまえば問題はないと思います。最初のハードルが高いかもしれませんが…
Rogue との違いの一部
ゲーム開始時の選択要素
Rogue では、ゲーム開始直後に迷宮に放り出されますが、XRogue では、まず最初に以下のクラスから一つを選択します。日本語訳は、README_jp.TXT のものです。
- Fighter(ファイター、戦士)
- Paladin(聖騎士)
- Ranger(レンジャー)
- Magic-User(魔法使い)
- Cleric(牧師)
- Thief(盗賊)
- Assassin(刺客)
- Druid(ドルイド僧)
- Monk(修道士)
もちろん、各クラスには特徴があり、例えばファイターは近接攻撃が強く、序盤の生存に有利です。魔法使いやレンジャーは様々な魔法を使うことができ、identify の魔法は、同名の巻物と同じ効果です。
次に、能力値を割り振ります。この六種になじみの無い方でも、これらの意味は、README_jp.TXT に書いてあるので安心です。先に紹介したクラスの特徴も、同じテキストにあります。
そして、冒険を開始する前に、商店で買い物ができます。ほぼ裸一貫で始まる Rogue との大きな違いです。ここの商品は識別されていて、強化値も見ることができます。
豊富なアイテム
Rogue に比べ、武器、防具、その他のアイテムが、とにかく増えており、Rogue に存在しない魔法のアイテムや、アーティファクトまであります。私はまだ、アーティファクトを手にした事はありませんが…
魔法のアイテム、Gauntlets of ogre power を装備し、Str が上昇した状態。固定値になるため、Str を下げられても安心。他にも、Cloak of displacement だったり、アイテムを収納できるアイテムなど、色々あります。
増えた手段
Rogue の場合、アイテムの数は限られており、運が悪いとどうにもならない状況に陥ることがよくあります。しかし、XRogue では、クラスによっては、呪文、祈り、聖歌が使えたり、あるいは敵を脅したり、物を盗んだりできるため、それらによって状況を打開できるかもしれません。
取引
迷宮の中に、交易所が出現することがあります。また、Quartermaster(補給係将校)と出会えた場合、彼から商品を買うこともできます。
多彩な怪物
Rogue では各アルファベットに一種類でしたが、多数の怪物が追加されています。多数で出現する怪物や、友好的な怪物など。ただ、モノクロ表示なので、怪物を一目で識別できず、'='コマンドでその怪物を調べる必要がある場面があり、残念ながら手間も増えています。
怪物の行動
Rogue では、ほぼ全ての怪物が、プレイヤーを認識するとひたすら攻撃し続けましたが、XRogue では、不利になると逃げる場合もあります。また、怪物も罠にかかったり、アイテムを拾ったりします。
速度
Rogue と違い、プレイヤーと怪物が交互に行動するシステムではなく、速い者が多く行動するようになっています。
開始前にアイテムを購入できたり、迷宮内にも交易所があったり、怪物もよくアイテムを落とすので、物資が不足しがちな Rogue に比べ、どうしようもない死は少ない印象です。もっとも、25階が現時点の最高記録である私の感想なので、もっと深い階層では Rogue より難しくなる可能性もあります。
私自身がまだ未熟な事もあり、紹介しきれなかった要素はまだ多くあります。英語ではありますが、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 を書き込み端末を再起動するとパスが通る
共通事項 終わり
以下が、それぞれのビルドの手順です。
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
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
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 セーブデータ名
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
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

