|
|
|
Administrator 284 posts
Registered: Sep 2015
As some will have seen on previous blogpost, I've been working on porting the frogbots over to KTX. The first version of this (I stress, not complete yet) is now running on a new server, dev.badplace.eu:28501-28504. They should be decent at maps like povdmm4, but can also give a decent 2v2 on ztn or 4v4 on frobodm2. No replacement for humans, but better than practising with existing fbca and getting different experience online. Because they're standard clients and running standard KTX, all KTX options/modes should work as normal. Do not use dev.badplace.eu for Thunderdome or any other official/serious games: a lot has been changed to support the frogbots and this needs a lot of testing. To use:- /botcmd skill X (X = 0-20, defaults to 10)
- /botcmd addbot (adds a single bot)
- /botcmd fill (fills remaining server spots with bots)
- /botcmd remove (removes a single bot)
- /botcmd removeall (removes all bots)
- /botcmd (will list all bot commands available)
Extra features added:- Bot map support now based on external .bot files
- Map editor mode available (will do post on this once I've sorted out github)
- KTX now loads .loc files - bots report locations properly
- Teamplay messages can now be generated server-side, /tpmsg command
- MVDSV flags which entities were sent to client in previous packet, used for reporting enemies & /tpmsg point
- Bot aim logic significantly changed
- Minor bugfixes to bot logic but largely the same
Bugs/issues to look into:- The aim parameters probably need modified, skill 0 now significantly better than previous skill 0. Should be more human tho.
- Lava jumps (getting out of lava on DM4) is broken
- DM6 door-opening is broken (need to make more generic anyway - if path blocked by X, trigger target Y)
- Obstacle avoidance is somewhat broken, bot can get blocked on pillars/corners
- Jump paths need work - seems to be over-use of JUMP_LEDGE path flag, which is used for jumping off a ledge and also up a step.
- The more bots, the laggier the server gets? Could just be me not used to playing with ping recently
Bot logic features to add:- Accelerating jumps, necessary to provide support for newer maps like bravado
- Rocket jumps - fire at various angles, not just vertical
- Running speed - bot could 'wiggle-run' when not actively looking at player/location
- Vertical platform support has been improved but bot can get stuck underneath, need to back away when extended
- Server full of bots, spectator /join, remove bot and let human play
Server notes:- Spectalk should be enabled by default
- 4v4 is 10 minutes, 1 minute overtime
- Hosted by digitalocean in frankfurt - cheapest VM they have, would be good to get feedback on pings/performance
- Repeat: DO NOT USE FOR OFFICIAL MATCHES
I'll try and get the DM6 door logic fixed at least, then will upload source code to github and can start tracking feedback/bugs there. In the meantime if you have any suggestions or bugs list them below and I'll update this post. Unfortunately ezQuake can't run KTX at the moment, I have a fix for this but need to discuss with others, upgrading internal server to match current mvdsv will lead to importing the PR1/PR2 mod problem.
Member 117 posts
Registered: Jan 2006
I had to delete frobodm2 from nquake.pk3 to join, guess I have an old package? Ping is decent, 25ms. Will test some and edit.
edit: Well it works, bots tend to hoover all items on 4v4, guess that's natural. And ofc they don't hold positions or anything. It's more suited to 2v2 imo. Or ffa. Or Clan Arena? Pity dm2 doesn't work :|
Nice work anyhoo.
I didnt notice any lag with 7 bots btw.
Administrator 284 posts
Registered: Sep 2015
I had to delete frobodm2 from nquake.pk3 to join, guess I have an old package? The version that comes with nquake is bugged, I think you can rocket jump into a water texture somewhere opposite the nailgun? The one on the server shouldn't have that problem but I can't remember where I got it from. bots tend to hoover all items on 4v4, guess that's natural. And ofc they don't hold positions or anything. It's more suited to 2v2 imo. Or ffa. Or Clan Arena? Pity dm2 doesn't work :| Absolutely. They currently all follow the same goal-seeking logic, so you often get two or three of them heading for quad at the same time. I haven't gone into more advanced logic, but if the player was using /tpmsg commands, the bot's behaviour could change accordingly - so "waiting @ RA" would reduce its desire for RA, "secure at quad" would stop them all going for it, etc. The bots are miles away from competing in 1v1 though, so they're never going to be that impressive in teamplay. I didnt notice any lag with 7 bots btw. That's good, I get ~43 ping to that server so after spending all months on localhost servers I'm probably just feeling it more than usual. Good news: I found the problem with DM6 door, and also fixed bugs where they could keep firing LG/NG/SNG even when opponent wasn't visible, and a bug in the weapon script that would cause them to fire SG more often than usual, especially off the spawns in dmm4. Haven't uploaded that version though, because now a skill 10 frogbot hits 80% LG. Argh! Will play with the aim-modelling variables tomorrow, got some good suggestions tonight so will see what I can come up with. Thanks for the feedback.
Member 117 posts
Registered: Jan 2006
Dunno if it's a bug but typing /ffa then /botcmd fill crashes the server. /botcmd addbot works fine.
Member 46 posts
Registered: Jan 2013
So will these new bots come with a system so we can see whos better killing them
Member 46 posts
Registered: Jan 2013
Member 32 posts
Registered: Sep 2016
the bots seems to respawn in an instant, maybe add some random delay anything from 150ms to 800ms to make it more like a person would do.
Administrator 284 posts
Registered: Sep 2015
Thanks to everyone that has been testing them recently and giving feedback, especially those who had to tolerate that version where the bot wandered around like a complete idiot. New version uploaded today. Recent fixes:- Had screwed up aerowalk routing for the quad, bots should go for it now
- Also fixed routing at low aerowalk teleporter, bot could become stationary
- Hopefully fixed the bug causing bots to get stuck in YA cages in frobodm2 (or generally hang around teleport entrances for too long)
- Added map support for endif, nacmidair, povdmm4b, pushdmm4, noentry
- Introduced reaction time delay when bot spawns or player spawns/teleports, should be more realistic
- Respawning now random between 200-800ms
- No weaponscripts unless teamplay & dmm1
- Bots readying up doesn't trigger idlebot
- When last player leaves, map resets instead of sticking around in intermission
- "/botcmd fill" now only adds max 8 bots at a time (was overflowing)
Immediate todo list:- Still changing the aim parameters. Think it's getting better, but need to get rid of the wobble/shake effect. skill 5 is strength I'd like skill 10 to be.
- Still not happy with DM6 door-opening
- Lavajumps
- Jump paths need looked at (ztn quad room)
- Smarter use of air control (e.g. aero tele > high rl). This has been nerfed since the older version and now they suffer for it
- Attack floor of spawn point if centre not available (currently spams barrier on povdmm4)
- Bots don't react well to being blocked (mega pillar on ztndm3, teleport frames on dm6)
Other suggestions/feedback:- When enemy is shooting up in the air, delay fire until gravity kicks in (mimic player lining up shot)
- FFA mode: spawn/remove bots as necessary to keep player count between X and Y
- Teamplay: add control areas (groups of locations) as goals, instead of hunting opponents
- Goals: needs reviewed... if they have RL or LG then desire for other weapon is too low
- Race-like top-scores based on LG% for aim maps
Thanks again to everyone who has tested.
Administrator 384 posts
Registered: Dec 2006
Good work. One area I think could be improved is when DropQuad is enabled, they do not seem to give a dropped quad high enough priority (sometimes walking past it on route to another location).
Member 375 posts
Registered: Sep 2009
BOTS in KTX.... amazing !!! (QW Nickname: AL.Kernell)
Member 215 posts
Registered: Feb 2011
This is really good stuff. I tried some 2on2s against level 20 bots (both with human teammate and with bot teammate) and it's not that easy. You can tell they play very differently and most of the difficulty comes from the perfect aim, but it's still a fun challenge and something different. With some tweaks to bot strategy it can become a lot more challenging.
Minor bug: played with VVD and we teamed up as "/team human". I then did "/botcmd fill" and 2 bots joined, but 1 was team red and the other team blue. I couldn't get them to team up unless VVD and I both went to either team blue (or red) and then removed and readded them, at which point they both joined the same red/blue team that was vacant. So there should be some logic where the bots join the same team more intelligently, not just based on red/blue of existing players.
Suggestion: at higher skill levels, bot teammate should be more liberal in reporting status, lost bind, pointing at enemy etc.
Administrator 284 posts
Registered: Sep 2015
Sorry for radio silence on this, have been tearing my hair out and doing angle rotation movements with my hands for the past week. Have focused on air control / movement speed so that bravado could be supported. Then reading up on navigation meshes and wondering if such a thing is possible in QW due to the air control possibilities. We could just take air control out of QW, to make it easier for the bots to navigate - everyone okay with that, yeah? Changelog- Aim 'wobble' should be vastly improved
- DM6 door opening should be fixed
- Bots should now know about dropped powerups
- Air control fix for aerowalk tele > high rl
- Air control ability now changes with skill, tried to make it reasonable.
- Bots will accelerate on ground (unfortunately now we have movement wobble instead?)
- Some paths between markers can have left/right angle hints instead of aiming direct (bravado lg)
- Added map support for bravado, subterfuge, ravageqwb8 (a foogs map pack, almost)
Haven't added rocket jump paths to the new maps as rocket jump support is pretty weak atm (and the bots are challenging enough as it is)
Member 46 posts
Registered: Jan 2013
whats ultimate 2017 final high score on level 3?
Member 230 posts
Registered: Jan 2006
I have not tried this out yet (sorry) but just from reading about the updates makes me think this could be something really fantastic, at least in my QW world Keep up the great work meag...
Member 375 posts
Registered: Sep 2009
"..... makes me think this could be something really fantastic, at least in my QW world ..... Damn right it is! a game with less and less players... when I have time to spare, I will get back on my QWServers-Notifier to make it better! (auto-update from Masters is much needed) amazing Meag ! keep it up! (QW Nickname: AL.Kernell)
Administrator 284 posts
Registered: Sep 2015
New update on servers tonight. This will probably be the last update for a while. Bugfixes:- Teleport destinations and spawn points were created too large
- Bots will hurt themselves to pickup armor again
Improved:- Acceleration movement improved
- Bots don't combat jump in midair mode or when opponent is firing LG
- Bots aim at feet more often in midair mode
- Bots know midair quad rockets are double-speed
- Bots wait when opponent is popped in air before firing again
- Bots don't jump in prewar (quieter)
- Bots join teams that already exist & copy colours from first player
- If bot hears its current goal item being picked up, picks new goal immediately
Routing:- If hurt_trigger kills player and is flagged as unreachable, backpack is treated as unreachable
- Maps can have deathheight set (for floating maps like skull, travelert6)
- Bots can now select a different path, based on deciding to rocket jump or not
- Rocket jump paths can now have parameters specified (botcmd rjfields *pitch* *yaw* *delay*)
Map support- Added support for shifter
- Added rocket jump paths to bravado and ravageqwb8
The big difference is the rocket jumping, previously the route was chosen regardless or not if the bot was capable of doing a rocket jump... then each time it was at a node in the path it might take the rocket jump route if it happened to going in the right direction. Instead now we precalculate walking and rocket jump route times, and it will choose a different route if it is capable. The rocket jumps can also be sideways instead of directly vertical (see video of the bot humiliating me on bravado for examples). Adding the rocket jump routes on each map takes a while as they all need tested, and there are generally more than you realise. Biggest problem with the bot at the moment is banging into walls, am going to be without main machine over Christmas so will be trying to improve on this.
Member 245 posts
Registered: Jan 2006
When will frogbots start racing? It would be lovely to see a bot making records
Administrator 384 posts
Registered: Dec 2006
I've noticed that the bots suck at lava dip on dm4, whereas FBCA bots are quite adept at escaping. Perhaps something to do with the new RJ code, they may be trying to calculate the optimal escape rather than executing a 'hardcoded' routine that is more effective.
Administrator 384 posts
Registered: Dec 2006
Couple of map specific issues I have observed: -On dm4, the bot will often lurk at low GA, sometimes continually spamming useless rox if you are stood at LG. It will lurk to the extent you can kill it with grenades fired down into the alcove rather than escaping through the teleporter -On dm6 I have noticed the bot glitch out trying to open the door to LG, spinning round firing sg at the floor but not opening it.
Member 16 posts
Registered: Jan 2017
I would be very grateful if you added dm2dmm4 support, although I may end up not playing with human beings anymore.
Either way, great fun for end and pov!
Member 9 posts
Registered: Oct 2012
Is it hard to make bot use random strafes while fight with LG at povdmm4? He just goes from waypoint to waypoint...
Administrator 284 posts
Registered: Sep 2015
Minor update tonight, progress made in other areas but not ready yet I'm afraid:
- Long-standing bug where bot loses track of megahealth should be fixed - Bots could stand around at low rl GA on aerowalk - should be fixed - Added rocket jump routes for aero & ztn, they should be a bit better at going for aero. ztn... produces weird results... - Added dm2dmm4 bot file
ztn's weird results - they should be a bit better at going for red (although they sometimes still overshoot), but now frequently decide to rocket jump to GL, then fall back down to tele to red. It's a bit strange, make what you will of it... Because they use a waypoint system, there's not enough fine detail to do things like jumps from stairs to RA reliably. I've started work on having the bot system build a navigation mesh for the map instead, but that's a big change to the code, it will be a long time before that's ready. That would however fix the likes of movement on povdmm4 - it would know it was moving inside a cube of space, rather than moving from one waypoint to another.
And at least, finally (after how long?) the bots can rocket jump to RA on aerowalk. The rocket jumps are a bit meh at the moment though - as they are defined waypoint-waypoint, I would need to add in even more flags to tell it to attempt rocket jumps only when going up stairs/ramps etc, and that isn't there just now. Actual performance in game might still be a bit hit and miss.
Not much of an update really - I've been working on other projects and was a bit stumped by the hard drive failure, but the next update will hopefully get rid of some of the micro movement bugs (like getting stuck at low GA on DM4) as I'll have them simulate the move and realise it would block, rather than try the move and then get told its blocked, which is an ugly hack right now.
Member 16 posts
Registered: Jan 2017
Can confirm that skill 20 + dm2dmm4 is virtual crack. Thanks a lot meag!
Administrator 284 posts
Registered: Sep 2015
Okay, mini-update after investigating ... turns out the low-GA problem was actually to do with code to stop the bots telefragging each other by heading through the teleporters too often - this should hopefully be fixed (though it's on to the todo list to look at again in the future)
Also, lavajumps should be working again - due to the bots being proper clients, they probably aren't quite as adept at this as they used to be, but they're okay. Hopefully fairly human-esque. Unfortunately they're still a bit too keen on falling in the lava, which will have to wait for another time.
Thanks to Hangtime for reporting both of these.
Member 245 posts
Registered: Jan 2006
dm2dmm4 with bots is good exercise! they own me!!!
Member 17 posts
Registered: Dec 2014
looking very much forward for playing these bots offline. Hope that it will become compatible to ezQuake. Thanks for all your work on this meag.
Administrator 284 posts
Registered: Sep 2015
Sorry, haven't worked on the bots for a while now, the next step for movement would be to stop using checkpoints but that's such a drastic change I don't think it's plausible in the short-term, so the current version will be 0.1a, maybe with some more work to stop weird issues on dm6.
There's a technical issue whereby we have to upgrade the internal server in ezquake so it can run ktx, but doing so would import a 32bit/64bit issue that would stop other standard mods (such as the current fbca) from working. Will try and get back on the bots and resolve this soon though, and/or release windows versions of mvdsv so you can run that first and connect locally - not as elegant but would work okay.
Administrator 284 posts
Registered: Sep 2015
Another update tonight, they've been significantly nerfed so you should have a much easier time of it at lower skill levels. Recent changes: - The 'shakiness' in the bot (especially obvious when it was falling on your head on povdmm4) should be greatly reduced
- The movement prediction shouldn't be so pronounced. The downside to this is that the bots may fall off ledges even more often... needs testing
- Bots shouldn't sit on armor during prewar
- Bots don't strafe-run on dmm4, skills 0-10 - classic frogbot movement, very easy to track
- Bots walk in S-shape when skill 11 and up
- Bot aim skill greatly reduced, but they're harder to hit, hopefully this balances out
You can specify "botcmd addbot 10" to add a skill 10 bot etc... try povdmm4 skill 10 vs 11, the movement makes a big difference. I was considering making skill 11 have skill 5's aim to try and level it out, as there's a big jump at the moment. The bots get worse at aiming the more accurate you are, so by dodging their aim gets better too. The server is now also running a version of mvdsv that is a step towards being able to run old mods too - this is a step towards being able to play the bots locally, where the movement prediction errors aren't so pronounced, so we could reduce the variables there. I'll try and finish this off in the next week so people can test on local machines.
Member 12 posts
Registered: Aug 2016
where it can be downloaded?
Member 232 posts
Registered: Feb 2006
^ So far it's only available to play online. There's a server address in the top-most post with the details
meag: While you're doing all this can I suggest making the mod more modular in that waypoints are external files. Having to recompile to change one waypoint is ridic. You can do it in a really cheap way by simply loading ways as entities if you're not keen on spending much time on it
|
|
|
|