Wednesday, 12 March 2014

Garbage collectors

In the last post I showed you "motivations", after it I renamed it, on the code and on my mind, to "goals", much shorter and general!

But in this previous video there were only "personal goals".

Each player (or kart) had its own set of motivations, and that is why only orange kart was able to eat the orange sweet drops on the track: only this kart was able to "see" them.

This time I have added "team goals", so a goal is shared by all of the players in the team. Now, if I add a "sweet drops" goal, all the karts will fight to get the sweet drops on the track:

Along with this video I am also adding V0.8 of the software along with source code (delphi 7) on the "Downloads" page (on top of the blog) so you can digg into the "TGoal" class and find how it was designed.

Goals are still under heavy revision, so spect goals to change in next version, but the "general AI" is fininshed, level 6 is the last in the list, so all this part is finished.

So what is next?

1) Add other kind of "goals", negative ones, like trying not to run out of health (keep alive) so crashing with another player can be "dangerous" and avoided actively.

2) Design sets of predefined goals so I can have some karts to act as "sweet drops collectors" that accumulate sweet drops in a central storage, etc.

3) With all this, I would try to get an scenario where two teams of karts fight for collecting more drops. May be adding more kinds of karts (warriors, sweet defenders, etc) would give me finally a terrarium simulator with "ants" on it fighting for survival... or similar.

4) Kart (ops! ants) would get old and die, and could pair and have a baby kart with mixed params from its two parents... I could make the ants to evolve to better forms of "drop collectors". An evolutive algortihm.

I don't know if I will reach even point 3 of the list without being atracted by other new possibility, there are many ideas I want to try out.

No comments:

Post a Comment