Issues and bugs regarding Tremulous bots


#1

Would like to point out that fixing the strafe would greatly improve the paths.


#2

If I may ask…
How does strafing affect the paths?

Other than adding an additional step to the pathing system (Which would be unnecessary imo.), and forcing the bots to recalculate the path everytime they dodge an attack (Which would be even worse.), I don’t really see the use of it in Tremulous. Fights in tremulous are too short for bots to make use of minor movement improvements. In the end, it would change nothing in the fight other than making it more annoying. (More even so when shooting dretches which are already a harder task than shooting most other aliens. (Yes even the tyrant which is the easiest target by far.))

The real only application I can see would be for dretches and human bots to be able to move sideways to “try” to dodge a hit.

Anyway, correct me if I’m wrong, but I don’t think such mechanic would really profit Tremulous’ bots.


#3

It doesn’t.

If they go off their path they will instantly make their way back to it, this is no issue.

Many a reason for why I think it should be added.

No, in a nutshell strafing which allows dodges and different types of movement mechanics will not only prolong fights but make it a challenge to fight bots, you don’t want it to be a cake walk sometimes™. Fighting isn’t short at all in Trem unless you are using a powerful weapon and still it isn’t short.


#4

From my own experience, tremulous fights were not lasting super long. (Excluding the all might camp strat which in such case fights could last an hour or two (rarely higher depending on the player-count in the matches).)
Bots will still be super easy to kill even if you give them strafing, even if you give them wallhacks, even if you make them pre-shoot through the wall while only doing headshots. (With the exception of human vs dretch of course, the dretch will get obliterated no matter what.)
The thing that makes the biggest difference in a fight are the strategies (40%), mechanics (10% (maybe even less)) and the equipments (50%).
For a bot to be better than the currents bots we had on tremulous so far, it would need to be able to make either its own strategies using a neuro-evolving network or a pre-recorded actions list with the ability to alter each data with a minimum and a maximum. Basically, way too complicated systems to be worth adding on tremulous. Although minor movements such as strafing could help bots a little, it will not replace a good movement pattern or a good strategy.

Having a bot that can make its own path while still being able to shoot and do minor movements is already quite good enough. I wouldn’t bother with more advanced A.I. until tremulous reaches a point where it “really needs” it. (Which will probably not happen until 1.5 and even further imo.)
There are a few changes that are more urgent to have than an advanced A.I. (For example, finish either getting models, textures, musics and so on, on which their licenses allow their use on tremulous or make our own. Make a proper trailer for tremulous, Publish the game somewhere, attract new players, make the game more intuitive, fix the bugs/glitches if any are left or created in the process of updating the game and so on.

Basically I’m not against such advanced A.I. systems per say, but I wouldn’t prioritize such change at the cost of more urgent fixes/updates that would really make an impact on the game. There is quite a good chance that new players won’t even notice that the bots are advanced or basic.

PS. Maybe this discussion would be better in its own thread. If someone could split it into a proper thread, it would probably be for the best ^^ (I have no idea if I have access to splitting it, but I prefer asking someone to do it, rather than try and make a mistake myself :P)


#5

Ehem, @avarthar I wouldn’t expect you to know anything about this, as I don’t think you have seen the bots in action.

@HelpingRobot you mistaked this for wallhacks, me and @dGr8LookinSparky have both checked this, and it is not anything like that.

While attacking, a bot generally strafes side to side, to try to avoid damage. There is a bug with the bots where a bot will continue trying to strafe in a direction after an enemy is no longer in vision (specifically if the enemy runs behind a wall, it hasn’t died and the bot still thinks it should strafe). This bug may also cause bots to continue attacking when there is nothing there.

There are also other bugs such as:

A bot will constantly stare at the floor, never looking up on it’s Y-Axis.

A bot will constantly stare at the celing, never looking down on it’s Y-Axis.

Some bots will never follow the path.

Some bots spin under a path for ~30 seconds, continues along path.

Bots don’t use the Medkit.

Bots turn past the node (they don’t turn when they hit the node).

Bots don’t buy items or evolve during warmup.

Bots will sometimes spin around repeatedly if the target is colliding into them.

Here are a list of maps I have made paths on:

Rotation 1

ATCS_DS

Rusty-B2

Fort5-ds

Narrow_Edge

derelictb-beta04

nano

arena_ds

Sol

fortification

utcsud

base-a51_b2

tremor_2016

Rotation 2

Karith (Fixed by @dGr8LookinSparky)

Citadel

sector50-b22

nexus6

peorongateb3

arachnid2_mjed

thechurch

cruz-b6

fortification

kampfsimulator

metro-b1-2

nebula-b5

Extras

Fortress

ZombieCity_B7

Kronos_a1

Epic

This is a WIP, and I will continue in a few minutes.

P.S.

@avarthar, You are technically a dev, and have worked with bots. I am allowed to PM you the password.


#6

@Sayori Okay, you assuming I don’t know about the bots system sparky’s been working on is quite a high claim.
I’ve been aware of the system and talked about it a lot with sparky and cron. I know quite well how it would look and what to expect from the system sparky made. (Small note, I don’t know if anybody else worked on this system besides sparky and if someone else did, I fully credit him as well. The point here is not to set aside anybody who worked on the system.)
Such bot system were around in the past and I was aware of the improvements sparky wanted to add.
Does this mean it’s a bad system? No. But I simply said in the previous posts that although bots are a good thing to add, adding an advanced AI system was a little overkill for now.
Now, have I seen the bots in action? Not sparky’s ones. BUT, I have quite a good idea how they work and how they move/function.
See, something you should have learned in the past @Sayori is that I have more than just a good idea of how the bots work, I worked with such bots in the past and I have seen what they can achieve.

Now that the lack of information is fixed, let’s get to the bugs sayori posted.

  1. Now you know one of the uses of nodes in the pathing system and the need of external help on targetting when using a system like sparky uses. (I suggest adding maybe a dot (only locally) in front of the bot so he targets it and just put it last in the targetting priority to make sure the bots don’t aim the dot instead of the enemies.)
  2. Same as 1.
  3. That was a problem with bots since the beginning. They are often just too far from the node to even detect it, leading into the bot not moving and standing around.
  4. That’s the magic of randomizing what path it takes. (If randomized, which I think is the case in sparky’s system or at least to a certain point. Correct me if I’m wrong @dGr8LookinSparky )
  5. That’s just a matter of adding this action in the list of actions the bots can do. (If it’s already in the code, it’s either commented or has an error leading to it not executing.)
  6. That’s to make the movement more organic and less robotic.
  7. Some systems are probably not initialized when the warmup is starting or the said systems had an error while initializing. (Correct me if I’m wrong @romdos @dGr8LookinSparky.)

One thing I would suggest to do is to make sure the map paths nodes have a constant distance and are NOT obstructed. (Objects in the way might overload the bots with too many commands and lead to it not being able to follow the path and stop where he is until he chooses a new path (hopefully). Shouldn’t happen much, but it can happen.)

Also, on what map was the path system tested? I would suggest testing it on the simplest map (Probably ATCS so far. Yes. It’s simpler than UTCS.)
One thing that may be at cause for the bots to stop moving is that, as said before, the nodes are too far away from each others.

Anyway, now that the bots matter is done for what I could think of. @Sayori for you to come and claim I don’t know about bots while I have been working with such systems for years now is quit a bold statement. Paths are by far the easiest thing to make on such systems.

Ok. Now that the triggered part is done as well, here is a small suggestion that would be having a better impact than an advanced strafing bot:
What about a system that creates a simple path for the general movements between bases whilst the bot’s own sub-path would be enough to make it move without having to have a path file for each maps. (The path could then always vary per match and would render in a more accurate bot system strategy-wise and movement-wise.)

And finally. No need to pm me the password. If I need it I’ll ask for it. And so far I don’t have quite as much time as I had to play tremulous. I couldn’t do much other than fix the paths you’ve done if there are mistakes in them.
Also I would suggest starting with the most played map before making all in the order you’ve posted them.
If you still want to pm me that password, I can try to help, but don’t expect me to make a ton of them as I don’t have much time.
Now, @dGr8LookinSparky if I get the password to add those bots, could you pm me (or even maybe pin it on slack maybe?) the range that the bots look at for the nodes or rather the maximum range? This way the paths nodes will be at the correct distance and if there’s a problem there’s little chance that it comes from the said path.

PS. Can this subject be seperated to a proper thread please? (If I have access to that, @romdos would you mind showing me someday so I can do such as well? Just to make sure I don’t make a mistake when merging/splitting :stuck_out_tongue:)


#7

@avarthar, I am not claiming you do not know anything about bots. I am just saying that these bots are quite “buggy” compared to almost all the other bots. I am also making sure the nodes are placed aproximately 2 goon pounces (1.2) max from eachother, as the distance is not a problem. Path nodes are not obscured in any way, these bugs still exist without objects in the way.

Mostly, I get that he told us all these amazing things, and I get that he is trying to get the bots to do all of this. I am just saying that in it’s current state, it is going to be a while before he can focus on that. We are all aware of these things that he wants to add, but just a few are aware of how buggy it is currently.

Again, sorry if the beginning of the previous post was offensive, it wasn’t meant to be. I am just saying that it is extremely buggy at the moment, and I was surprised at it. I wasn’t expecting much, but I didn’t expect it to be that buggy. (Your Ambush bots are way better than these are currently).


#8

I already knew that the bots would be simple. They are still in the test phase.
And no worries :stuck_out_tongue: Nothing against you, just the text that was written :stuck_out_tongue:.

As for the bugs, they shouldn’t be too hard to fix for the most part. Older bot systems already had these problems in the past and got fixed accordingly or at least for the most part. But Sparky’s system is not yet at this stage. To be honest I’m quite impressed of how early they were added to the game. (Which is a good thing imo.) But I just wrote my posts so we don’t try to implement useless features while other features might be more important. Bots are important, but it’s not important to have bots that plays just like a player. They are bots after all.

But yea, I can certainly help on the path making for now, but as I said, not a lot because I’ve got a meeting tomorrow for a possible job and I’m entering the local Mounting & Welding course to at least have a rather good job here so I can actually live.

Anyway, I’ll try to keep watching the forum once in a while like I did so far :stuck_out_tongue:


#10

While I do agree that the bots should not behave exactly like players, I think that everything a bot does a human should be able to do (including use it’s skins). Also, just like players, I think some bots should be better than others (even have some bots better than some players). I do understand if this is not going to be true, and bots will have different stats/abilities than players, I am just putting out an opinion that causes problems for me.

If you do ever work on the paths, I already have most of the ones Sparky wanted done, and work pretty well. (Yet stated above, with the fact that bots strafe constantly if the target goes around a corner, they get stuck quite often on some maps. All of this should fix itself once that bug is taken care of). Also to save you time depending on how early you start, I will have the paths (that were assigned by Sparky, specifically these: Unitremia's current map rotation) done by tomorrow or Friday.

If you ever do need help when making them, I will try to help with what Sparky told me (so far, no problems with building and editing paths). Good luck on your Mounting & Welding job, hope you are accepted. :slight_smile:


#11

Wrong™.

The bug is the fact that an obstacle will block the bots from going back to their path is what the only thing that causes an issue, as I have seen it a bot has indeed strafed off its path and gotten back on it let alone normally. It continuing to attack is another bug which I am unsure why it does that but it does it upon getting stuck. I have seen bots run off the path multiple times and recover just fine. Unless there is something I haven’t seen due to not being on for awhile that is the only issue with them strafing off the path.

@Sayori @avarthar Most of these bugs I’ve already reported on the GitHub repo and should be taken care of s00n™.

Good idea.

Yes.

Bot should do everything a human can do, it will feel like actual and challenging training and be more fun.

Which is where bots being like humans come in.


#12

I do agree that bots should be as similar to human players. BUTT as long as the bots stays Botty, I am personally fine with it.

What I dislike about advanced A.I. is that they often are too human. Yes, it can be impressive and fun to see them act on their own as much as possible, BUTT when it comes to bots being too self-sentient it might end up with bots that are unbeatable.

Sure I love the idea of having a challenging bot. BUTT I also dislike the fact that it would possibly end up using strats and mechanics that could hardly be done by a human while it would be a piece of cake for the bot to do such trick.

What I would personally like about a truly advanced A.I. is that it would learn the same way us player did, but with some limitations and with some initial data to start learning from. Basically, tremulous COULD benefit from a neuro-evolving network, BUTT as long as it doesn’t become too evolved. (With such system, the bots would be as close to humans but would still be obviously bots. (No. A name doesn’t define something, I could easily name myself “Bot Kill-a-lot” in-game, but it wouldn’t mean that I am a bot).)

Anyway, I vote to keep the bots simple until a neuro-evolving network is implemented (if ever.) to allow discovery of new tactics, strategies and even mechanics that could allow for some epic gameplay.

PS. Great ^^ can’t wait to see where bots ends up. Although I can’t play tremulous much right now I’m still watching the progress.

PSS. Yay! Finally got a small job in an electronics shop while I continue my Mounting & Welding course to hopefully end up having a better job afterwards and on that, I probably won’t answer any reply tonight as I have to go to work in about 4 hours.


#13

Update: All of the maps in the rotation have paths (with the exception of a few that the bots can’t do in their current state).


#14

Normally I keep this stuff in a topic separate from… this community as a whole. But this is a bot report so.

I have found a bug after the most recent update.

Notice the rifle, now notice the gun icon. The bot is trying to equip a Construction Kit but it is unable to, forcing the rifle to be unusable, and also forcing the use of a Blaster.

(Further issues will be reported, maybe here, maybe not).


#15

My guess as of now would be that the bot might try to equip the wrong weapon ID or there is a small mistake in the bot’s use/equip/buy(Hopefully it’s only an ID problem, would make life way easier :smiley:) function in that regard. (Too lazy tonight to really start looking in to this :stuck_out_tongue: even if I finished working a few hours ago, my feets are still not agreeing with me.)


#16

Bots have had tons of issues in warmup, I am just too lazy to list all of them (there is atleast 20 more I can just list off the top of my head).

This error is most likely not that, currently bots are only meant to equip the construction kit (I believe only when spawning) when a buildable is equal to or less than 66% of it’s maximum health. This has been a problem for a while where a bot would spawn with a ckit when there is nothing to heal. The problem now is most likely that they try to equip the ckit from an arm which I believe was not intended for its current build.


#17

So, there is a bug in weapon getting which then bugs out their current weapon showing it as a Rifle but a ckit in first person.


#18

One thing that would be to check upon would be if they can still build or not. If it’s only a graphical bug as HelpingRobot (kindof) mentionned, it should be a little simpler to fix than if it’s really a bug with the item not being selected correctly.


#19

Fixed the issue, the bot does buy the ckit and repairs if there is a buildable in a certain range with less than 50% health. Although that range check is only at the moment of buying at the arm, so the damage buildables have to be within that range at the time the bots are at the arm. The repair tactics/strategies can still use more improvements though.

These bots don’t build. But I would like to look into making that happen at some point.


#20

I always thought it was 66%, mostly because I saw a bot start repairing a reactor when it had 600 health instead of the normal 900ish range.

@dGr8LookinSparky Most of this stuff would be better of shown in game, but if you need it to be here then that’s okay too.


#21

Something that could be do-able for bots building:
What about add a command to log someone’s building actions during a match for some analyzing and either connect the bot directly on these so it can either choose between the strategies or alter the said strategies after analyzing some of those logs or have a system like paths where we could add nodes either color-coded or such for a kind of placement area for the buildables so the bots know where they can build and where they can’t. Orrrr have instead of a path-like system for that, have a Zone system. Like a giant box with conditions that as long as the area is visible the bot is welcome to try building there. If it fails, it would try a new location either in the same zone or another zone or whatever we want at this point.

@dGr8LookinSparky Also, doesn’t the humans start with a ckit already currently?