Thread Rating:
  • 4 Vote(s) - 4.25 Average
  • 1
  • 2
  • 3
  • 4
  • 5
[DEV] G2O Bot module
Have you synchronised bot position with server?

(20.11.2016, 23:37)Mattwell Wrote: Have you synchronised bot position with server?


REALLY? OMG !!! THX THX !!! <3
[Image: 2_1.png]
I've finally got everything to work again. Thanks for updating, Nubzior Big Grin Would you, by any chance, be able to change a few more things? There are a few bugs with the bot module, that could probably be fixed with relative ease but would improve it pretty noticeably. If so, I'd write you a more detailed report about the things you could look into.
okssssssss but i personally recommend bot module from KimiorV you only need to write synch
[Image: 2_1.png]
I'll have to look into that then - would have to update about 3k lines of my AI for it though Big Grin. A few things I've noticed with the bot module, if you want to fix them. I didn't test those problems with dev8 again, but they were present in the last version, before you updated, so I assume they're still there.

1) There is a problem with the position-synchronization. When a player with a high ping synchronizes the position of the bot, the bot will lag behind, but everything is fine when a player with a low ping synchronizes the position, including for the players with a higher ping, which means that it isn't just lagg. When the updateplayer has a ping that is > 200, the bots pretty much don't move at all anymore. This is what I think is happening:

The player with the high ping sends the bot-position to the server (secret_gimmebotpos). The server then uses those numbers to update the position of the bot on all clients, including the client that did the update. When the updateclient has a ping of 0 this is not noticeable at all. If he has a higher ping though, the position will be sent back to the updateclient with some delay who then sends the outdated data back to the server and so on, which causes the bot to lagg behind. If I'm correct, the obvious solution would be to exclude the "updateplayer" from the synchronization.

2) There's a (hopefully) small problem with animations. For example, if I play the death-animation for a bot, the expected result would be the following:
- Play animation "T_DEAD"
- After the animationstage "T_DEAD" has finished, the animation changes to "S_DEAD" (The animation where he is already dead and doesn't fall over)
- m_Animation changes from "T_DEAD" to "S_DEAD"

The current result is the following:
- Play animation "T_DEAD"
- After the animationstage "T_DEAD" has finished, the animation changes to "S_DEAD" (The animation where he is already dead and doesn't fall over)
- m_Animation stays "T_DEAD"

While the actual animation of the bot changes, m_Animation doesn't reflect changes in the animationstage. m_Animation is just the animation that was played last. I presume this is what causes the problem that, when leaving dead bots and approaching them again, if they were killed via "T_DEAD", they die again every time. The module probably uses m_Animation to reset the animation when the bot comes into view again. Of course I could manually set m_Animation now, but sometimes it would be very useful to get not only the last played animation, but the actual, precise animation the bot is currently in.

3) Orcs and skeletons (And possibly more) have parts of their singleplayer-AI left:

Usually the problems aren't too bad: They play the weapondraw-animation when a player comes near, sometimes they play the taunt-animation too. When using setWeaponMode though, it gets a lot worse. With drawn weapon they often strafe or run forwards when a player is near, which makes exact positioning pretty hard. Especially for orcs with drawn weapons, in most cases, they don't properly play the die-animation - they just keep playing the weapondraw-anim.

4) When a player dies and respawns near bots he could see before he respawned, those bots are invisible. For example: If a player fights a wolf near the respawnpoint and then dies and respawns, the wolf will be invisible. A similar problem used to exist with setTime, which was fixed a while ago, so hopefully this is a really easy one.

5) There is no way to control whether the attacks of bots can be parried or not. Currently, the players can automatically parry any bot's attacks.

6) It would be nice, if the little "G2O Bot Alpha 3"-text in the lower right corner could be removed.

Possibly Related Threads…
Thread Author Replies Views Last Post
  [New G2O][Client-Side] GUI Patrix 0 139 15.11.2020, 21:57
Last Post: Patrix
  [G2O] SpeedBlock Marbar 16 2,595 13.10.2020, 15:32
Last Post: Sative
  [New G2O][Client-Side] LocalStorage Patrix 0 737 08.05.2020, 16:38
Last Post: Patrix
  [New G2O] Module example Patrix 4 4,665 17.05.2019, 01:30
Last Post: Patrix
  [New G2O][Client-Side] Clipboard Patrix 7 5,987 07.02.2019, 01:45
Last Post: Patrix
  [New G2O][Client-Side] Music Module Nubzior 3 3,329 24.05.2018, 08:07
Last Post: Nubzior
  G2O - Client Side Bots(0.0.4) KimiorV 16 9,889 16.01.2017, 10:47
Last Post: KimiorV
  G2O Client side bots KimiorV 4 3,158 09.06.2016, 20:11
Last Post: KimiorV

Forum Jump:

Users browsing this thread: 1 Guest(s)