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
の頭の #
を外す