progress
I'll post about any breakthroughs or interesting progress I have here.
Today's breakthrough was getting Day of Defeat bots working: they'll go back and forth capturing points on dod_avalanche and win rounds. Currently only four player classes are supported but it does work. |
Re: progress
So I investigated the crashing in Opposing Force CTF yesterday - it didn't crash immediately but when it did it was because it was trying to look up a non-existent waypoint (not sure why it would do that - I haven't touched the waypointing code in such a way that would break it). Anyway, I've started adding support for Opposing Force CTF.
|
Re: progress
Maybe we have a different opinion
In my opinion, when Sandbot playing on CTF Maps without any waypoints, it seems fine (like a deathmatch). But if you adding waypoint to the current CTF maps and saving it for the later play, after BOT joins then my game will crash. So it makes non sense if the game crash because BOT looking up a non-existent waypoint. |
Re: progress
Yeah that's right - I added some waypoints and spawned some bots and the bot tried to use waypoint 6153 or something but there's a hard limit of 2048 waypoints, so it crashed.
|
Re: progress
Waypoint limit eh?
Is possible to fix it? I'm starting of lose any hope now -_- |
Re: progress
No it's not a limit issue, something is generating an invalid waypoint id.
Sandbot is one of many things that I work on (http://www.teamsandpit.com/#sandpit, http://www.teamsandpit.com/#zcmp, http://www.teamsandpit.com/#basis, http://www.teamsandpit.com/#gssmt as well as other private/unannounced stuff) so things like this take time. |
Re: progress
Getting further with Opposing Force CTF. I don't think the old flag/base finding stuff was correct or all there so I've fixed a lot of that up.
Now I need to find out why the bots aren't going to the flags... |
Re: progress
Don't worry, we just need a waypoint to make BOT takes a flag and returning it to their base.
|
Re: progress
Yeah I've got the waypoints, it's just the finding that isn't working.
Anyway, someone on ModDB reported that currently single player doesn't work with Sandbot. I've got a fix which I'll test some more tomorrow then release. I also swapped MetaMod-P for MetaMod on Linux at least as MetaMod-P has frozen up every time I've used it bar one. |
Re: progress
Finally got bots to capture the flag in Opposing Force CTF: turns out my code was all fine but the map I was testing on (op4ctf_hairball) has the slippery ice in the middle and the slipperyness doesn't get reset once you get off the ice (see https://github.com/ValveSoftware/halflife/issues/1542). This meant that even though the bots could navigate to the flag they would almost always slip off the thin pathways.
You can see some screenshots at https://github.com/tschumann/sandbot...nshots/22-7-17 edit: still not ready to ship yet - once bots have captured a flag and get it back to their own base they don't realise they no longer have the flag. |
Re: progress
Sorry for late reply
For icy or slippy problem, though need to be fixed, at least I can play with your BOT on map with normal terrain. For example, non official maps such as op4_ctf omen, it's pretty simple map, and the BOT wouldn't get any problems there. As for carrying an enemy's flag to their base, though they don't consider no longer have a flag, I think it's not a big problem. As long there is a correct waypoint from one flag to the another one, they will following their path without trouble :) |
Re: progress
Quote:
Quote:
|
Re: progress
Well, good luck then. Then I hope you can make sandbot support for metamod :D
|
Re: progress
Sandbot do have support for Metamod for some time now...
|
Re: progress
Quote:
|
Re: progress
Oh, I forgot about that :D
But I still can't change bot_count, because 11 BOTS is too many for me :( Also I hope someday we can change BOT names :) |
Re: progress
Quote:
Changing names will come eventually - at the moment the bot creation code is a bit complicated and I want to simplify it before I do that. |
Re: progress
I could be wrong, but bot_skill does not seem to work either when loading Sandbot through Metamod.
Although singleplayer does work in the newest version of Sandbot, there are still some problems (regardless of whether Metamod is used or not): - many scripted sequences are broken, preventing progression (for example, the Barney at the end of the tram ride in Half-Life will not move to open the door); - saved games are corrupted (if you try to load any saves made while Sandbot was installed they will crash the game, or if they do load the scripted events will not work). HPB bot had these singleplayer issues as well, and they were fixable by using a Metamod plugin called SingleP. There is a link to it on the HPB bot website. |
Re: progress
bot_skill shouldn't have any problems - note that if you change it then it won't change the skill of existing bots, only bots that you add after the change (I think I will change this behaviour). Does that correspond with what you see?
Thanks for pointing out SingleP - I suspected that might have been the issue (all the other things seemed okay, though possibly the save-restore wasn't). I'll take a look though it appears to be Windows only from the quick look I had but single player is now available on Linux (and Mac) too. |
Re: progress
Alright I got Opposing Force CTF working by the looks of it. I'll probably tidy things up and release it in the next few weeks.
I'll take a proper look at single player support probably as part of the next release. |
Re: progress
Nice work.
|
Re: progress
Could you look into making OP4's bots smarter? As of now they act like HPB non waypointed bots that walk slowly at you but always hit your head no matter how fast you move. Possibly as smart as jk_botti?
|
Re: progress
Quote:
|
Re: progress
Haha, I like if the BOTS are act like an idiot when walk, but when aiming at you, they would become a killing machine (especially if carrying tau cannon, gluon gun, or sniper rifle) :D
Move zig zag or try to avoid their shot is useless, they have 100% accuracy, which sometimes make hard challenge even for professional players. |
Re: progress
Yeah I haven't really touched the base AI - it's just stock HPB bot (which is fine for me).
Eventually I'll look at making them more player-like. |
Re: progress
Small update - people or may not have noticed that if you kick a bot then other bots still try and attack the last location it was at. This has now been fixed.
From this I'll look at getting bots to be kicked better and deal with increasing/decreasing player count better. |
Re: progress
I cannot seem to start my OP4CTF server using SB v0.4.1 for some reason. I did allow liblist.gam to load gamelinux_dll "dlls/sandbot.so" but this error popped up from my GDB terminal:-
Code:
LoadLibrary failed on /home/desktop/steamcmd/hlds/./gearbox/dlls/sandbot.so: /home/desktop/steamcmd/hlds/./gearbox/dlls/sandbot.so: undefined symbol: _ZdlPvj |
Re: progress
Quote:
Apparently it's expecting a function called operator delete(void*, unsigned int) though for what class I'm not sure. If you're feeling adventurous the debug symbols are at https://github.com/tschumann/sandbot...master/symbols and there instructions for their use at https://github.com/tschumann/sandbot...ster/notes.txt I'll try and take a look this weekend anyway. |
Re: progress
Quote:
|
Re: progress
Quote:
|
Re: progress
Code:
22:47:30 L 10/26/2017 - 17:46:58: [META] WARNING: dll: Failed query plugin '<sandbot.so>'; Couldn't open file '/home/desktop/steamcmd/hlds/gearbox/dlls/sandbot.so': /home/desktop/steamcmd/hlds/gearbox/dlls/sandbot.so: undefined symbol: _ZdlPvj |
Re: progress
Ah sorry - try v0.4 I think (https://github.com/tschumann/sandbot...9648020d59f84f was when I updated to Visual Studio 2017 and Ubuntu 17 was not long after; https://github.com/tschumann/sandbot...b53c919c8fdd15 was v0.4).
|
Re: progress
I've loaded v0.4 on my Op4CTF server with using GDB Debug mode with Metamod 1.21-p37 and this is what I got:-
Code:
Program received signal SIGSEGV, Segmentation fault. Code:
(gdb) bt |
Re: progress
Hm, I'll see what I can figure out - nothing obvious looking at the code but I don't think I regression tested the waypoint stuff on Linux so it looks like there probably is a bug.
I might not get to it this weekend but I'll see what I can do. |
Re: progress
Okay, it looks like you're running from HLDS rather than Steam itself? I've been looking into debugging with Steam and it looks like a mess. Looks like it worked at one point (http://steamcommunity.com/app/221410...3757387624740/) but GAME_DEBUGGER is no longer in steam.sh, so that's no good. On the plus side Steam seems to generate minidumps regardless of OS settings but of course gdb can't load minidumps. There's a tool called minidump-2-core that's part of google-breakpad but it's not in any mirror that I can find, so my only option is to clone and build (which I'd like to avoid).
How easy is it to set up HLDS, get it running and generate a crash dump? Also, I got a similar crash to you with v0.4.1 (couldn't find Bot::GetSkill) which I fixed with https://github.com/tschumann/sandbot...e2d34c45245bf2 - I don't know a whole lot about C++ constructors etc but it seems to work fine on Windows. Possibly a gcc flag? |
Re: progress
Also, does v0.4.1 work for Half-Life on Ubuntu 14.04?
|
Re: progress
For HLDM without Metamod yes - With Metamod no. I don't know why it crashes and the GDB gave me a huge list of errors linked to metamod.so - even without the other Addons like AMXX and Spawn & Chat Protection.
Code:
Program received signal SIGBUS, Bus error. I don't know much on how you code for Sandbot, but is it possible that those bots only work if the builds were split to do only load as a Standalone and as a Metamod build? E.g sandbot.dll and sandbot.so for Standalone and sandbot_mm.dll and sandbot_mm.so for Metamod? |
Re: progress
@RoboCop The list is are watching is just a backtrace, not a "huge list of errors". There is no really a reason to split the builds for Metamod and Non-Metamod. The code is isolated in checks and calls Metamod functions when loaded as plugin and the normal game/engine functions when is working standalone.
|
Re: progress
Quote:
Quote:
I suspect the issue is to do with sub-classing or how it is built on Linux as it works on Windows (though it's possible I'm invoking undefined behaviour and Visual Studio generates better code for the situation). Looks like there could be a problem with the waypoint code on Linux too though I haven't really touched that, so not sure what it could be. I'll try and sort out the Opposing Force crash first anyway. If anyone knows how to get Half-Life to generate gdb core dumps that would help too. |
Re: progress
Quote:
Then type this in Terminal but don't use "./hlds_run", use "run -game gearbox -ip xx.xx.xx.xx +port 27015 +map op4_bootcamp +exec server.cfg -debug" You can backtrace or get a full error crash log by typing "bt" as well rerunning the server using "run" (Nothing further as GDB stored the Startup Variables once after GDB is exited by typing "quit") And "How about v0.4?" you say? Well I just did the tests and they don't seem to instantly crash as much as v0.4.1 did... |
All times are GMT +2. The time now is 07:05. |
Powered by vBulletin® Version 3.8.2
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.