m-byte918 / MultiOgarII

A continued version of the original MultiOgar, an open source Ogar server implementation written with Node.js.
Apache License 2.0
126 stars 131 forks source link

Bots (ai) #240

Closed Gimmo closed 7 years ago

Gimmo commented 7 years ago

Currently implemented bot are an idiot.

Did someone try other bots? What the difference if I use Qbot or GogyBot, or may be it's possible to implement mechanisms from popular user bots as Apostolique or heyitsleo ? Does it have a sense at all?

I hope here are people, who have expirience and thought about what the bot should be to win, not only eat resources.

m-byte918 commented 7 years ago

@Gimmo I think the current ones are smart, they can splitrun with each other, they can reverse tricksplit, they can get big on their own, what else do you want? Ive seen them get to the top of the leaderboard easily, I'm trying to keep the bots as smart as possible while also keeping the code to a minimum for performance. The other projects you mentioned may be smart, but there are a few things I'd like to mention:

QBot: too large/complex to implement for performance reasons.

GogyBot: same as QBot, and heavily designed to be used for Ogar, it will not work here. And even if I tried to port it, it would impact performance alot.

Apostolique: same as QBot

heyitsleo: same as QBot

Gimmo commented 7 years ago

@Megabyte918 There is two tasks for the bot (as I'm understand):

  1. server testing - for this existent bot good enough
  2. game promotion - I'm a very weak player, but I win with current bots all the time. It's not good for the game imo. I don't talk about the way the bot is made, as I don't understand it good enough, I talk only about result. Maybe one instance of heavy bot can be better then 100 light ones? May be we should have ability to run 100 lightweight bots + pair of different heavy, which will be able to find and destroy player ? When I try to play on different servers, I always killed fast enough - by bots or by teams. I understand that it's external,mega heavy user bots, but I'd like to have this situation to be on my empty (i.e. without real players) server. I can't use user bot, because policy of server is against userbots, and I plan to have strong anty-user-bot system.

As an easy addon - maybe current bot should have weighted agression - different to bots and to players? It shouldn't be too heavy, or I'm wrong? Something like this - while big bot moving toward player it ignoring small, moving away, bots.

m-byte918 commented 7 years ago

I do not want this project to become OgarUL.

AlexandriteErikParacelsus commented 7 years ago

Yep, the lag make the project collapsed on it self.

Gimmo commented 7 years ago

@AlexandriteErikParacelsus Single instance of productive bot will not make lag more then 1000 not making result. It's always a question of balance. As for testing purposes - different versions of server should be compared using the same version of bot, or a comparison lost a sense. So, history of embedded bot development have not much sense.

m-byte918 commented 7 years ago

Current bots are experimental, they are not fully developed yet. As of now it is just a base. They are mostly for testing purposes, not really meant to be played with. Sure they can get to the top of the leaderboard quicker, reverse tricksplit, or even splitrun with each other now and then, but their not really supposed to be difficult enough to challenge a real player. That's what other players are for. I only use these bots if I feel lonely and have no one to play with haha, otherwise I'm playing with other real players.

Tyler3D commented 7 years ago

@Megabyte918 I can see that. About to popsplit bot... Omg the bot 16's into my double split.

Tyler3D commented 7 years ago

Or maybe they're trying to ruin my satisfaction Idk.

Tyler3D commented 7 years ago

Changing your botPlayer.js to this http://pastebin.com/YN4b6ptM Aka Undo Megabyte's Last Commit, makes them smarter.

Gimmo commented 7 years ago

@Megabyte918 I understood. But I still need productive bot or at least a good advise how this can/should be built.

m-byte918 commented 7 years ago

@Gimmo Just replace/add the necessary files and port the code from ogar over to multiogar

agariotips commented 7 years ago

So i would literally copy and paste it into the ai folder?? @Megabyte918

Gimmo commented 7 years ago

@Megabyte918 Can you point proven/known to be good/working/productive one? Or I have the only chance - to look upon stars at github?

m-byte918 commented 7 years ago

@Gimmo I don't really know any besides the ones you mentioned earlier

Gimmo commented 7 years ago

@Megabyte918 Ok, thanks. Let this issue hangs some time, may be someone respond something new.

Gimmo commented 7 years ago

Nothing... No one interested.

m-byte918 commented 7 years ago

@Gimmo It shouldn't be that easy to win against bots now (i'm hoping)

Gimmo commented 7 years ago

Sometimes really much more better, but I really think aggression to players should be more then to brothers-bots. ( May be coefficient of distance? ) Sometimes big bot ignore me when I'm close enough because of big amount of bots around.

I still easy catch small bots, but time by time big bots catch me fast and rigidly. If bots will be little more sensitive to player it will be perfect.

Generally - really much better. Thanks.