The goal of this project is to apply neuroevolution to my midterm code assignment. Previous Post.
The sketch is just the skeleton.
Link to Code
Any recommendations, suggestions, or reminders to other codes or examples are welcome.
How do I confirm if I am using fitness?
When is fitness read? When is the particle created? Improve if it is closer to the target? How do I read that?
Can I make the particles bounce on the edges if I’m using a NN for velocity?
Am I assigning gravity in the right way?
I was thinking of what happens if the target is also smart and moves to avoid the particles?
☑ Apply ml5.neuralNetwork to particles
- Following Shiffman Class Example
☑ Create next-generation without eliminating the current population.
☑ Apply force (Gravity)
- Following Daniel Shiffman video tutorial 2.1 Simulating Forces: Gravity and Wind — The Nature of Code
☐ Apply characteristics of midterm little bugs
☐ Should the two species of bugs compete for the target?
I don’t think that I will be able to apply all these ideas to the code, but these are things that I tried in different ways I haven't had results yet.
☐ Create fading function for particles that stop moving — fade()
- I tried, but haven’t got it yet. I tried different methods but hasn’t got a good result.
☐ Bounce off edges (it is possible?)
- I tried this with a code example but I believe that sending another direction to de velocity contradicts the direction that comes from the neural network.
☐ Steering behavior
- I tried it, but not what I was looking for. How can I apply a steering behavior so the particle looks like it’s jumping but it is not strong enough to overcome gravity? This would be just to give a natural motion.
☐ Particle strength
- The idea was to make each particle born with a certain strength (that the NN would decide) and this strength also influences the ability to get the target. However, the particles are born with the gravity and velocity forces applied and improve over generations. So I did not see any difference.