Snake Game Development with AutoGen

Welcome to the Snake Game Development project. In this project, we aim to design, implement, and test a snake game that is both entertaining and challenging. We leverage the power of the autogen library, a framework by Microsoft, to facilitate collaboration between different agents, each with its unique role.

Table of Contents

Overview

The project is structured around a group chat setup where different agents collaborate to bring the snake game to life. Each agent has a specific role and responsibility, and they communicate and collaborate through the group chat.

About AutoGen

AutoGen is a framework developed by Microsoft that enables the development of LLM (Language Model) applications using multiple agents. These agents can converse with each other to solve tasks. AutoGen agents are known for their customizability, conversational capabilities, and the seamless integration of human participation. They can operate in various modes, employing combinations of LLMs, human inputs, and tools. For more details, refer to the official documentation.

Roles and Responsibilities

Setup and Configuration

  1. Dependencies: Before running the project, ensure you have all the required dependencies installed. You can install them using:

    pip install -r requirements.txt
    
  2. OpenAI Key: Make sure to add your OpenAI key to the OAI_CONFIG_LIST.json file. This is crucial for the proper functioning of the GPT-4 configurations.

  3. Configuration: The project uses a configuration file OAI_CONFIG_LIST.json for GPT-4 settings. Ensure this file is present in the root directory and has the necessary OpenAI key added.

  4. Working Directory: All relevant game files, including the game's code and design document, are stored in the game_files directory.

Usage

To initiate the project on Windows, navigate to the project directory in your terminal or command prompt and run the following command:

python snake_dev_team.py

This will start the group chat, and the Player will initiate the conversation with the message:

"Let's design and implement a snake game. I aim for it to be entertaining and challenging."

From there, the agents will collaborate based on their roles and responsibilities.

Contributing

Contributions are welcome! Please read the contributing guidelines to get started.

License

This project is licensed under the MIT License. See the LICENSE file for details.