About this template:
agents/: Example agents for testing out the topic.docs/: Manuals and presentations.logic/: Contains the game logic.server/: Contains the server to which the agents connect to.visuals/: Visualization files for the topic.
Regarding this README:
- Replace all italicized placeholders with your actual content.
- Remove any sections that are not relevant to your topic.
- Keep instructions clear and concise.
- Refer to the example READMEs in existing topics for formatting and level of detail.
Replace with the name of your topic/game. Use a descriptive and unique title.
Describe your topic/game in a couple of sentences. Explain the main idea, the objective, and what makes it interesting or unique. Mention the number of players, the type of gameplay, and any special mechanics.
For visuals, simply add a few screenshots or gifs to showcase your topic:
List and link to topic manual and presentation:
Depending on your idea, you either started it from scratch or forked an existing repository in which case you need to link it:
Created by:
- Firstname Lastname (Topic responsible)
- Firstname Lastname
Forked from Original Repo, modified by:
- Firstname Lastname (Topic responsible)
- Firstname Lastname
This work is licensed under a Creative Commons Attribution-NonCommercial-ShareAlike 4.0 International License.
Do not modify this section. All topics must use this license.
This topic was used in the following events:
List where and when this topic was used (e.g., at which AIBG event). List the event name, location, and date. Example:
Before you begin, make sure your environment is set up to run the game. The following prerequisites will help you configure your system to run the server, agents, and visuals correctly.
Provide step-by-step instructions for running the topic locally. Include prerequisites, setup, and how to start the server, visuals, and agents. Use code blocks for commands. Make sure instructions are clear for someone new to the project.
List all software and dependencies that need to be installed (e.g., Node.js, npm, Python, etc.). Specify versions if necessary. Provide installation commands and in what order.
Explain the typical flow of a game round in steps. For example: starting the server, connecting agents, running visuals, and how the game shuts down.
-
Create a
players.jsonfile in the server directory using the example:cp players.json.example players.json
- Edit player IDs and names in the newly created
players.jsonas needed
- Edit player IDs and names in the newly created
-
Start the server:
Describe how to set up and run the server with command-line options.
Explain how to start the visualization (e.g., using Live Server in VS Code), and how to access it in the browser.
Describe how to run the test agents you created.
Provide instructions for deploying the topic on a remote server (e.g., VPS). Include installing prerequisites, copying files, installing dependencies, editing configuration, starting the server, and opening firewall ports. If your topic has any special deployment requirements (e.g., environment variables, extra services), mention them here. Also mention optional steps like setting up a custom domain if applicable.
For easier access, consider setting up a DNS A record (for example topic.aibg.best.hr) that points to your VPS IP. This makes the WebSocket endpoint easier to remember and share.
Example WebSocket connection URLs:
ws://topic.aibg.best.hr:3000ws://your-vps-ip:3000
To set up a DNS record, use your domain provider’s dashboard to create an A record pointing to your VPS.