Skip to content


Switch branches/tags

Name already in use

A tag already exists with the provided branch name. Many Git commands accept both tag and branch names, so creating this branch may cause unexpected behavior. Are you sure you want to create this branch?

Latest commit


Git stats


Failed to load latest commit information.
Latest commit message
Commit time

Holy Balls: The Game A free and open source capture-the-flag game. Version 1.0, now with gameplay and some semblance of object oriented code!


Proposed Gameplay

  • Capture the flag based
  • event engine interfaces with game engine that announces what happens, sends data to socket code to talk to client


  • Linux/Windows
    • Hardware
      • unholyballs requires at least a modern integrated graphics chipset (OpenGL 2.0 support)
      • holyballs require at least an ATi Mobility Radeon HD 4670 to run at 640x480 at 60fps
    • Software
      • SDL2 is required for both versions
      • OpenAL is required for both versions
      • OpenGL and GLEW is required for both versions
      • OpenCL is required only for holyballs
  • Mac
    • Hardware
      • unholyballs requires a Mac from the last 10 years
      • holyballs requires a Mac with OpenCL support
    • Software
      • Mac OS X 10.10 Yosemite or higher; earlier versions have not been tested


On Ubuntu:

apt-get install libsdl2-dev libglew-dev libalut-dev


  • Linux
    • make
      see 'make all'
    • make server
      will build only the server
    • make holyballs
      will build holyballs, the ray tracing binary. requires OpenCL and at minimum a GTS450. will only work for single GPU systems.
    • make multiballs
      will build multiballs, the multi-gpu ray tracing binary. requires OpenCL and at minimum a GTS450. if on a single GPU system, will run slower than holyballs.
    • make unholyballs
      will build only the unholyballs binary, for people with lesser graphics cards
    • make all
      will build all four binaries
  • Mac
    • Open Holy Balls.xcodeproj and build hbserver and one of the clients.
    • Copy the sound filles, font files, and optionally the OpenCL sources (required for holyballs and multiballs) into your build directory.



-h: to display help message

-i [ip]: to connect to specified server; default is

-d [width] [height]: to play at specified resolution; default is 640x480

-f: to play in fullscreen; will not work if specified resolution is greater than screen resolution


  • Mouse: Turn
  • W: Accelerate forwards
  • A: Accelerate left
  • S: Accelerate backwards
  • D: Accelerate right
  • Escape: Bring up menu


  • Sounds from
    • bounce sound from user dreamoron
    • ding sound from user acclivity
    • splat sound from user benhillyard

Style Guide