Add more bots?

Ideas and suggestions for how to improve the Warzone 2100 base game only. Ideas for mods go in Mapping/Modding instead. Read sticky posts first!
Post Reply
User avatar
Berserk Cyborg
Code contributor
Code contributor
Posts: 938
Joined: 26 Sep 2016, 19:56

Add more bots?

Post by Berserk Cyborg »

Would anyone like to see BoneCrusher! and Cobra AIs added to a future release? Say 3.3.1. They are both
very capable and add more variety to skirmishes and any new challenges.
pastdue
Warzone 2100 Team Member
Warzone 2100 Team Member
Posts: 339
Joined: 13 Aug 2017, 17:44

Re: Add more bots?

Post by pastdue »

A lot of people like to play Skirmish vs bots. It wouldn't surprise me if most people downloading the game don't experiment with many add-ons / maps / mods.

Including more bots in the game itself (especially high quality / unique tactic bots) gets my vote.
Forgon
Code contributor
Code contributor
Posts: 298
Joined: 07 Dec 2016, 22:23

Re: Add more bots?

Post by Forgon »

I have considered adding the BoneCrusher! and Cobra AIs to the game, but
chose not to because this would break the GUI.
User avatar
Berserk Cyborg
Code contributor
Code contributor
Posts: 938
Joined: 26 Sep 2016, 19:56

Re: Add more bots?

Post by Berserk Cyborg »

Forgon wrote: 09 Sep 2019, 10:18 ...would break the GUI.
We shouldn't worry if a few pixels of the last AI slot bleed into the bottom widget. Changing SemperFi-JS to SemperFi-Javascript "broke" a part of the GUI and nobody cared about that. Couldn't the AI selection menu work like the map menu though, with multiple tabs? If not, Nexus and SemperFi could be retired with Cobra and BoneCrusher! taking their place. That would leave two slots available and makes it possible to remove WzScript in the process.
User avatar
Berg
Regular
Regular
Posts: 2204
Joined: 02 Sep 2007, 23:25
Location: Australia

Re: Add more bots?

Post by Berg »

Why do we need more bots that will cause issues why not upgrade the old bots and remember there are some new players that cant beat the bots on low settings.
The bots help new players learn.
User avatar
Berserk Cyborg
Code contributor
Code contributor
Posts: 938
Joined: 26 Sep 2016, 19:56

Re: Add more bots?

Post by Berserk Cyborg »

Berg wrote: 09 Sep 2019, 21:36 Why do we need more bots that will cause issues why not upgrade the old bots and remember there are some new players that cant beat the bots on low settings.
The bots help new players learn.
New players will learn which bots are easy, or not, to play against and will play with them again after they acquire more skill. Failing is a part of the learning process.

I already have a solution for new players who can't beat bots. I ported Nexus to javascript about a year ago as close to a 1:1 conversion as possible. It doesn't enjoy the same cheats the classic Nexus does so it plays quite terrible. But I always planned to repurpose Nexus into a beginner friendly bot. Turtle AI is also as beginner friendly as it gets: builds defenses around its base and rarely attacks.

And because something I long knew would happen, is happening. Anything reliant on WzScripts is slowly rotting to the point the only two things using the old script interpreter, Nexus and SemperFi, are becoming increasingly unstable and unused. Nexus has easily 40+ issues hampering its abilities (ask MIH-XTC and he will confirm it) that nobody will ever fix because few know how to or want to, it crashes Warzone if non-English locales are in use (shows its unpopularity), and SemperFi can spam errors every second until the match ends (been happening for over a year). I don't believe Nexus and SemperFi are as popular as they used to be, with the introduction of Nullbot and others. Hence, why I ported Nexus to fulfill a new role.

Therefore, what I am proposing would be to replace Nexus and SemperFi with BoneCrusher! and Cobra, and bring in a new iteration of Nexus that will act as a very beginner friendly bot. Leaving room for 1 other bot with the current GUI setup.

Then we would have a difficulty spread like this:

Code: Select all

BoneCrusher!, Cobra, Nullbot- hard
SemperFi-JS, Hover-AI----------- medium
Turtle AI, Nexus--------------------- easy
pastdue
Warzone 2100 Team Member
Warzone 2100 Team Member
Posts: 339
Joined: 13 Aug 2017, 17:44

Re: Add more bots?

Post by pastdue »

As a side note, I believe the crashes with Nexus and non-English locales are due to a fairly recent commit (post 3.3.0-beta1): db1a216fbc98e2ed7787e1dccb95c428075d48e9
Quenton
Rookie
Rookie
Posts: 29
Joined: 29 May 2016, 03:58

Re: Add more bots?

Post by Quenton »

Some bots slow the game way down if you don't have fast hardware.
It there a way to see which bot uses the least amount of time?
User avatar
Berg
Regular
Regular
Posts: 2204
Joined: 02 Sep 2007, 23:25
Location: Australia

Re: Add more bots?

Post by Berg »

That is a good question i don't use bots often but i have noted their frame rate is slowing as the game progresses
MIH-XTC
Trained
Trained
Posts: 368
Joined: 31 Jan 2014, 07:06

Re: Add more bots?

Post by MIH-XTC »

I think it’s a good thing to add more AI’s, specifically bonecrusher and cobra. In larger games like a 4v4 or FFA, players can experiment with putting different bots on different teams to get new game play. It also helps authors get feedback for improvement and maybe inspires other players to attempt their own bots. Worst case, just don’t use them if you don’t like them. There shouldn’t be any harm.

Nexus AI using the old WZscript is no good, it was a rushed release in 1999 and only does the minimal behavior. It doesn’t research or build the proper units. It’s only a notch above “existing” and “breathing”.

I’ve always thought Nullbot should be renamed but it’s all over the forums now. For years I thought Nullbot had some “null” behavior and thus was not very good or even finished, like it was broke or a test bot of some sort. I realize now the null refers to not having a specific personality and that means it can be extended by anyone but only a programmer would maybe realize that. The word “null” can be misleading to the average player/non-programmer. Maybe Nullbot should be renamed Nexus? I think the name Nexus should be reserved for whatever bot is the best/hardest.

One thing all of these bots are missing (I think) is the usage of repair droids. A simple algorithm for implementing them is to assign repair droids to a group and damaged units to another group and periodically loop through each group and redirect the x,y pos of the droids towards each other. It’s cool to see AI’s properly using repair droids and makes the bots much harder.
User avatar
Berserk Cyborg
Code contributor
Code contributor
Posts: 938
Joined: 26 Sep 2016, 19:56

Re: Add more bots?

Post by Berserk Cyborg »

Quenton wrote: 10 Sep 2019, 05:14 Some bots slow the game way down if you don't have fast hardware.
It there a way to see which bot uses the least amount of time?
As for performance, every time a game is exited with a bot there will be a perf log for that bot specific player written in the logs directory. The bot with the least impact is SemperFI-JS with NullBot being the highest. For the newer bots, anyway.

I'll note the frame drops happens without bots as more and more units exist in game. Having bots in the fray just worsens it to some extent.
MIH-XTC wrote: Nexus AI using the old WZscript is no good, it was a rushed release in 1999 and only does the minimal behavior. It doesn’t research or build the proper units.
From my past observations, it mostly focuses on wall upgrades, cyborg thermal armor, defenses, and then cannons and lasers. A lot of times Nexus gets stalled with near -3000 power (no sense of power management) so it looks like it's doing nothing for several minutes.
User avatar
NoQ
Special
Special
Posts: 6226
Joined: 24 Dec 2009, 11:35
Location: /var/zone

Re: Add more bots?

Post by NoQ »

I’ve always thought Nullbot should be renamed but it’s all over the forums now. For years I thought Nullbot had some “null” behavior and thus was not very good or even finished, like it was broke or a test bot of some sort. I realize now the null refers to not having a specific personality and that means it can be extended by anyone but only a programmer would maybe realize that. The word “null” can be misleading to the average player/non-programmer. Maybe Nullbot should be renamed Nexus? I think the name Nexus should be reserved for whatever bot is the best/hardest.
Can confirm: "null" stands for "not very good or even finished, like it was broke or a test bot of some sort". Because that was exactly what it was when i released the first version :/

Also it was the first (i.e. #0 because we're programmers) bot to use the JS API and it kinda built from scratch (zero legacy code) as opposed to my old experiments with Nexus. Also 'N' plays nicely with my nickname.

Feel free to rename it though if you find a more appropriate name ^.^
Post Reply