The main aim of this project — to provide a template for common Real-Time Strategy games.
- core — strategix core library
- server — server based on this library
- map_editor — qt application for map editing
- sample1 — sample of client, based on map_editor
- Configuring games with json.
- Simple client-server protocol.
- Entities now able to collect resources and attack enemy units.
- cmake >=3.16
- boost >=1.67 (filesystem, property_tree, asio, serialization, ...)
- qt >=5.11 (widgets for map editor)
An Instruction For Windows
Checked on the following compilers:
- mingw64 gcc from msys2.
- msvc 19 (VS 2019)
cd <your projects dir>
git clone [email protected]:Akela1101/strategix.git
cd strategix
mkdir build && cd build
cmake ..
make
Server | Client | Comment |
---|---|---|
Init | Load Map info, etc | |
Init | Startup GUI and connect | |
< | GET_CONTEXT | Request kernel context |
CONTEXT | > | Get Maps list and other info |
GAME [] | > | Get created Games |
< | GAME | Add a Game to list of created |
GAME | >>> | Other users get created Game info |
< | PLAYER | Select spot on the Map and other parameters |
PLAYER | >>> | Confirm / reject Player |
< | JOIN | Join Game (waiting all human players) |
PLAYER [] | >>> | Send generated Players information |
MAP | >>> | Send Map |
ENTITY [] | >>> | Send Entities |
START | >>> | Start receiving commands |
< | > | Commands exchange |
GAME | >>> | Finish Game |
< >
- single receiver>>>
- multicast