Awesome AI Agents › Generative Agents Simulation
linyiLYi/street-fighter-ai
⭐ 6521
Python
added to this list on 2025-04-19
repository created 2023-03-27
This project, named SFighterAI, is an AI agent developed to play and beat the final boss in the classic fighting game "Street Fighter II: Special Champion Edition" using deep reinforcement learning techniques. The AI makes decisions based solely on the RGB pixel values from the game screen, demonstrating an advanced application of computer vision and machine learning in gaming. The project includes a trained model that achieves a 100% win rate in the first round of the final level, although this is noted to be an overfitting case. The repository is well-structured, containing folders for data, main code, logs, trained models, and utility scripts. The main codebase includes scripts for training the AI agent, testing its performance, and logging the training process, which can be visualized using Tensorboard.
The project is implemented in Python and leverages popular libraries such as OpenAI Gym Retro for game environment simulation and Stable-Baselines3 for reinforcement learning algorithms. It requires Python 3.8.10 and recommends using Anaconda for environment setup. The README provides detailed instructions for setting up the environment, including installing dependencies, configuring the game ROM and save states, and running training or testing scripts. It also guides users on how to record gameplay videos and view training progress through Tensorboard.
The AI agent's training involves multiple stages, with different model weights saved to reflect various levels of training and generalization. Users can test these models to observe how the AI's performance evolves, from initial training phases to overfitting stages where the AI dominates the game but loses generalizability. The project also references academic papers that influenced its development, particularly in setting hyperparameters and addressing challenges like the "cowardice" problem in reinforcement learning.
Overall, SFighterAI is a sophisticated project that combines deep reinforcement learning, game emulation, and computer vision to create an AI capable of mastering a complex fighting game, providing valuable insights and tools for researchers and enthusiasts in AI and gaming.
https://github.com/linyiLYi/street-fighter-ai
ai-agentcomputer-visioncowardice-problemdeep-reinforcement-learningfighting-gamegame-romgame-screenhyperparametersmachine-learningmodel-weightsopenai-gym-retrooverfittingpythonrgb-pixel-valuessave-statesstable-baselines3street-fighter-iitensorboardtestingtraining
Also in Generative Agents Simulation
This project provides a simulation framework for generative agents that mimic believable human behaviors within an interactive game environment, enabling running, saving, replaying, and demonstrating agent-based simulations.
Voyager is an open-ended embodied agent powered by large language models that autonomously explores and learns diverse skills in Minecraft through lifelong learning and an evolving skill library.
A comprehensive Godot framework for creating smooth and complex AI motion using steering behaviors in both 2D and 3D games.
WorldX turns a single sentence into a running simulated world, generating maps and characters with LLMs and letting autonomous agents act, remember and form stories inside it.
Control room for LLM agent societies: pause and scrub a running simulation, question individual residents, inject instructions into the next step, and export replayable experiment packs.
PyGame Learning Environment (PLE) is a Python-based reinforcement learning platform that provides a variety of games and tools to facilitate the development and testing of reinforcement learning algorithms.
A locally runnable, low-cost implementation of generative agents simulating human-like behavior in an interactive Dungeons & Dragons setting using large language models.
GPTRPG is a proof-of-concept project featuring a GPT-based AI agent that autonomously interacts within a simple RPG-like environment using the OpenAI API.