トップ «前の日記(2015/10/25) 最新 次の日記(2015/10/27)» 編集

SikabaneWorksが関係するコンテンツ(主に*band系ローグライク)の開発近況・補足から全く個人的な雑記まで。

[WEB:屍の見える丘公園]| [RSS]

Angband | Badiashimshe | C# | CRAUZEL | D'angband/小説草稿 | D'angband/開発 | DarkSouls | Demon'sSouls | DungeonCrawl | ElvenUteruses | Haskell | Hengband | J9シリーズ | LEGO | LineDrawing | MISC | MTG | Mac | Math | Moria | R-18 | Roguelike | Rough | RoughSketch | Ruby | SDL | UNIX | VMware | WarHammer | Zangband | アタシラヂョウヲウ | イラスト | ガジェット | ゲーム | ゲーム紹介 | ゲーム製作技術 | ゲーム論 | スケッチ | ツクール | テクノロジー | ニコニコ動画 | ファルコム | ファンタジー | マリオ | ヴィーヤウトゥムノ | 別記事追加予定 | 変愚蛮怒 | 変愚蛮怒/スポイラー | 変愚蛮怒/元ネタ探訪 | 変愚蛮怒/攻略 | 変愚蛮怒/開発 | 宗教 | 情報 | 政治 | 文字コード | 日ペ昔話 | 東方 | 東方ワンドロ | 東方外法漢女 | 歴史 | 漫画製作 | 版権絵 | 画像処理 | 翻訳 | 自然言語 | 艦隊これくしょん | 落書き | 言語解析 | 読書 | 超人ロック | 追記予定 | 通信 | 鉄獄旅慕情 | 阿片窟 | 馬鹿馬鹿蛮怒/開発 | 魔法少女まどか☆マギカ | 魚類版深夜の真剣お絵描き60分一本勝負


2015/10/26

[Angband] 和訳『Angband Release: 3.0.0』

Angbandは関係者各位の了承によりGPLライセンスを適用して久しく、Zangbandが分離した2.7~2.9の間以後も基盤部分をいくつも改良してきた実績がある。

変愚蛮怒がそれをどのように今後取り込んでくべきかの形を確認するため、また他の*bandバリアント開発者も何らかのために判断基準を必要とした場合のため、拙いなりに主要な更新情報を和訳していこうと思う。

バージョン3初期までについては、楠瀬氏(http://ironhell.sakura.ne.jp/angband/angband/)が日本語版を実際に更新されているので必要に応じてこの辺りの資料も参照されたし。

一応各和訳後に私見もまとめる。

以下http://rephial.org/release/3.0.0和訳。

背景

Version3.0.0は2002/05/30にRobert Ruhlmann氏が、多数の提案に基づく動作安定性と遊びやすさの向上のため、数の上で重要な更新を多く立案してきたアルファリリース(2.9.4~2.9.7)の総仕上げとして更新しました。完全に仕上がったため、2.8.5ベータ版とは呼称せず、私は以下のアルファ版のリリース日を列挙し、広範な現在のプラットホーム全てに適用するものとします。

  • 2.9.4 - 2001/11/08
  • 2.9.5 - 2001/11/23
  • 2.9.6 - 2001/12/09
  • 2.9.7 - 2002/03/06

これらのリリースは3.0.0には含めません。これらは大半がJonathan Ellis (JLE)氏のinfoファイルによるパッチの後、ゲームのバランスを適切に取り、GWAngbandからのスペルのリストを編入、そして、Angbandの広範なプラットホーム上に渡って賄えるかどうかテストするため、Luaスクリプトの使用と言った新仕様を入れるチャンスのために行われた更新でした。

JLEパッチは、Robert氏がメンテナとして携わった時期の中ではもっとも大きな変更をもたらしたものの一つで、ベースアイテム、アーティファクト等々多数が追加され、レア度や有用性を調整した、ゲーム再調整の試しとなりました。これらの特質的な変更は誰しもに歓迎されるものではありませんでしたが、大多数のプレイヤーの納得を目指しています。

スペルリストの全体的な更新はGWAngbandでGreg Wooledge氏が行った作業と同じ狙いに基づいています。特にメイジ系職業に攻撃的なスペルよりも、防御的なスペルへ多様かつ深みを与え、代替スペルリストがはっきりとした非打撃向け戦術の選択となるよう再調整しました。例えば無傷の球は(スペルによる補助にも拘わらず)メイジが魔法頼りにした攻撃を行うよりも、白兵戦に持ち込ませがちになるため、取り除かれました。

既にKambandやToMEに用いられているLuaスクリプトは、以前から行われてきたeditファイル群と同様の方法で、ゲームをより容易に制作し、新しいバリアントの制作を修正、改善を簡易にする試みとしてAngbandに導入されました。これは本アイデアの全く予備的な実装であり、その可能性は現実にハッキリとは現れず、実際の所現在のCコードと重複するものでした。それなりのところ、その善意に関わらず、本試みはコンパイルやゲームの代替をまさに効果的に複雑にしました。結論として3.0.8で取り除かれ、他のバリアントからも編入はしません。よって、3.0系の更新からは他の改善を進めていきます。この方向性を取り戻すにしても、今回とは別の形になるでしょう。

これらの目に見えた多大な変更はもちろん、多くの素晴らしい作業量はコードをより安全かつ信頼性のあるものにし、全体的な改良とクリンナップと同様にそれはAngband更新の主要な一部までになりました。

更新リスト

  • Jonathan Ellis氏のJLEパッチにより新プレイヤー種族「コボルド」、多数のアーティファクト、Vault、モンスター種族、ベースアイテム、アイテムエゴを加えました。ゲームプレイの再調整を行い、モンスター用に新しい色スキームを追加しました。
  • 悪魔*スレイ*、アンデッド*スレイ*などの新しいアイテムフラグ、発動、モンスター攻撃(幻覚を引き起こす)モンスターの魔法/能力(動物召喚、巨石投げ)をJLEパッチにより追加しました。
  • メイジ、盗賊、レンジャーのスペルリストをGreg Wooledge氏のGWAngbandのものに差し替えました。これは魔法を使う職業キャラに、カオス、地獄、轟音、破片そして重力効果を含めた攻撃魔法のより後半な選択肢を与えます。他に大きな変化として「無傷の球」が取り除かれ、変わりに「結界のルーン」が加えられました。
  • 警告:魔法を使う職業の全ての学習済スペルは、古いセーブファイルを導入時に全て破棄されます。それからプレイヤーは新しいスペルリストから自由に選択して下さい。新しいスペルを使用する前に再学習を必ず忘れずに行ってください。古いスペル用のマクロやキーマップ変更は恐らく正しく動作しないでしょう、必要ならそれも変更して下さい。
  • 結界のルーンの上に立ってもプレイヤーは打撃からは保護されなくなりました。
  • 赤外線視力による赤外線視力の上昇量を+5増やしました。
  • 多数の魔法棒やロッドのダメージを増やしました。
  • プレイヤーは最深層より上のレベルで帰還を行った時、帰還の階層をリセットできるようにしました。
  • (JLEの適用により)各種のブレス攻撃のダメージキャップを調節しました。
  • 光源半径が累積するようになりました。
  • 簡易なカスタマイズ手段としてLuaスクリプトを導入しました。現在このスクリプトは杖、魔法棒、ロッド、薬、巻物、食糧などのアイテムを用いた際の効果を記述します。プレイヤーの魔法も本スクリプト中で定義します。
  • アイテムを調査した際にアイテムの記述を表示する機能をサポートしました。
  • アイテムのフレーバー情報を外部ファイルに移行し、*.prfファイルをフレーバーのために追加しました。
  • "花崗岩の壁を掘っている。 <x5>"のようにメッセージ情報の圧縮機能を追加しました。
  • メインスクリーンにプレイヤーの現在の装備シンボル表示を追加しました。
  • エスケープの代わりにエンターを用いてプレイヤーの生い立ちに様々な台詞付けを行えるようにしました。
  • 「フロアのアイテムを重ねない」オプションを追加しました。
  • 店の記述のレイアウトを若干完了しました。
  • より大きなメインウィンドウ(ビッグスクリーン)を基本的にサポート(古いセーブファイルをを読み込んだ時、街が再生成されます。アイテムを当フロアに落とした状態でセーブファイルを更新しないで下さい!)
  • HP警告時の効果音をサポートしました。
  • 店を使っている間に魔法書の中を確認できます。
  • オプションの再編成とクリンアップを行いました。
  • 既知のユニークリストが可読性を向上するため、2列に構成を分けられました。一列目に名前を表示し、二列目に生存/死亡を表示します。
  • 墓石スクリーン時に戻る必要なしに、複数のアイテムを確認できるようにしました。
  • 墓石スクリーン時にそれまでのメッセージを再確認するオプションを追加しました。
  • 墓石スクリーン中に、't'から'v'のキーでハイスコアを閲覧し、オプションにより大文字でも可能にしました。
  • モンスターの思い出にシンボルの色付けを追加しました。
  • オプション画面中でローグライクキーセットを使えるようにしました。
  • 2.9.0以前のセーブファイルはサポートしなくなりました
  • 古いRISC OS命令(Acorn)を新バージョンから置換しました。
  • Peter Rowe氏から提供された新しいVisualC++6.0のプロジェクトファイルを追加しました。
  • GTKポート用の初期ウィンドウ番号を8から1に変えました。
  • (Werner Baer氏により)、サウンドファイル名を読み込む際にWindowsXPマシンで発生するクラッシュバグを修正しました。
  • Cygwin下での実行可能ビルドをConfigure下に追加し、Cygwin.DLLを不要にしました。
  • (Bablos氏により)Amiga用の最新コードを追加しました。
  • トラップ解除済の箱を探した際に発生する可能性のあるクラッシュを修正しました。
  • 符号付き16進数のオーバーフローのために多数スタックされた杖や魔法棒を吸収する際に負のHP回復量を得ます。(訳者中:この問題を修正した?)
  • 繰り返しコマンドを繰り返す問題を修正しました。
  • 索敵魔法のバウンドチェックといくつかのウィザードモードコマンドを消去しました。これらがTermをリサイズした時にクラッシュを起こすためです。
  • ビジュアル表示処理をcharの負値で表現するようにしました。
  • セーブファイルをロードした時に壊れたアイテムが修繕されないようにしました。
  • 符号なし32ビット値が32ビット以上の値を取ろうとした時に乱数処理が無限ループを起こす不具合を修正しました。
  • ウィザードモードがONになった回毎にウィザードモード以降への確認が求められるようになりました。
  • Vaultの生成時モンスターの数を9回リクエストするようにしました。

Hallvard B Furuset氏により改良

  • angband --help で基本的な使用法を表示するようにしました。
  • (n)cursesインターフェースを用いる時、libフォルダ内が正しくチェックされない問題がありました(訳者註:これを修正した?)
  • 符号つきcharを扱うマシン中でのcurses上のちょっとした問題を修正しました。
  • 16ビットマシンでガンマ補正アルゴリズムを行った際の整数オーバフローの可能性を修正しました。
  • SLang、XAW、VME、VCS、GCU、XPJ、Acorn、GTK各種フロントエンドを用いる際のバグ修正や改良を多数行いました。
  • "--with-libpath=" オプションを取得する際のよりよい方法をautoconfサポートのためにかいくつか改変、Athena Widget setのよりよい検索、GTK 向けコンパイルに "--enable-gtk"オプション、そして結果としてusleep()の検知を実際に用いました。
  • 64ビットマシンとの整合性の問題を修正しました。
  • ヘルプファイル中にあった2件の誤ったオプション名を修正しました。

訳者私見

この辺りの更新はまだAngband2.7~2.9から単純にフォークするだけでなく、その後もいくつかパッチを導入し続けたZangbandがいくつか吸収を済ませた資産が残っている様子で、それがそのまま変愚にも反映されている感がある。

JLEパッチによる各種の更新は、日本向けバリアントでもXangbandやTinyAngband辺りがある程度取り込んでいた、はず。変愚各版でもすぐに取り込めるフォーマットにはなっていたかも知れない。

その他JLEパッチによる大幅なバランスの変更は色々揉めたのではないかと思われる記述が微妙に見えている。変愚もその辺はどげすんべ。

無傷の球による無敵化の問題はZang/変愚の流れでは、魔力消去や光の剣、一定確率の効果無効などで終盤は一部を除いて効かない、という形でバランスを取っていたが、Angbandでは結界のルーンに変えて削除という形を取ったようである。

Amiga辺りは流石に日本ではどうかと思うが、Unix/Linux上でのインタフェース上の改善は恐らくこの後のバージョンでもある程度行われているはずで、ひいてはMacOSX基盤でも有用な修正になっているはずだから、なるべく拾っていきたい。

[変愚蛮怒/開発]変愚蛮怒開発日誌part76…ハードコーディング情報の外部ファイル化

前回から半年ぶり。方々突っ込まれてますが、2.2系リリースはマジで近日中にスケジュールを確定しつつやるので ゆ る し て。

0

目下気にしているのがソースコードの保守性の改善、そしでなるべくハードコーディング上で指定してきた各種のゲームデータをinfoファイルに追い出して、バリアントとまではいかんでもデータいじって楽しめるような環境をエンドユーザに与えられればと思いつつ。

とりあえず今回固定アーティファクトドロップの指定と、あまり役立っているのかよくわからない、モンスター闘技場の掛け率算出指数のモンスター修正倍率を、r_info.txtに外部化しました。正直MON_XXXがソースコード中に散在するのがクッソウザかったからです。

それぞれ

A:アーティファクトID:レア率:生成率(%)
V:掛け率算出指数倍率(%)

でオプショナルに設定できます。A列は最大4つまでで、記述順に条件を設定、レア度は1/(レア度)の確率で適用され、されない場合は次の列に判定を移し、生成率(%)を通れば★生成確定、というハードコーディング上の仕様をそのままデータ化した形に。Vはなければデフォで100%となります。

[ヴィーヤウトゥムノ] ナズグル/Nazgul (L.Dark 'W')

=== Num:696  Lev:63  Rar:7  Spd:+15  Hp:4356  Ac:141  Exp:22000
背の高い黒ずくめの指輪の幽鬼で、恐怖のオーラを発している。「かれらの蒼白
い顔には鋭い無慈悲な目が燃えていました。黒いマントの下には灰色の長衣をま
とっていました。灰色の顔には銀のかぶとがかぶせられていました。やせさらば
えた手には鋼の剣が握られていました。」(J.R.R.トールキン、瀬田貞二・田中
明子訳 新版指輪物語)
彼は通常地下 63 階で出現し、かなり素早く動いている。この邪悪なるアンデッ
ドのモンスターを倒すことは 1 レベルのキャラクタにとって 約462000.00 ポイ
ントの経験となる。彼は地獄のブレスを吐くことがある、なおかつ的確に魔法を
使うことができ、魔力吸収、恐怖、麻痺の呪文を唱えることがある(確率:1/4)。
彼は AC141 の防御力と 4356 の体力がある。彼はドアを開け、ドアを打ち破り、
弱いモンスターを押しのけることができる。彼は冷血動物である。彼には明るい
光でダメージを与えられる。彼は冷気と毒と暗黒と地獄とテレポートの耐性を持
っている。彼は進化しない。彼は混乱しないし、眠らされない。彼は侵入者を幾
分注意深く見ており、 900 フィート先から侵入者に気付くことがある。彼は 4
個までの上質なアイテムを持っていることがある。彼は 10d6 のダメージで殴っ
て恐怖させ、 10d6 のダメージで殴って恐怖させ、 8d6 のダメージで殴って経験
値を減少(80d6+)させ、 8d6 のダメージで殴って経験値を減少(80d6+)させる。

ナズグル

Urwen

アッキ=ニンジャ『ウルウェン』
一昨日ご指摘食らってうp漏れが発見できたな。
今年の5月に描いたけど、微妙に出来が悪くって後回しにしていたのが
そのまんまになっていたらしい。これは中の奴教育ですわ。

Romunqualy

鬼畜大佐『ロムンクァリィ』
アンナタールの指輪を賜って半神的存在になった人間たちのその他大勢ねえ。
あのアホに仕えることを選んだのは正直癪だけど、実力自体は認めざるを得ないわ。

本日のツッコミ(全2件) [ツッコミを入れる]
n (2015/10/28 16:15)

度々すみません! <br>サウロンの口って載ってますか?

deskull (2015/10/28 22:13)

スパム対策につきコメント中のURLを禁じています。お手数ですがヴィーヤウトゥムノタグ中で「アンナタールの口」で検索下さい。 <br>以前描いたプレイ日記の用途、*band中の能力の高さの観点から原作の印象とは敢えて大きく異なるデザインにしています。