survive-line
Ball survives two sine waves using N.E.A.T algorithm
Science Score: 44.0%
This score indicates how likely this project is to be science-related based on various indicators:
-
✓CITATION.cff file
Found CITATION.cff file -
✓codemeta.json file
Found codemeta.json file -
✓.zenodo.json file
Found .zenodo.json file -
○DOI references
-
○Academic publication links
-
○Academic email domains
-
○Institutional organization owner
-
○JOSS paper metadata
-
○Scientific vocabulary similarity
Low similarity (10.4%) to scientific vocabulary
Keywords
Repository
Ball survives two sine waves using N.E.A.T algorithm
Basic Info
- Host: GitHub
- Owner: Ahelsamahy
- Language: TeX
- Default Branch: master
- Homepage: https://ahmedmahfouz.me/thesis
- Size: 151 MB
Statistics
- Stars: 1
- Watchers: 2
- Forks: 0
- Open Issues: 0
- Releases: 0
Topics
Metadata Files
README.md
Survive Line
Survive Line is a game powered by Pygame and Artificial Intelligence, designed as my BSc thesis project. In this game, a ball navigates between two waves where they have random amplitude and the speed between them decreases over time, powered by the latest in AI technology using the N.E.A.T algorithm.
Features
- Dynamic Waves: Experience the changing waves as you play more.
- AI-Driven: The ball is controlled by an AI trained using the N.E.A.T algorithm. It managed to play continuously for 30 min
- High Performance: The game runs at a 120fps providing smooth gameplay.
AI Features
The game features an AI that can autonomously navigate through the waves without any manual intervention. Below is a video showcasing the AI in action
https://github.com/Ahelsamahy/Survive-Line/assets/10195309/7f49307b-deb6-4765-94cc-6789664209fc
Game Footage
Here's a sneak peek of Survive Line in action:
https://github.com/Ahelsamahy/Survive-Line/assets/10195309/41cc46dd-8de3-48ee-bc9d-451bf78ec930
Controls
- Use right and left arrows controls to navigate away from the waves.
vKey to show vision lines for the NNbkey to show the ballRect (bonding box for the ball)pkey to show the particles
Installation
- Clone this repository:
bash
git clone https://github.com/yourusername/Survive-Line.git
- Navigate to the project directory:
cd Survive-Line
- Install dependencies
bash
pip install -r requirements.txt
- Run the game
bash
python main.py
Contribute
Contributions to the project are welcome! Please fork the repository and submit pull requests with your proposed changes.
Thesis Document
For those interested in the detailed technical and scientific documentation, the thesis is available in LaTeX format.
Owner
- Name: Ahmed Mohamed
- Login: Ahelsamahy
- Kind: user
- Location: Eger,Hungary
- Website: http://ahmedmahfouz.me/
- Twitter: AhElsamahy
- Repositories: 5
- Profile: https://github.com/Ahelsamahy
Hi there, I'm Ahmed (not related to username) studying CS in EKCU, Teen C# and python developer.
Citation (CITATION.cff)
# This CITATION.cff file was generated with cffinit.
# Visit https://bit.ly/cffinit to generate yours today!
cff-version: 1.2.0
title: Survive Line
message: >-
If you use this software, please cite it using the
metadata from this file.
type: software
authors:
- given-names: Ahmed
family-names: Mahfouz
email: ahmelsamahy@gmail.com
repository-code: 'https://github.com/Ahelsamahy/Survive-Line'
url: 'https://ahmedmahfouz.me/?p=thesis'
abstract: Surviving game with ball between two lines.
keywords:
- Python3
- PyGame
- AI
version: '1'
date-released: '2023-02-20'
GitHub Events
Total
- Watch event: 1
- Fork event: 1
Last Year
- Watch event: 1
- Fork event: 1