Zappy is a network-based game. The game involves several teams competing on a tile-based map to gather resources and achieve the highest level of elevation. The game consists of three main parts: a server, a graphical user interface (GUI), and an artificial intelligence (AI) client.
- Server (
zappy_server): Written in C, it handles the game world and player interactions. - GUI (
zappy_gui): Developed in C++, it provides a visual representation of the game world. - AI Client (
zappy_ai): Can be written in any language, it controls the player's actions autonomously.
- Objective: Teams must gather resources and elevate their players. The first team with six players at the maximum elevation wins.
- Map: The game takes place on a continuous, wrap-around map with no relief features.
- Resources: The world contains various resources like food and stones (linemate, deraumere, sibur, mendiane, phiras, thystame) essential for survival and elevation.
- Environment Management: The server generates and manages the world, including spawning resources at regular intervals.
- Player Interaction: Players can move, gather resources, communicate, reproduce, and eject others from tiles.
- AI Control: The AI's client drives the player's actions without user intervention after launch.
- Graphical Interface: The GUI provides a 3D visualization of the game world, allowing players to observe the game's progress.
./zappy_server -p port -x width -y height -n name1 name2 ... -c clientsNb -f freq
-p: Port number-x: Width of the world-y: Height of the world-n: Team names-c: Number of clients per team-f: Frequency of action execution
./zappy_gui -p port -h machine
-p: Port number-h: Hostname of the server
./zappy_ai -p port -n name -h machine
-p: Port number-n: Team name-h: Hostname of the machine (default is localhost)
Zappy is an engaging network game that combines strategy, resource management, and team collaboration. With its flexible AI component and detailed GUI, it offers a comprehensive and interactive gaming experience.