GithubHelp home page GithubHelp logo

pastra98 / neat_for_godot Goto Github PK

View Code? Open in Web Editor NEW
32.0 3.0 7.0 4.34 MB

An implementation of Kenneth O. Stanley's NEAT Algorithm for the Godot game engine, written in gdscript.

License: MIT License

GDScript 99.77% Shell 0.23%
godot neat neuroevolution

neat_for_godot's People

Contributors

disdoh avatar erickson400 avatar pastra98 avatar saurus avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar

neat_for_godot's Issues

Game freezes when creating a new GA

I'm following the documentation and i'm at the part where i have to populate the game with agents.
But it freezes when i call the function (as in var ga = GeneticAlgorithm.new(2, 1, AGENT_BODY_PATH, false, "dino_params")

Video Tutorial

when you get time, can you upload video tutorial on implementing this project.

Error in ga.gd and strange behaviour in the ai

I have a problem with the code and a confusion.
The problem is that when the car arrives at the threshold, and the window for selecting the new threshold appears, when I write it and confirm the change, it gives the following error in ga.gd:
push_error("mass extinction"); breakpoint
In the version that is compiled and can be downloaded from here, this error does not occur.

And the confusion comes with the fact that when the generations are advanced (56-70) the cars lose everything they have learnt and return to the behaviour of the beginning without having completed the circuit.

The version of Godot I use is 3.2.2 stable.

Successful cars which are then saved are not usable in race mode.

Hi,
Very nice Godot Repository!
I have tweaked the parameters and have been very successful with your code!
But unfortunately while the saved nn cars are doing well in training mode, I can't compete against them because they are acting extremely differently on the same track and getting crashed for all of them.
I've tried with and without tweak.

Can you help me?

Works like magic

amazing package with very good documentation and examples. Took me less than a day to implement and I'm gonna leave it on overnight and see how it does.

Big thanks for making this

GUI not showing genome and placing only one body

Issue:

  1. it is only placing one agent
  2. in gui i can't see genome nor i can click on species (number update works properly).

source code: https://github.com/amzker/TIME-PASS_NEAT.git

Files:

cfg: https://github.com/amzker/TIME-PASS_NEAT/blob/c6bbd050b18bb7bc8723f80e79ae42451ba4b753/AI/AI_params.cfg
Loader scene: https://github.com/amzker/TIME-PASS_NEAT/blob/c6bbd050b18bb7bc8723f80e79ae42451ba4b753/AI/TrainAI.tscn

Loader script: https://github.com/amzker/TIME-PASS_NEAT/blob/c6bbd050b18bb7bc8723f80e79ae42451ba4b753/AI/TrainAI.gd

agent: https://github.com/amzker/TIME-PASS_NEAT/blob/c6bbd050b18bb7bc8723f80e79ae42451ba4b753/src/actors/player.tscn
agent script: https://github.com/amzker/TIME-PASS_NEAT/blob/c6bbd050b18bb7bc8723f80e79ae42451ba4b753/src/actors/player.gd

Track/Level: https://github.com/amzker/TIME-PASS_NEAT/blob/c6bbd050b18bb7bc8723f80e79ae42451ba4b753/src/levels/testlv.tscn
Track have no script which can affect here.

EDIT:
all agents are getting placed as in my coin counter it clearly shows 40 (my population size) on 1 coin, but i can't see them.
EDIT2:
agents issue was solved. the issue was i set action_press() because of which all agents were controllred at same time. changed it with directions and now it works, GUI issue is left

EDIT3:
I solved the issue it was because of fucking portal and canvas layer

Training Environment for Specific game types (tic tac toe type)?

Hi!

First off, outstanding work! I can't believe something like this exists for Godot! I am sorry you don't have more recognition for this!

Second. I have gone through the demos, and briskly the documentation, and had a question regarding certain types of environments

Lets say you have a game like tic tac toe, or asteroids, or something like (https://www.youtube.com/watch?v=AW-37sD8O1A).

All these agents cannot participate on the same track/level, and thus must be trained in independent arenas.

How do you go about setting up the training environment?

My though is that you would have to simply create many instances of the training environment in a larger scene, and simply
wait for all agents to die/win, then tie all the stuff together as opposed to using 1 environment/level/track, and placing all agents.

Possibly by modifying the place_bodies function to add each body to a different arena?

Maybe I missed something in the documentation, but as far as I am aware of the demos, there is no such example.

Thirdly, is there a place I can contact you regarding this plugin? I noticed you had the reddit post about a year ago, and there is this place, but wanted to know if there is a place your prefer to chat. I potentially have a bunch more questions.

Error when all agents die

I'm getting the error break point from ga.gd line 359 when ever all agents die.
New generations are created normally if i use a key press or something that's not checking if all agents are dead.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo 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.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.