Skip to content

mav-team2/game_engine

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

12 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Game Engine

Authoritative C++ game server for the SKKU game. It owns the simulation loop, WebSocket game protocol, and Redis-backed coordination with the web server.

Build

From game_engine/, configure and build the server with CMake:

cmake -S game_server -B game_server/build -DGS_PCH=OFF
cmake --build game_server/build --parallel

Run

The server expects Redis to be available and reads runtime values from environment variables such as REDIS_URL, PORT, and TICK_RATE.

Test

The test suite lives under game_engine/game_server/tests/ and runs through CTest.

Local test flow:

cmake -S game_server -B game_server/build-test -DBUILD_TESTING=ON -DGS_PCH=OFF
cmake --build game_server/build-test --parallel
REDIS_URL=tcp://127.0.0.1:6379 ctest --test-dir game_server/build-test --output-on-failure

What the test suite verifies:

  • world and ECS behavior such as stale input rejection, movement clamping, greeting transitions, and removed-session collection
  • protocol framing for snapshot, delta, pong, and event messages
  • Redis integration for one-time token consumption, avatar lookup, and player-count updates

The Redis integration slice expects a Redis instance on 127.0.0.1:6379 unless REDIS_URL is overridden.

CI

GitHub Actions runs the same build and test path in game_engine/.github/workflows/ci.yml. The workflow provisions a Redis service, builds the test target, and runs:

ctest --test-dir game_server/build --output-on-failure

About

SKKU avatar web game multi server engine

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors