项目简介
Blobby Volley 2是一款基于C++的开源多人对战球类游戏。借助RakNet网络库和TinyXML解析库,该项目实现了网络通信以及配置文件的处理。同时采用自定义的状态管理系统,可有效处理游戏逻辑和界面展示,还包含单元测试代码来确保功能的正确性。
项目的主要特性和功能
- 多人对战:支持玩家间头对头多人对战,利用RakNet网络库实现客户端与服务器通信,涵盖连接管理、数据收发、错误处理和安全设置等。
- 配置管理:运用TinyXML库解析XML配置文件,对游戏规则、玩家设置等内容进行管理。
- 游戏状态管理:通过
State
类及其派生类管理游戏不同状态,如主菜单、游戏设置、回放选择、回放播放等,并能实现状态的切换和清理。 - 玩家管理:
NetworkPlayer
类在网络游戏中代表玩家,包含玩家ID、名称、颜色、位置等信息。 - 回放功能:
ReplayState
类处理回放状态的逻辑和界面展示,支持加载回放文件、播放回放和处理用户交互。 - 测试与调试:项目包含多个单元测试代码,可测试文件读写操作、LagDetector算法性能和准确性、游戏逻辑等。
- 跨平台一致性:使用
PHYSFS
库抽象文件系统操作,保证在不同平台上的一致性。
安装使用步骤
系统要求
- 操作系统:Windows 95或更高版本,或Linux
- 显卡:Windows系统需支持DirectDraw加速的显卡,两个系统均推荐OpenGL兼容的显卡
安装步骤
- 安装cygwin(或运行linux),并安装cmake、make、automake、libtool、zlib和“i686 - pc - mingw32”交叉编译工具链。
- 解压libzip到
./libs/libzip
,然后执行以下操作: cd libs/libzip
./configure --host=i686 - pc - mingw32
make
- 下载并解压
http://icculus.org/physfs/downloads/physfs - 2.0.3.tar.bz2
到./libs/physfs
,接着执行: cd libs/physfs
cmake -D CMAKE_TOOLCHAIN_FILE=../../cmake_cygwin.toolchain .
- 确保
CMakeCache.txt
中的所有内容都以“i686 - pc - mingw32 - ”为前缀 make
- 交叉编译mono:
cd libs
cd mono
- (检出任意喜欢的标签/分支)
./autogen.sh --host=i686 - pc - mingw32
- (也可使用预编译的mono,因为mono官方提供的包在Windows上编译存在问题)
- 下载并解压
http://www.libsdl.org/download - 1.2.php
(1.2.15)到libs/sdlold
,然后执行: cd libs/sdlold
./configure --host=i686 - pc - mingw32
make
- 下载boost到
./libs/boost
(或使用cygwin提供的)。 - (此步骤会失败)
cmake -D CMAKE_TOOLCHAIN_FILE=cmake_cygwin.toolchain .
现在向CMakeCache.txt
添加以下内容:BOOST_ROOT:PATH=/cygdrive/c/projects/blobby2mono/libs/boost MONO_INCLUDE_DIR:FILEPATH=/cygdrive/c/Program Files (x86)/Mono - 3.2.3/include/mono - 2.0 MONO_LIBRARY:FILEPATH=mono PHYSFS_INCLUDE_DIR:PATH=/cygdrive/c/projects/blobby2mono/libs/physfs PHYSFS_LIBRARY:FILEPATH=physfs SDLMAIN_LIBRARY:FILEPATH=SDLmain SDL_INCLUDE_DIR:PATH=/cygdrive/c/projects/blobby2mono/libs/include/sdl SDL_LIBRARY:STRING=SDL
注意:使用预编译的mono时,使用MONO_LIBRARY:FILEPATH=monosgen - 2.0
,并添加"-L/cygdrive/c/Program Files (x86)/Mono - 3.2.3/lib" "-L/cygdrive/c/Program Files (x86)/Mono - 3.2.3/bin"
;使用官方的mono.lib
时,使用MONO_LIBRARY:FILEPATH=mono
,并添加-L/path/to/blobby
。 cmake -D CMAKE_TOOLCHAIN_FILE=cmake_cygwin_toolchain.cmake .
make
服务器相关
- “Dedicaded Server”以100%的游戏速度运行,即75 FPS。
- 服务器端口为1234。
源码获取
在Linux上,安装Subversion后,只需输入:svn co https://svn.sourceforge.net/svnroot/blobby blobby
更多说明请见:http://sourceforge.net/svn/?group_id=169341
下载地址
点击下载 【提取码: 4003】【解压密码: www.makuang.net】