Zombies that learn

Me and Jobro set up an api for neural networks which can evolve. I decided to test this out on zombies. The results were pretty good!


3 Likes

This is pretty interesting. I was half hoping for the source code to look through how it was made, but it’s understandable why you wouldn’t add something like that :stuck_out_tongue:

Does the code need zombies to walk, or could it automatically generate just assuming the position’s each Zombie will move to? How large could the path become? Is it possible to make this a maze? I have so many questions as to what this can do! Can you recommend some good resources I could look at, based on the stuff featured here? I’m interested in how this works, and just what else it can do ^^

Lol it said in the video it’s opensource. https://github.com/jobro13/Neuro

The path could become inifinitly large because it is not calculating a path. Its looking at the length of the rays and rotating accordingly.

This is a good guide for neural networks. http://www.ai-junkie.com/ann/evolved/nnt1.html
And for the genetic algorithms. http://www.ai-junkie.com/ga/intro/gat1.html

1 Like

Awesome! Have you messed around with teaching it to pursue a target?

Not yet, but it should be able to do that easily.

I assume that this form of pathfinding is quite limited, yes? It the computer is required to backtrack to reach it’s target, it wouldn’t learn to do so. That would make something like maze navigation impossible.

Correct me if I’m wrong (I would love to be wrong =) )

Anyways, I really like it. Learning programs have been particularly interesting to me lately. I’ve been considering making a Roblox variant of a walking algorithm, but my scripting skills are a bit sub-par.

[quote] I assume that this form of pathfinding is quite limited, yes? It the computer is required to backtrack to reach it’s target, it wouldn’t learn to do so. That would make something like maze navigation impossible.

Correct me if I’m wrong (I would love to be wrong =) )

Anyways, I really like it. Learning programs have been particularly interesting to me lately. I’ve been considering making a Roblox variant of a walking algorithm, but my scripting skills are a bit sub-par. [/quote]

Exactly! Mainly because this isn’t pathfinding. Its pretty much just collision avoidance.

[quote] I assume that this form of pathfinding is quite limited, yes? It the computer is required to backtrack to reach it’s target, it wouldn’t learn to do so. That would make something like maze navigation impossible.

Correct me if I’m wrong (I would love to be wrong =) )

Anyways, I really like it. Learning programs have been particularly interesting to me lately. I’ve been considering making a Roblox variant of a walking algorithm, but my scripting skills are a bit sub-par. [/quote]

Exactly! Mainly because this isn’t pathfinding. Its pretty much just collision avoidance.[/quote]

Actually, one set of your zombies I watched developed the trait that if they got close to the end, they’d turn around, and one got stuck in a loop. :smiley:

But no, it’s clearly not pathfinding.

I currently have a demo on my profile which I need to improve badly, but it also uses neuro. It’s about fighters learning. They can turn, move forward and shoot.

Link

Repo is updated with the latest code base used in magnalite’s demo.

That’s pretty awesome, for some reason I can’t get WalkToPoint to work for my NPCs.
I don’t know why. :confused:

[quote] I currently have a demo on my profile which I need to improve badly, but it also uses neuro. It’s about fighters learning. They can turn, move forward and shoot.

Link

Repo is updated with the latest code base used in magnalite’s demo. [/quote]

Really enjoyed watching them slowly develop. Was also kind of funny when you found strains that continued simply by luck.

[quote] [quote=“Beta2” post=40006]I assume that this form of pathfinding is quite limited, yes? It the computer is required to backtrack to reach it’s target, it wouldn’t learn to do so. That would make something like maze navigation impossible.

Correct me if I’m wrong (I would love to be wrong =) )

Anyways, I really like it. Learning programs have been particularly interesting to me lately. I’ve been considering making a Roblox variant of a walking algorithm, but my scripting skills are a bit sub-par. [/quote]

Exactly! Mainly because this isn’t pathfinding. Its pretty much just collision avoidance.[/quote]

Actually, one set of your zombies I watched developed the trait that if they got close to the end, they’d turn around, and one got stuck in a loop. :smiley:

But no, it’s clearly not pathfinding.[/quote]
It is, by definition, pathfinding. Maybe not in the most traditional sense, but in a literal sense.

[quote] [quote=“magnalite” post=40019][quote=“Beta2” post=40006]I assume that this form of pathfinding is quite limited, yes? It the computer is required to backtrack to reach it’s target, it wouldn’t learn to do so. That would make something like maze navigation impossible.

Correct me if I’m wrong (I would love to be wrong =) )

Anyways, I really like it. Learning programs have been particularly interesting to me lately. I’ve been considering making a Roblox variant of a walking algorithm, but my scripting skills are a bit sub-par. [/quote]

Exactly! Mainly because this isn’t pathfinding. Its pretty much just collision avoidance.[/quote]

Actually, one set of your zombies I watched developed the trait that if they got close to the end, they’d turn around, and one got stuck in a loop. :smiley:

But no, it’s clearly not pathfinding.[/quote]
It is, by definition, pathfinding. Maybe not in the most traditional sense, but in a literal sense.[/quote]

It is indeed pathfinding. However A*, D*, D* Lite, LPA* and etc are more useful in the real world.

This is a special type of pathfinding. All/most pathfinding algorithms require all route possibilities (such as nodes) to be stored in the memory. Most algorithms then do some kind of spider search to find the best route.

This “pathfinder” however only uses it’s surroundings. It will therefore not find the best route.

However, keep in mind that the score for the zombie is based on the distance from the start and that it resets when it touches a wall. Thus, this is not a normal pathfinder. I doubt if I actually would call it a pathfinder, I’d rather call it a wall dodger… :slight_smile:

Yeah, definitely a wall dodger. It may very well go in circles in a big, open space. I made a similar obstacle avoidance thing for the automatic boat in BattleBoats!, but that was semi-intelligently designed instead of evolved. Regardless, this is still a very cool thing.