BerryBots forums

How can bots identify zone desirability?
Page 1 of 1

Author:  Seth [ Wed Apr 06, 2016 5:45 pm ]
Post subject:  How can bots identify zone desirability?

As it is from what I've read in the documentation, the only things a bot knows about zones are the dimensions and an optional tag or name. There is nothing for a bot to discern whether a given zone is good for the bot (e.g. a finish zone) or bad for a bot (e.g. instant death). A human can code a bot to behave in a particular way, just for a particular stage, but this does not tend to allow for bots that perform well in general for all, or any, stage.

I'd suggest that zones provide a value, negative to indicate something to avoid, positive to indicate goal or desired location. There should be a max and min that are reserved for instant win and instant death, where all other zone values fall somewhere in between. A mid zone may be an area of temporary invulnerability, a health boost, a damage trap, a pile of sticky glue that reduces speed temporarily, etc. I'd also give zones a type ... perhaps based on the effect: game/goal (win, die, sub-goal), energy/health, weapon, movement, etc.

With the above suggested implemented, a bot would be able to intelligently prioritize zone goals (reach or avoid) in a general way that makes them behave appropriately for most, if not all, stages.

Thank you for producing a great Lua programming / learning game! :)

Author:  Voidious [ Thu Apr 07, 2016 2:32 am ]
Post subject:  Re: How can bots identify zone desirability?

Oh, I think that's a great idea! In general, I do expect that interesting stages would need bot authors to write bots specifically for their gameplay style, but this makes a lot of sense and would sort of provide a middle ground. In some cases, you may not even need to alter a ship's movement for different rule sets, and when you do, it could greatly ease the pain of adapting your movement code.

And thanks for the kind words, I hope you are enjoying it! :)

Page 1 of 1 All times are UTC
Powered by phpBB® Forum Software © phpBB Group