# yenchenlin/deeplearningflappybird

**Attribution required: if you use, quote, or summarise this content, you must credit and link back to [awesome-repositories.com](https://awesome-repositories.com/repository/yenchenlin-deeplearningflappybird).**

6,807 stars · 2,058 forks · Python · MIT

## Links

- GitHub: https://github.com/yenchenlin/DeepLearningFlappyBird
- awesome-repositories: https://awesome-repositories.com/repository/yenchenlin-deeplearningflappybird.md

## Topics

`deep-learning` `deep-reinforcement-learning` `game`

## Description

This project is a deep reinforcement learning agent and AI game automation tool designed to master game objectives by analyzing visual input. It implements a Deep Q-Network to train an autonomous bot that learns to play a video game by maximizing rewards through deep Q-learning.

The system utilizes a convolutional neural network to process raw pixel data from game frames, identifying patterns to determine optimal real-time actions. Training is stabilized through the use of an experience replay buffer and an epsilon-greedy action selection strategy to balance exploration and exploitation.

The implementation covers a full reinforcement learning workflow, including frame-stacking preprocessing to provide temporal motion data, pixel-based state representation, and reward-penalty signal mapping.

## Tags

### Artificial Intelligence & ML

- [Autonomous Game Agents](https://awesome-repositories.com/f/artificial-intelligence-ml/autonomous-game-agents.md) — Creates a self-learning system that plays a video game by analyzing visual input in real-time.
- [Deep Learning Game AIs](https://awesome-repositories.com/f/artificial-intelligence-ml/deep-learning-game-ais.md) — Implements a self-learning agent that masters game objectives through deep neural network training and visual input analysis.
- [Game-Playing Agents](https://awesome-repositories.com/f/artificial-intelligence-ml/agentic-systems-frameworks/agent-orchestration-multi-agent/autonomous-agents/game-playing-agents.md) — Implements a self-learning system that masters game objectives by processing visual inputs.
- [Convolutional Neural Networks](https://awesome-repositories.com/f/artificial-intelligence-ml/convolutional-neural-networks.md) — Uses a convolutional neural network to process pixel data and identify patterns for action selection.
- [Convolutional Q-Network Implementations](https://awesome-repositories.com/f/artificial-intelligence-ml/deep-q-learning-frameworks/convolutional-q-network-implementations.md) — Implements a convolutional Q-network to approximate action-value functions from raw pixel inputs.
- [Deep Q-Learning Implementations](https://awesome-repositories.com/f/artificial-intelligence-ml/deep-q-learning-implementations.md) — Implements a full deep Q-learning workflow including experience replay and action selection.
- [Deep Reinforcement Learning Implementations](https://awesome-repositories.com/f/artificial-intelligence-ml/deep-q-learning-implementations/deep-reinforcement-learning-implementations.md) — Implements a deep reinforcement learning agent that masters game objectives through neural networks.
- [Pixel-Based RL Training](https://awesome-repositories.com/f/artificial-intelligence-ml/pixel-based-rl-training.md) — Trains a convolutional neural network to select optimal actions based on raw image observations. ([source](https://github.com/yenchenlin/deeplearningflappybird#readme))
- [Pixel-Based Game Agent Training](https://awesome-repositories.com/f/artificial-intelligence-ml/reinforcement-learning/pixel-based-game-agent-training.md) — Processes raw image frames into downsampled grayscale arrays for pixel-based agent training.
- [Pixel-Processing Agents](https://awesome-repositories.com/f/artificial-intelligence-ml/convolutional-neural-networks/pixel-processing-agents.md) — Ships a system that processes raw pixel data from game frames to determine optimal actions.
- [Epsilon-Greedy Exploration Strategies](https://awesome-repositories.com/f/artificial-intelligence-ml/epsilon-greedy-exploration-strategies.md) — Uses an epsilon-greedy strategy to balance exploration of new moves and exploitation of known rewards.
- [Experience Replay Buffers](https://awesome-repositories.com/f/artificial-intelligence-ml/experience-replay-buffers.md) — Implements an experience replay buffer to store transitions and break temporal correlations during training.
- [Game AI](https://awesome-repositories.com/f/artificial-intelligence-ml/game-ai.md) — Develops game AI logic that enables a bot to make real-time decisions based on visual input.
- [Reinforcement Learning Reward Systems](https://awesome-repositories.com/f/artificial-intelligence-ml/reinforcement-learning-reward-systems.md) — Maps game events to numerical reward and penalty signals to guide the agent's learning.

### Game Development

- [Game Automation Bots](https://awesome-repositories.com/f/game-development/game-automation-bots.md) — Implements a game automation bot that uses convolutional layers to determine actions from raw pixels.

### Graphics & Multimedia

- [Frame Stacking Preprocessors](https://awesome-repositories.com/f/graphics-multimedia/frame-buffer-snapshots/sequential-frame-buffers/temporal-frame-interpolation/frame-stacking-preprocessors.md) — Stacks multiple consecutive frames into a single input tensor to capture temporal motion data.
