littlebot
Published on 2025-04-14 / 0 Visits
0

【源码】基于C++的Blobby Volley 2多人对战球类游戏

项目简介

Blobby Volley 2是一款基于C++的开源多人对战球类游戏。借助RakNet网络库和TinyXML解析库,该项目实现了网络通信以及配置文件的处理。同时采用自定义的状态管理系统,可有效处理游戏逻辑和界面展示,还包含单元测试代码来确保功能的正确性。

项目的主要特性和功能

  1. 多人对战:支持玩家间头对头多人对战,利用RakNet网络库实现客户端与服务器通信,涵盖连接管理、数据收发、错误处理和安全设置等。
  2. 配置管理:运用TinyXML库解析XML配置文件,对游戏规则、玩家设置等内容进行管理。
  3. 游戏状态管理:通过State类及其派生类管理游戏不同状态,如主菜单、游戏设置、回放选择、回放播放等,并能实现状态的切换和清理。
  4. 玩家管理NetworkPlayer类在网络游戏中代表玩家,包含玩家ID、名称、颜色、位置等信息。
  5. 回放功能ReplayState类处理回放状态的逻辑和界面展示,支持加载回放文件、播放回放和处理用户交互。
  6. 测试与调试:项目包含多个单元测试代码,可测试文件读写操作、LagDetector算法性能和准确性、游戏逻辑等。
  7. 跨平台一致性:使用PHYSFS库抽象文件系统操作,保证在不同平台上的一致性。

安装使用步骤

系统要求

  • 操作系统:Windows 95或更高版本,或Linux
  • 显卡:Windows系统需支持DirectDraw加速的显卡,两个系统均推荐OpenGL兼容的显卡

安装步骤

  1. 安装cygwin(或运行linux),并安装cmake、make、automake、libtool、zlib和“i686 - pc - mingw32”交叉编译工具链。
  2. 解压libzip到./libs/libzip,然后执行以下操作:
  3. cd libs/libzip
  4. ./configure --host=i686 - pc - mingw32
  5. make
  6. 下载并解压http://icculus.org/physfs/downloads/physfs - 2.0.3.tar.bz2./libs/physfs,接着执行:
  7. cd libs/physfs
  8. cmake -D CMAKE_TOOLCHAIN_FILE=../../cmake_cygwin.toolchain .
  9. 确保CMakeCache.txt中的所有内容都以“i686 - pc - mingw32 - ”为前缀
  10. make
  11. 交叉编译mono:
  12. cd libs
  13. cd mono
  14. (检出任意喜欢的标签/分支)
  15. ./autogen.sh --host=i686 - pc - mingw32
  16. (也可使用预编译的mono,因为mono官方提供的包在Windows上编译存在问题)
  17. 下载并解压http://www.libsdl.org/download - 1.2.php(1.2.15)到libs/sdlold,然后执行:
  18. cd libs/sdlold
  19. ./configure --host=i686 - pc - mingw32
  20. make
  21. 下载boost到./libs/boost(或使用cygwin提供的)。
  22. (此步骤会失败)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
  23. cmake -D CMAKE_TOOLCHAIN_FILE=cmake_cygwin_toolchain.cmake .
  24. 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】