Inspiration
The world of esports, particularly games like Valorant, is dynamic and ever-evolving. Building a competitive team requires not just skill but also strategic composition and synergy among players. We were inspired by the complexity of assembling such teams and wanted to create a tool that leverages data analytics and artificial intelligence to simplify this process. Our goal was to empower coaches, analysts, and enthusiasts to generate optimal team compositions based on specific constraints and to provide insightful explanations for these choices.
What it does
"Sigmeow the Master" is an intelligent team-building assistant for Valorant. It allows users to generate customized teams based on a set of constraints such as player leagues, regions, roles, and specific player inclusions. Users can input natural language prompts, and the system processes these prompts to extract constraints, generate a team that meets these criteria, and provide detailed reasoning behind each selection. The assistant have included comprehensive information into the consideration, including assigned roles, performance statistics, past team affiliations, recent match results, and more. This enables users to understand not just who fits into their team, but why they are the optimal choices.
How we built it
We approached the project by dividing it into two major components: team generation and response formation.
Team Generation: This aspect focuses on the algorithmic selection of players and the formation of teams based on specific constraints. We needed to determine which performance factors were most significant for different roles within Valorant. For instance, a Duelist might be more effective if the player's clutch factor is high. While advanced techniques like neural networks could be employed to fine-tune these weightings, for this hackathon, we leveraged our own game experience and insights from professional commentators to assign weights to various performance metrics. We developed a genetic algorithm that utilizes these weighted factors to generate optimal teams. This algorithm ensures that the teams not only meet the specified constraints but also maximize overall performance based on the players' statistical profiles.
Response Formation: Modern Large Language Models (LLMs) possess remarkable capabilities in understanding both data and human language. We harnessed this power by designing and refining comprehensive prompts to ensure the LLM could effectively interpret the output from our team generation functions. From there, the LLM engages in its own chain of thought, analyzing factors such as team chemistry based on players' regions, past teams, match histories, and spoken languages. We wrote specific scripts to guide the LLM in generating short and concise responses after fully comprehending the team composition. Additionally, we implemented an extra layer of validation using the LLM's reasoning abilities: if the team generated does not fulfill the required constraints, the LLM recognizes this discrepancy and requests a new team generation. This iterative process ensures that the final output consistently meets all user specifications.
By integrating these two components, we built a robust system that not only generates optimal teams based on data-driven insights but also provides detailed explanations and reasoning in natural language. This enhances user understanding and engagement, making the team-building process both efficient and transparent.
Challenges we ran into
One of the primary challenges was ensuring that the generated teams strictly adhered to complex constraints, such as exact numbers of players from specific leagues or regions, without compromising on team performance. Implementing a genetic algorithm that could efficiently navigate these constraints required careful design, particularly in handling edge cases where constraints might conflict or be overly restrictive.
Another challenge was data consistency. Ensuring that player data, such as league affiliations and statistical metrics, was accurate and up-to-date was crucial. We had to validate and normalize data from various sources, which was time-consuming but essential for the reliability of the system.
Additionally, designing the Agent to accurately interpret natural language prompts with varying structures and nuances required sophisticated NLP techniques and iterative refinement.
Accomplishments that we're proud of
We are proud to have created a system that seamlessly integrates data analytics with artificial intelligence to solve a real-world problem in esports. Our architecture allows for modularity and scalability, making it adaptable to future enhancements.
Developing a comprehensive OpenAPI schema with detailed descriptions, enums, and value constraints was a significant achievement. It not only ensures that our API is well-documented and easy to use but also enforces data integrity through strict validation.
We successfully handled complex constraints in team generation, ensuring that the teams produced are both compliant with user specifications and optimized for performance. The assistant provides insightful explanations, enhancing the user's understanding and trust in the system's recommendations.
What we learned
Throughout this project, we deepened our understanding of genetic algorithms and their application in optimization problems with multiple constraints. We learned the importance of data validation and normalization in building reliable AI systems.
We also gained experience in designing conversational agents that can interpret and respond to natural language inputs effectively. Crafting detailed OpenAPI schemas taught us the value of clear documentation and the role it plays in the usability and maintainability of an API.
Moreover, we learned how to balance technical complexity with user experience, ensuring that the system remains accessible and valuable to users without exposing them to unnecessary technical details.
What's next for Sigmeow the Master
Looking ahead, we plan to enhance "Sigmeow the Master" by incorporating real-time data updates, ensuring that player statistics and league information remain current. We aim to refine theteam generation process using advanced deep learning models to handle even more complex and varied user inputs, and more persuasive team formation.
We also intend to expand the system to support additional games and esports titles, broadening its applicability. Integrating machine learning models to predict team performance and chemistry more accurately is another goal, potentially providing users with predictive analytics about prospective team success.
Finally, we hope to develop a user-friendly interface or dashboard that allows users to interact with the assistant more intuitively, visualize team data, and customize constraints with ease. This could be completed by introducing a frontend UI, which will be supper cool.
Built With
- agent
- amazon-web-services
- llm
- python
- rag
Log in or sign up for Devpost to join the conversation.