Skip to content
Alrik Neihouser edited this page Jun 27, 2026 · 4 revisions

Zappy Wiki

Zappy is an Epitech network game where several teams of AI players compete on a tile-based world. The first team to have at least 6 players reach the maximum elevation (level 8) wins.

The project is split into three components:

Component Language Status
Server C++ Done
AI Python Done
GUI Godot / C++ Done

Game overview

The world is called Trantor — a flat, toroidal map with no walls (exiting from the right wraps to the left, top wraps to bottom). Players walk around collecting food and six types of stones. They use stones to perform incantation rituals that raise their level. Winning requires getting 6 players to level 8.

Resources

Resource Map density
food 0.5
linemate 0.3
deraumere 0.15
sibur 0.10
mendiane 0.10
phiras 0.08
thystame 0.05

On a 10×10 map that means 50 food and 5 thystame. The server repopulates resources at startup and every 20 ticks.

One unit of food keeps a Trantorian alive for 126 time units.

Elevation table

Level Players linemate deraumere sibur mendiane phiras thystame
1→2 1 1 0 0 0 0 0
2→3 2 1 1 1 0 0 0
3→4 2 2 0 1 0 2 0
4→5 4 1 1 2 0 1 0
5→6 4 1 2 1 3 0 0
6→7 6 1 2 3 0 1 0
7→8 6 2 2 2 2 2 1

Players participating in an incantation are frozen until the ritual ends. All players present at the start and end of a successful incantation advance to the next level, regardless of team. Resources are consumed from the tile on success.

Building

make        # builds Server, Gui, and Ai; outputs zappy_server, zappy_gui, zappy_ai
make clean  # removes object files
make fclean # removes all build artifacts and root-level binaries
make re     # fclean + all

Running

Run all commands in different terminals

  • server:
# start the server
./zappy_server -p 4242 -x 10 -y 10 -n TeamA TeamB -c 7 -f 100
  • gui:
# start the GUI (connects via the in-game dialog)
./zappy_gui
  • AI:
./Ai/zappy_ai -p 4242 -n TeamA -h localhost 2>&1
./Ai/zappy_ai -p 4242 -n TeamB -h localhost 2>&1

Clone this wiki locally