xrx は上記の外部ライブラリを必要とします。あらかじめ導入しておいてください。
pastry-like の compilepastry-like を compile する必要があります。
config.h を ./configure になったつもりで書き換えます。
Makefile 内部の CFLAGS あたりのコメントアウトされたものを、必要に応じて外します。
(既知のOSでの書き換え方例)
libcookai の compilelibcookai を compile します。
pastry-like の時と同じように、Makefile を適当に書き換え、make します。
xrx の compilexrx を compile します。
pastry-like の時と同じように、Makefile を適当に書き換え、make します。
(既知のOSでの書き換え方例)
% ./xrallyxと打ちます。
./ なのには意味があって、画像を compile された directory から読み込んでいるため、
compile されたところで実行しないと動作しません。
% ./xrallyx -m 自分のIPaddr:待ち受けるport番号 [-r 相手のIPaddr:待ち受けているport番号]と打ちます。 (例: ./xrallyx -m 203.178.159.46:8472 -r 203.178.158.52:2521) 一番最初の初期ノードになる人以外は、
-r を使って、ゲームに参加する時の最初のノードを指定する必要があります。
q を押すとゲームを終了します。
xrx は libcookai を用いてゲーム空間を共有して動いています。
libcookai では、ゲーム空間を zone という単位に分けて管理することを提案しています。
xrallyx においての zone は以下のようになっています。
/rally-X/map%d,%d
%d,%d の部分は 16x16マス を一つのブロックとした、
x,y 座標が格納されます。
/rally-X/car
map と同じような 16x16マス を一つのブロックとして実装されたversionは速度面での問題をかかえているため、保留されています。
/rally-X/obj
/rally-X/car
を /rarry-X/map%d,%d/car へと移行する時に同様に map%d,%d
の下に移動される予定であり、現在はこの zone を管理する zone owner になる node が実装されていません。
/rally-X/map%d,%d の zone は、その zone の data が存在しない場合には新しく作られます。
このため、この distributed-rally-X では、参加node のメモリの許すかぎり、マップは拡大を続けます。
また、残念なことに、現状の実装では /rally-X/car を管理する node に処理が集中してしまっているので、
只の server-centric model と同じような形で動作してしまっています。
libcookai.dll として Windows でも使用できるようにすることで、より多くの人に使ってもらうことが望まれます。
config.h, Makefile の書き換え方例Makefile 内部の
#LOPTIONS += -lmd # for FreeBSD
の部分の頭の # を外す
Makefile 内部の
#LOPTIONS += -lcrypto # for openssl/sha.h systems
の頭の # を外す