Zappy is a tribute to Zaphod Beeblebrox, a network game inspired by the world of Trantor. The goal of the game is to manage a world and its inhabitants, where teams confront each other on a tiles map containing resources. The winning team is the first one to have at least 6 players reach the maximum elevation.
The game world, Trantor, is geographically made up of zero-relief planes without craters, valleys, or mountains. It is represented as a world map, and if a player exits from one side of the board, they will reappear on the opposite side.
The environment is rich in resources, including both minerals and food. The resources include linemate, deraumere, sibur, mendiane, phiras, and thystame. The server spawns resources at the start and every 20 units of time, following specific rules for their distribution.
Trantor's inhabitants focus on two activities: feeding themselves and collecting stones. These activities determine their elevation in the Trantorian hierarchy.
The inhabitants of Trantor are bodiless, blurry, and take up the entire tile they are in. They are pacifists and interact peacefully with their fellow creatures. They can see within their visual capacities but cannot distinguish their direction when they encounter each other.
The goal of each player is to rise up in the Trantorian hierarchy. The elevation ritual requires gathering a certain number of stones and players with the same level on the same tile. Once initiated, the elevation increases the player's level. The prerequisites and levels are specified in the project description.
Players have a limited field of vision. With each elevation, their vision range increases. The client can use the "look" command to receive information about the objects and players on the surrounding tiles.
Sound can be transmitted in the game, allowing players to communicate without revealing their identities. The direction of sound is indicated by the tile number affected by the sound before reaching the player's tile.
- π About
- π Table of Contents
- π¦ Installation
- π Usage
- π Documentation
- π Contributors π
git clone git@github.com:X-VINCENT/Zappy.git
cd Zappy
make
./zappy_server -p port -x width -y height -n name1 name2 ... -c clientsNb -f freq
- port is the port number
- width is the width of the world
- height is the height of the world
- nameX is the name of the team X
- clientsNb is the number of authorized clients per team
- freq is the reciprocal of time unit for execution of actions
If you need additional information about the server, you can use the
-h
or--help
flag.
./zappy_gui -p port -h machine
- port is the port number ofthe server
- machine is the name of the machine; localhost by default
./zappy_ai -p PORT -n NAME -h machine
- port is the port number of the server
- name is the name of the team the AI will join
- machine is the name of the machine; localhost by default
The full and technical documentation is available here.