car-game's People
car-game's Issues
Neural network results should be stored in a more unique filename.
If I train the network on say track A, and then start working on a new track called B, I would like to be able to keep the results from track A. A configurable output file seems ideal, but as a default, perhaps instead of best.car the results could be stored in best.car.TRACKNAME
Cheers.
Specify limits for AI training from CLI parameters
I would like to be able to limit the time needed for training the AI, by way of a command line switch such as:
--run-time=DURATION
--generation-count=NUM
--fitness=NUM
Either of these would be okay, just a mechanism to be able to batch run training jobs without needing an interactive ^C.
Cheers.
Use floating text to display information about the car
When there are multiple cars on each track, display info about each car as a text near the car.
Create different shaped tracks
Ability to create different shapes of tracks, not just simple circular maps.
Lua calls are not thread safe
Currently only single threaded mode works because of this. Possible solutions:
- Lock Lua class.
- Move fitness calculation to main thread.
- Use one lua interpreter on each thread.
Too much memory usage
Refactor to use less memory.
Remove all drawing functions from Model
Drawing functions should not belong to the class Model. It is a bad separation of responsibility. Drawing functions should all got to RealTimeGameManager, or any other classes instantiated only by RealTimeGameManager.
Add more checkpoints to neuron inputs
With more checkpoints, the AI has more information about the upcoming turn, so it can make more advanced manouvers.
Lua sometimes raises memory errors
Not yet fully reproduced, but it is suspected that it comes up only when the debug output is switched on for fitness calculation, i.e. when the calculator function returns with not only a number but a number and a string.
Draw line to track the route of a car
In interactive mode, draw a line to display where the car went during its route.
Use CUDA for geometric calculations
Calculating geometry on GPU would be much faster.
Create more advanced physics simulation
Finishing up the neural network, and plugging it in
Work in progress
Make window scale with track
If I have a track which is say 1000 units wide and 1000 units tall, the window should be able to zoom out to fit the entirety of the track on the frame. Currently it seems to me, that the window zoom is fixed.
An alternative to making the window scale, is to scale the track itself, however distances may not be accurate if we scale the track down.
Cheers.
Adding ray sensors to the car for the AI
Load parameters from file
Work in progress
Display how much time the car spent intersecting the track edge
In interactive mode, change the color of the car gradually to indicate how much time it spent intersecting the track edge. Also display it in text.
Use command line parameters to set car parameters
Track builder tools should have a scale function.
Say I defined a track with points:
0, 0;
1, 0;
1, 1;
0, 1.
In this case, the circumference is 4, however this may be modeled after a real-life track, for which the circumference is known to be (say) 40. In this case we need to scale the points in the track by a factor of Sqrt[40/4].
This would be helpful in creation of real-life tracks.
Cheers.
Turn on/off parts of the scene while rendering
Turn on/off
- rays
- checkpoints
- track boundary
- telemetry graphs (done)
- telemetry text
- car
Saving and loading replays
Wori in progress
Add better corner generation for track generator
The following library could be used for smoothening the corners:
http://www.angusj.com/delphi/clipper.php
Be able to continue AI training.
I would like to be able to run the ai training for a limited time, interrupt the training, then be able to continue from where it left off. This would prove useful to be able to create snapshots for the AI, or for continuing training on a different track.
For instance if the first round of training runs until generation X, then the training shouldn't necessarily start from scratch.
Cheers.
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
๐ Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. ๐๐๐
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google โค๏ธ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.