NetHack3D

for MacOSX 10.4 or grater.


通じ合う心と心。

トラディショナルASCIIモード          トラディショナルタイルモード             拡大縮小

ScreenShots -スクリーンショットギャラリー(06/05/29Updated!)




重要:Chrisさんのレポートにより、(ありがとうChris!)2.0.2で配布されているバイナリーパッケージでは、IntelMac上で正しく動作しないことが判明しました。(原因はnethackで使われているデータファイルのエンディアンの非互換。)

完全な対応にはポート内ではなく元nethackの方を修正しないといけなくなるので、(環境もないし)少し時間がかかります。

IMPORTANT:It was recognized that a binary package distributed (ver.2.0.2) did not work on IntelMac definitely. Of an endian of the data file which a cause is used for in nethack is incompatible. ( Thanks Chris! )

it takes time to solve this. Because,this problem is a place affecting the main source code of nethack, not in port, and I do not have IntelMac.

As the simplest way, try to run NetHack3D on Rosetta.

A different better methods please test the following.

If it is the thing which it compiled on IntelMac, this problem does not occur.
*Installation of a developer kit is necessary for this method. (It is recorded on DVD of MacOSX.)*

1. download source code and expand it.
2. edit sys/Cocoa_GNUStep/Makefile.src

OSXARCH = -arch i386

3. run Terminal.app and

% cd NetHack3D_e
% ./sys/Cocoa_GNUStep/setup.sh  (enter)
% make (enter)
% make install (enter)

*実行時バンドル内に一時ファイルを作成する必要があるため、書き込み権限のあるディレクトリ以外
*(例:.dmgをマウントしたボリュームなど)で起動すると、名前入力後に強制終了します。
*必ず書き込み権限のあるディレクトリに移動、またはコピーして実行してください。


最近の変更

2010/07/22 info

・ようやくですがMacBook買っちゃいました。時間見て対応がんばってみます。


2009/07/31 version 2.0.2

・生存報告を更新。生きてます。もう3年たってるんですね・・・。相変わらずIntel/10.5環境がないため更新できず申し訳ない。

だってね。中古も値下がらないし、金もないし。50万*3の仕事のはずが3件とも相手つぶれて回収3万(+おせんべ)とか。危うく死亡報告になるとこだった。

(誰か余ってるIntelMacあったら貸すなり安く売るなりしてもらえないでしょうかね。)


2006/08/11 version 2.0.2

・日本語版ソースパッケージのMakfile.srcに不備があったのを修正。(Thanks 山下様)

2006/05/29 version 2.0.2

・タイルフォーマットの設定項目をより多くの形式に対応できる形に変更。

・16*16より大きいタイルを指定した場合でもメニューに表示されるタイルがはみ出さないようにした。

・3Dモード時に表示される代替オブジェクトにタイルグラフィックを表示できるようにした。


2006/05/27 version 2.0.1

・トラディショナルモード時の描画処理を大幅に高速化。

・トラディショナルASCIIモード時、12ポ以上のフォントでシャドウを付けるようにした。

・トラディショナルモード時、カーソルキー←→で左右移動できるようにした。


2006/05/23 version 2.0.0

・全体マップの拡大・縮小機能を追加。

・サウンドミュート機能を追加。

・トラディショナルASCIIモードを追加。

・トラディショナルタイルモードを追加。

・トラディショナルモード用の設定項目を追加。

--- タイル画像ファイルは、jpg,png,bmp,tiffファイルで、1列あたりのタイル数(20〜40)タイル列の数(20〜40)

--- を指定することでいくつかのタイルフォーマットに対応しています。タイル1個あたりのサイズは自動的に判別されます。

--- また、タイル固有のサイズとは別に表示上のサイズを高さ、幅、それぞれに8ドット〜128ドット(8ドット刻み)の範囲で指定可能です。

--- 実用的なのは16〜32位だと思います。全体マップとうまく併用してみてください。ASCIIモード時はマップフォントのサイズで

--- 描画域が決定されます。


2006/05/10 version1.3.2

・viモード使用時のキック(ctrl+d)、ルート(alt+l)コマンドが正しく動作していなかったバグを修正。

・「イェンダーの魔法使い」の表示座標ずれを修正。



2006/05/10 version1.3.1

・配布バイナリをUB化。(未テストです、動作レポートお待ちしています。)

・入力処理の修正…viモード使用時にshift移動・cntrol移動可能にした。(Thanx!近藤様)

・jnethack3.4.3-8に対応。

・その他細かい修正。



NetHack3D (version 2.0.2)

for MacOSX

for GNUStep ( Not available yat. )



NetHack3Dってなに?

NetHackについては、詳しくはドキュメントを見るか、ゲーム中のヘルプコマンドでヒストリーを参照して下さい。

プレイのヒントや操作法などはヘルプを参照するか、Documentation/jGuidebook.txtをお読みください。


NetHack3DはNetHackのMacOSX用のポートとして開発されました。

version1.2ブランチは旧版MacOSX(10.2~)、及びGNUStepとの互換を目的として開発されますがまだ対応できておりません。



*NetHackのバリアントではありません。元ソースにはウインドウポート追加部分以外手を加えていません*

ポート独自の機能として以下の物があります。


モダーンなグラフィック

伝統的なNetHackでは、キャラクターは主にASCIIグラフィックで表されます*1。たとえば人間であれば’@’のような感じです。

ところがNetHack3Dでは、人間キャラクターは3Dグラフィックの’@’で表示されます!  ....................。

ええ、と.....あくまでも@である理由は、作者がNetHackについて、単なるゲームではなくイメージトレーニングツールとしてとらえて

いるからであって、決して手抜きではありません。

その証拠として、モデルファイル(.objか.3ds形式。3dsのみ公式サポート)を用意してちょこっとソースファイルをいじれば、

比較的簡単に全てのキャラクターを置き換えることができます。(いずれソースをいじらなくても設定できるようにする予定です)

あなたのイメージがふくらんで@では物足りなくなってきたらぜひ自由に置き換えて遊んでください。


*1 タイルグラフィックと呼ばれるビットマップイメージも使えるものもあります。


追加されたスリリングフューチャー

・3D化にともなって、プレイヤーの向いている方向が重要になりました。デフォルトでは2Dマップの視界は制限され、後方や横方向は

見えにくくなっています。

・そのため難易度調整措置として、一定範囲内に敵が近づくとインジケータによって知らせる機能をつけました。敵のいる方向までは

わからないので、見えない敵にドキドキしながら遊ぶことができます。(レーダーの過信は禁物です。ほどよく取りこぼしたりもします)

・一番スリリングなこととしては、このポートが、CとObjective-CとCocoaとOpenGLを、’作り始めるまで全く知らなかった’人間(このポートの作者のことであって、ベースとなったNetHack/jNetHackの開発陣の方のことではありません)によって作られたと言うことです。

いちおう、無事に動いてはいますが、使用に当たっては必ず自己責任でお願いいたします。


キー操作

・NetHackに共通のキー操作は、ゲーム中でヘルプ(?を入力、またはnumpadがオンならば'h'キー)を見てください。

・NetHackにないキー操作として、3D視点移動(回転)があげられます。GUIではメイン移動ボタンの横についている縦長のボタンが

視点操作です。キーボードではカーソルキーの←→によって視点を移動できます。視点移動はターンを消費しません。

・良くある質問として、複数持っている物を数を指定して処理する場合は、コマンドのあとに数量を指定してください。

(例:矢(fに割り当てられていたとします。)を3個置きたい場合、d 3 fのように入力してください。numpadがオンの場合、数字入力時に

GUIが反応すると思いますが、問題ありません。)



グラフィックの表示について

Apple標準のビデオドライバー(OSインストール後そのままの状態)だと、充分な速度・画面クオリティを得られないかもしれません。

NetHack3Dのプログラム側ではビデオカード個々の機能をフルに使うようにはなっていません。(環境がないので・・)

しかしながら、お使いのビデオカードによっては、メーカーサイトよりメーカー製ドライバーをダウンロードして使うことで

アプリケーション個別の設定ができる物があり、その機能を使うことでフルスクリーンアンチエイリアスや異方性フィルタリングなどの

機能を有効にすることができます。(また速度的に有効な調整を行うこともできます。)


ATI社製のビデオカードドライバは以下のURLから

http://support.ati.com/ics/support/default.asp?deptID=894&task=knowledge&folderID=27


nVidia製のビデオカードドライバはちょっとわかりません。


配布バイナリについて

標準で配布されているバイナリは、CPU個別の最適化はしていません。

G4,G5をお使いの方はソースコードをダウンロードして、プロジェクトメニュー>アクティブターゲット’NetHack3D'を編集>ビルド設定

から、インストラクションスケジュールをお使いのCPUにあわせることで、より最適化された実行バイナリを作成できる可能性があります。

GCC4.0の同様な機能として、自動的にAltivec機能を利用する「自動的にベクトル化」オプションがありますが、手元で試した限りでは

メモリ使用量が増大しまくるなどの症状が出ましたのであまりおすすめできません。(うまくいった方がいましたら是非報告してください)

また、あまりテストしていませんが、コンパイルオプションの「文字列を読み込み専用にする」チェックボックスのチェックを外すことで

yn等の選択をポップアップではなく直接キー入力で行うことができるようになります。こちらに関してはお好みでどうぞ。



既知の問題点

・現在、OpenGLのコマンドは拡張機能なしでやっています。作者の手元ではそこそこ動きますが、他のマシンでパフォーマンス的に問題が出る可能性があります。

・標準の全てのオプションをテストしているわけではありません。おそらく有効にするとおかしなことになる可能性のあるオプションがあるはずです。

・いろいろな速度面の最適化をできる箇所はあとはGL拡張機能くらいかなぁ。。。

・名前入力時(後?)にクラッシュすることありとのレポートが寄せられていますが、当方の環境で再現できないため、詳細なレポートとクラッシュログをお待ちしています。

(*NetHack3Dの動作には、一時ファイルとセーブファイル作成のため、アプリケーションの置いてあるフォルダ、及びアプリケーションバンドルに書き込み権限が許可されている必要があります。配布されているdmgファイルをマウントしたボリュームから直接起動した場合は正しく動作しません。)

・10.5環境下でアプリケーション終了時にきちんと終了できないことがあるのを確認しています。(ただし環境がなく対応できるかどうかは現在不明です)



今後の予定

・1.2ブランチのGNUStep対応…まだまだだいぶかかりそうです。


リリース履歴


2006/05/29 version 2.0.2

・タイルフォーマットの設定項目をより多くの形式に対応できる形に変更。

・16*16より大きいタイルを指定した場合でもメニューに表示されるタイルがはみ出さないようにした。

・3Dモード時に表示される代替オブジェクトにタイルグラフィックを表示できるようにした。


2006/05/27 version 2.0.1

・トラディショナルモード時の描画処理を大幅に高速化。

・トラディショナルASCIIモード時、12ポ以上のフォントでシャドウを付けるようにした。

・トラディショナルモード時、カーソルキー←→で左右移動できるようにした。


2006/05/23 version 2.0.0

・全体マップの拡大・縮小機能を追加。

・サウンドミュート機能を追加。

・トラディショナルASCIIモードを追加。

・トラディショナルタイルモードを追加。

・トラディショナルモード用の設定項目を追加。

--- タイル画像ファイルは、jpg,png,bmp,tiffファイルで、1列あたりのタイル数(20〜40)タイル列の数(20〜40)

--- を指定することでいくつかのタイルフォーマットに対応しています。タイル1個あたりのサイズは自動的に判別されます。

--- また、タイル固有のサイズとは別に表示上のサイズを高さ、幅、それぞれに8ドット〜128ドット(8ドット刻み)の範囲で指定可能です。

--- 実用的なのは16〜32位だと思います。全体マップとうまく併用してみてください。ASCIIモード時はマップフォントのサイズで

--- 描画域が決定されます。



2006/05/10 version1.3.2

・viモード使用時のキック(ctrl+d)、ルート(alt+l)コマンドが正しく動作していなかったバグを修正。

・「イェンダーの魔法使い」の表示座標ずれを修正。



2006/05/10 version1.3.1

・配布バイナリをUB化。(未テストです、動作レポートお待ちしています。)

・入力処理の修正…viモード使用時にshift移動・cntrol移動可能にした。(Thanx!近藤様)

・jnethack3.4.3-8に対応。

・その他細かい修正。


------------------------------------------------------------------------------------------------------------------------------------



2006/01/12  version1.2.060112

・マップアイテムのカリング判定を修正

・座標移動の丸め処理を修正(ずっと機能してなかった)


2006/01/11  version1.2.060111

・OpenGL描画処理の大幅な高速化。

・OpenGL更新処理の呼び出しを高速化。

・モデル読み込みの判定処理を均等化&高速化。

・読み込まれたモデルを階移動時に解放するようにした。

(上記の結果かなり速くなりましたがソースは見にくくなりました。)

・すっかり忘れていた登りばしご・下りはしごモデルを追加

・モデルデータがない時に描画される代替モデルに擬似的に厚みをつけました。

・tiffファイルの解像度を統一。

・モデルデータが不正だった場合クラッシュする可能性があった問題を修正。

・拡張コマンドの判定処理を追加。



2006/01/07 version1.2.0 alpha0

・ソースコードのみ公開。

・version1.2ブランチは旧版MacOSX(10.2あたり)、及びGNUStepとの互換を目的として開発されます。

・1.1.4をベースに、井出さん作成のパッチ適応後、OSX部分およびルートMakefileの編集を加えた物です。

・現時点ではGNUStepではうごきません。

(電源買ってきてマシンがくみあがったらGNUStep環境ができますのでそれまでお待ちを・・。)

・Makefileを使ったビルドとXCodeでのビルドの両方が可能になっております。


2006/01/07 version 1.1.4

・水たまりのテクスチャ変更。

・橋オブジェクトを変更。


2006/01/03 version 1.1.3

・あけましておめでとうございます。

・レイス系モンスター(W)の表示がXになってしまっていた問題を修正。(break忘れでした・・)

・info.plistを10.4以降のガイドラインにあわせた物にしました。

・墓がでかすぎたので調整しました。

・ツヤツヤは消えないですね。



関連リンク

NetHack(本家NetHackのサイト)

http://www.nethack.org/


JNetHack(日本語版NetHackのサイト)

http://jnethack.sourceforge.net/


NetHack3D (このポートの配布サイト)

http://www.sbrain.org/nethack3d/



NetHack PortalNetHackPortやバリアント・攻略情報など全てが解るありがたいサイト)

http://nethack-users.sourceforge.jp/



バグレポート大歓迎です。サブジェクトに「NetHack3D」を入れていただけると、スパム対策上ありがたいです。

please send bug report to

hal@sbrain.org

まで。


せつなさ満載でお届けするSYMMERICWEBはリンク許可を求められた場合不許可します。リンク希望の方は勝手にリンクしてくださいますようお願い申し上げます。

NetHack3Dの再配布等はnethackのライセンス下において自由に再配布・再構築できます。nethackライセンスが守られている限り私に許可を求める必要はございません。

開始直後の悲劇

・謝辞 

制作にあたり以下のサイトに大変お世話になりました。

Cocoa関連

OpenGL関連