JNetHack3.4系制作秘話とかあるかなあ、と思っていたのだけど、よく考えたら最初のリリースまではsourceforge.jpの日記機能でメモを取って公開していたんだった。
ところが今確認したらsourceforge.jpの機能変更で日記機能がなくなっていたので、web.archive.orgから発掘してここに貼ることで記事代わりにすることに。
(この記事は Roguelike Advent Calendar 2013 の19日目の記事です。)
いきさつ
まずは年表。
- 1999-12-10 NetHack 3.3.0リリース
- 2000-05-08 JNetHack 3.3.0βリリース
- 2000-08-10 NetHack 3.3.1リリース
- 2002-03-20 Nethack 3.4.0リリース
- 2002-04-19 sourceforge.jp正式運営開始
そもそもどうして制作しようと思ったのかは、日記にも「ふとした気の迷い」としか書いてないのだけど、色々状況を推測すると:
- jnethack.org版の開発が止まっていて、3.3.1版も出なかった。
- そもそもjnethack.org版にもだいぶパッチを送っていた。
- sourceforge.jpが始まったので使ってみたかった。
- ゴールデンウィークが暇だった。
という辺りが理由だったと思われる。
日記
JNetHack作業開始 2002-04-28 16:05
ふとした気の迷いで JNetHack の 3.4.0 対応をはじめてみる。
まずは 3.4.0 に jnethack-1.2.0.20000509.patch.gz を当てる。 当然山ほどエラーが出るので,残りは手パッチしないといけない。
include/ util/ はあっさり終了。 dat/ は quest.txt と data.base が難関。 src/ はいわずもがな。
まずはコンパイルを通すために、 sys/share/ と sys/unix/ も 処理しておく。
quest.txt 2002-04-28 18:44
全部rejectされてどうしようかと思ったけど、 よく見たら00010以降の数字が5ずれてるので、ちょいとperlで スクリプト書いて変換。 これでほとんど通ったので、あとは手パッチで処理。 新しく増えた分はとりあえず英語のまま。 まあこの辺はぼちぼちと。
Fighter.des 2002-04-28 19:57
手パッチにも飽きたので試しにコンパイルしてみる... おお、本体は通った!...けど Fighter.des でエラー。
コメント関係をちょっといじったら通ったみたいだけど、 ちゃんと 3.4.0 で動くかは謎。
パッチ失敗... 2002-04-29 04:57
理由はいまいち不明ながら、そもそものパッチ当てに 失敗していたことが判明。がーん。
仕方がないので手パッチ部分を全部捨ててやり直し...。
やっとコンパイルが通った 2002-05-01 23:40
とは言えとにかくコンパイルを通すのを優先したので, まだ半分ぐらいしか手パッチは終わってないのだけど。
あちこち英語だったりそもそもメッセージでなかったり 文字化けしたりで色々ながらも、一応落ちたりはしない模様。
さて、残りがんばるかな...。
手パッチ進行中 2002-05-03 06:25
なんだかんだで60%ほど手パッチが終了したらしい。 微妙に終わりが見えてきたかな。
まあ追加された部分のチェックとかもあるから 先は長いのだけど。
saddle-horn 2002-05-04 04:32
手パッチは75%ほど終了。 気分転換に(?)、未訳部分にも手を出し始める。
しかし、"saddle-horn"でつまずく。 どうやら馬具らしいのはわかるのだけど、 日本語でなんというものなのやら...
とりあえず「サドルホーン」で置いておくことに。
手パッチ進行率85% 2002-05-05 05:14
おお、なんか終わりが見えてきた、って感じだ。 まあ未訳部分が大量に残っているはずだけど。
とりあえず手パッチ当て終わったら一回リリースするのがよいかな。
手パッチ終了 2002-05-07 04:08
やっとsrc/の手パッチ終了...。
細かい未訳を直して、とりあえず一度リリースしよう。 今のところunix/ttyでしか動かないけど。
3.4.0-0.1リリース 2002-05-10 02:09
一応src/の手パッチも終了して、落ちたりもしないっぽいので 3.4.0-0.1としてリリース。 とはいえ未訳とかも多いのでまだ完成には程遠い...。
リリースされてなかった... 2002-05-11 00:09
リリースした、と思ってたのだけど、実は一般ユーザーが見られな い状態だった。 あらかじめパッケージを公開にしておかなければならなかったらし い。 この辺ドキュメントがまだ揃ってないのでつらいところ。
Windows版を作ってみた 2002-05-13 01:48
3.2時代はnmakeベースだったのだけど、3.4.0では dswとか使う形に変わってるので統合環境でぐりぐりできる。 意外とあっさりと動作はしたのだけど、フォント周りがどうにも 怪しいみたい。 しかも95系ではさらに怪しいみたいだし...。 ちゃんと動かすにはちゃんと追わないといけないのかも。
winnt/tty 2002-05-14 03:54
winnt/win32 がどうにもフォント関係が怪しそうなので、 winnt/tty をコンパイルしてみることに。 でもなんかドキュメント見たら面倒そうなんだよなあ...と 思ったら、単に読み間違いだったことが判明。ありゃりゃ。
実際やってみたらグラフィカルバージョンよりあっさり 出来てしまった。ちょっと様子を見て、問題なければ 次バージョンでリリースしよう。 英語版と同じように、グラフィカルバージョンとセットで 配布でいいかな。
data.base 2002-05-16 18:18
data.baseもほったからしというのもなんなので、 処理することに。
とは言えこれを手パッチするのは大変すぎるので、 スクリプトで項目ごとにばらしてそれをベースにする。 結構いい感じで処理できたかな。
まあ未訳は未訳なので元ネタ探したりとかはしないと いけないのだけど。
まとめ
ちなみに手パッチしたsrc/の*.rejファイル、合計サイズ1049707バイトだったらしい。 2週間ぐらいで手パッチ終わったらしいので暇だったんだなあ。
次はradinmsさんです。