The aim of this project is to visualize the evolution process of a car learning to drive. The neural network of the car is trained using neuro-evolution, a genetic algorithm that uses a fitness function to determine the best neural networks.
- React for user interface, changing simulation variables, and displaying stats
- p5.js for racing visualization
- TensorFlow.js for neural networks
- Base Web for styling and React UI components
- Vite for snappy React development
- Clone or fork project then navigate to the project folder
- Install dependencies with
npm install
- Run development server with
npm run dev
- Drifting physics
- Migrate from ml5.js to TensorFlow.js
- Drivable car to race against computer
- Load pre-trained neural net
- Explanation + helper text below canvas
- Control panel to change simulation variables
- Port to React
- Option to change map to see if car can generalize or if it overfit
- Use different maps each generation to prevent overfitting
- Buttons for racing current best AI and pre-trained AI
- Graph or table of best fitness over time
- Publish to GitHub Pages or Vercel