[v0.11.1-rc2] ZetaBot: The ZScript Bot

Projects that alter game functions but do not include new maps belong here.
Forum rules
The Projects forums are only for projects. If you are asking questions about a project, either find that project's thread, or start a thread in the General section instead.

Got a cool project idea but nothing else? Put it in the project ideas thread instead!

Projects for any Doom-based engine (especially 3DGE) are perfectly acceptable here too.

Please read the full rules for more details.
User avatar
Gustavo6046
Posts: 136
Joined: Sat May 13, 2017 3:11 pm
Location: Brazil
Contact:

Re: [v0.8.0] ZetaBot: The ZScript Bot

Post by Gustavo6046 »

Doesn't CheckBlock do that? Maybe it performs additional, not really necessary checks for moving actors (by setting offx, offy, offz etc).

But thanks, anyway! ^^
muhnwalker
Posts: 6
Joined: Sun Nov 05, 2017 2:17 pm

Re: [v0.8.0] ZetaBot: The ZScript Bot

Post by muhnwalker »

Hello,

still no luck,
on GZDOOM 4.1.2, I get the following error:

Code: Select all

LoadActors: Load actor definitions.
Script error, "ZetaBot_v0.8.0.pk3:zscript.zsc" line 347:
Expression must be a modifiable value
Script error, "ZetaBot_v0.8.0.pk3:zscript.zsc" line 350:
Expression must be a modifiable value

Execution could not continue.

2 errors while parsing DECORATE scripts
ZetaBot_v0.8.0.pk3
SHA-1: 594d600f6a33732f91e7a5f67c3ba4c1d7e54ba3

:roll:
User avatar
Gustavo6046
Posts: 136
Joined: Sat May 13, 2017 3:11 pm
Location: Brazil
Contact:

Re: [v0.8.0] ZetaBot: The ZScript Bot

Post by Gustavo6046 »

4.1.2 is out? I'm going to rush finishing v0.8.1 then!
Also, the hashsum doesn't match the version of v0.8.0 I tested. Weird.
muhnwalker
Posts: 6
Joined: Sun Nov 05, 2017 2:17 pm

Re: [v0.8.1] ZetaBot: The ZScript Bot

Post by muhnwalker »

Hi,

version 0.8.1 works now!

I had some deathmatch with the bots :D
Could they respawn on the player starts instead of where I summoned them the first time?

In coop, they are often stuck to some corners or places.
Why did you set zb_cooprespawn false by default?

Can I alter the colors of the bots?

Is there a chance that they will work with Brutal Doom (v21)?
I get the following in-game-error:

Code: Select all

VM execution aborted: tried to write to address zero.
Called from ZetaBot.PostBeginPlay at ZetaBot_v0.8.1.pk3:zscript.zsc, line 1672
Thanks! They are cool! 8-)
doomfan
Posts: 7
Joined: Sat May 25, 2019 5:48 pm

Re: [v0.8.1] ZetaBot: The ZScript Bot

Post by doomfan »

Tested with -altdeath on Dwango5 map 01.

1. Bot doesn't hover around the outside green armor - Check
2. Bot picks up plasma gun - Check
3. Bot picks up BFG - Check
4. Bot picks up SSG at green armor room - Check

:mrgreen:
User avatar
Gustavo6046
Posts: 136
Joined: Sat May 13, 2017 3:11 pm
Location: Brazil
Contact:

Re: [v0.8.1] ZetaBot: The ZScript Bot

Post by Gustavo6046 »

muhnwalker wrote: Why did you set zb_cooprespawn false by default?
Do you respawn in coop? =P
At least it's configurable! I can set the default to true in the next version if you want.
Can I alter the colors of the bots?
No, but I have figured a possible way. It might be implemented in the next version.
Is there a chance that they will work with Brutal Doom (v21)?
I get the following in-game-error:

Code: Select all

VM execution aborted: tried to write to address zero.
Called from ZetaBot.PostBeginPlay at ZetaBot_v0.8.1.pk3:zscript.zsc, line 1672
Maybe if someone writes a compatibility plug for Brutal Doom, which isn't a priority in the bot currently. It might be done in the future, but it'd be too:
  1. version-specific in terms of ZetaBot;
  2. version-specific in terms of Brutal Doom.
Thanks! They are cool! 8-)
You're welcome, pal! ;^)

––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––

Also, ZetaBot supports Heretic and Strife too (though the latter not very well), and I would like some feedback on those ^^
User avatar
TDRR
Posts: 815
Joined: Sun Mar 11, 2018 4:15 pm
Operating System Version (Optional): Manjaro/Win 8.1
Graphics Processor: Intel (Modern GZDoom)
Location: Venezuela

Re: [v0.8.1] ZetaBot: The ZScript Bot

Post by TDRR »

Gustavo6046 wrote:
muhnwalker wrote: Is there a chance that they will work with Brutal Doom (v21)?
I get the following in-game-error:

Code: Select all

VM execution aborted: tried to write to address zero.
Called from ZetaBot.PostBeginPlay at ZetaBot_v0.8.1.pk3:zscript.zsc, line 1672
Maybe if someone writes a compatibility plug for Brutal Doom, which isn't a priority in the bot currently. It might be done in the future, but it'd be too:
  1. version-specific in terms of ZetaBot;
  2. version-specific in terms of Brutal Doom.
Sorry to come into the conversation like this but, the reason that getting the ZetaBots to work in BD would be so restrictive, is because BD's hacks are very intrusive and just barely work in modern GZDoom, add a little bit of extra weight on that pile of instability, and you get a crash. You would additionally need to lock support to a single version of GZDoom to avoid potential crashes when someone decides to fix something.

The TDBots, while more viable, would also restrict support to a single version of BD, because of Mark's constant changing and full reworking of the weapons (Even if the weapons were already perfectly fine as-is) and would require me to keep making new patches for every version of BD. They also have less awesome waypointing vs. the ZetaBots so obviously the ZetaBots would be more desirable.

OR Mark could add support for either bot officially, but i honestly doubt he would do it considering the extensive work of patching all those horrible hacks (Or figuring out some convoluted way of making the ZetaBots work with them)

TL;DR: Patching BD in any way shape or form in current GZDoom is a massive pain, so if you were to add any bots you would need to change a lot, and i mean a LOT of stuff. Or, just stick to an older version before ZScript, which is useless in this case.
User avatar
TDRR
Posts: 815
Joined: Sun Mar 11, 2018 4:15 pm
Operating System Version (Optional): Manjaro/Win 8.1
Graphics Processor: Intel (Modern GZDoom)
Location: Venezuela

Re: [v0.8.1] ZetaBot: The ZScript Bot

Post by TDRR »

Gustavo, ever thought of using the rendering nodes of a map to generate pathnodes for the bot? You can't access it from ZScript, but what if you wrote an external program to do it?
User avatar
Gustavo6046
Posts: 136
Joined: Sat May 13, 2017 3:11 pm
Location: Brazil
Contact:

Re: [v0.8.1] ZetaBot: The ZScript Bot

Post by Gustavo6046 »

Indeed. It wouldn't be difficult to write a program that wrote a nodelist for ZetaBot, as long as ZDoom could read the CVar from a file (.ini anyone?)

Such a program will either be written in Python, or in C. In the latter case, a Python prototype will be written as a gateway for concepts to be tested. And ideally it should make good use of the ZetaBot nodetype palette. See ZetaCode/Pathing.zsc:

Code: Select all

	enum NavigationType
	{
		NT_NORMAL = 0,
		NT_USE,
		NT_SLOW,
		NT_CROUCH,
		NT_JUMP,
		NT_AVOID,
		NT_SHOOT,
		NT_RESPAWN,
		NT_TARGET
	};
User avatar
Gustavo6046
Posts: 136
Joined: Sat May 13, 2017 3:11 pm
Location: Brazil
Contact:

Re: [v0.8.1] ZetaBot: The ZScript Bot

Post by Gustavo6046 »

Me at 2 AM, trying to figure out a way to sneak in external data in a way that can be used in ZScript:
User avatar
TDRR
Posts: 815
Joined: Sun Mar 11, 2018 4:15 pm
Operating System Version (Optional): Manjaro/Win 8.1
Graphics Processor: Intel (Modern GZDoom)
Location: Venezuela

Re: [v0.8.1] ZetaBot: The ZScript Bot

Post by TDRR »

Gustavo6046 wrote:Me at 2 AM, trying to figure out a way to sneak in external data in a way that can be used in ZScript:
I'm no ZScript expert at all, but doesn't PyWeaponWheel do something like that?
Even if you mean outside a .pk3 or .wad file, you can use the "skins" folder to drop text files there and ZDoom loads them on startup.
User avatar
Nash
 
 
Posts: 17433
Joined: Mon Oct 27, 2003 12:07 am
Location: Kuala Lumpur, Malaysia
Contact:

Re: [v0.8.1] ZetaBot: The ZScript Bot

Post by Nash »

Gustavo6046 wrote:Me at 2 AM, trying to figure out a way to sneak in external data in a way that can be used in ZScript:
Yes, you can read lumps and code your custom parser. viewtopic.php?f=2&t=62710&p=1081702&hil ... p#p1081702
User avatar
Gustavo6046
Posts: 136
Joined: Sat May 13, 2017 3:11 pm
Location: Brazil
Contact:

Re: [v0.8.1] ZetaBot: The ZScript Bot

Post by Gustavo6046 »

Great! Maybe we can use GZDoom's feature of using a directory. That would do!

Then, I just have to read the WAD files' contents in C, parse maps, plot nodes, export nodes. However, I am not sure how I would decide where to plot such nodes.
User avatar
TDRR
Posts: 815
Joined: Sun Mar 11, 2018 4:15 pm
Operating System Version (Optional): Manjaro/Win 8.1
Graphics Processor: Intel (Modern GZDoom)
Location: Venezuela

Re: [v0.8.1] ZetaBot: The ZScript Bot

Post by TDRR »

Gustavo6046 wrote:Great! Maybe we can use GZDoom's feature of using a directory. That would do!

Then, I just have to read the WAD files' contents in C, parse maps, plot nodes, export nodes. However, I am not sure how I would decide where to plot such nodes.
If you mean the lump name, maybe something like ZBNODES, which i haven't seen used anywhere else so it's likely safe.

Put directories with these in a directory called "skins" with subdirectories named differently with ZBNODES lumps there. And it gets loaded automatically which is very nice.

If you mean the format, use something basic:

Mxxxx;
1, 2, 3, 4;
Where
Mxxxx is map title (It would be put in the x's)
1 is X position
2 is Y position
3 is Z position
4 is bitfield with the type of node
and ; is a line end to mark it clearly.
Next M(mapname) you switch to that.

That's what i did when experimenting with storing postional data on a CVAR, and if it was relatively easy on ACS, surely it's going to be even easier on ZScript.

EDIT: Well i'm stupid, you said "PLOT" not store. In that case, i would bet on a GZDB or even better, DBX plugin for this. You could make a fork of Eureka for Linux systems and the like specifically for the purposes of making ZetaBot nodes.
(and support for the TDBot's upcoming CVAR nodelists would be nice too :D )
Also, support for exporting into the old CVAR node format the ZetaBots currently use would be nice too, and you could put them into an autoexec.cfg file. Perhaps using "exec nodes.cfg" to make sure the user's autoexec file isn't cluttered with nodelists?

While Eureka is a little bit hard to control, IMO it's pretty decent and i could get used to it to make nodes, so long i don't have to manually plug their coordinates into an ACS SpawnForced chain or a CVAR.
User avatar
TDRR
Posts: 815
Joined: Sun Mar 11, 2018 4:15 pm
Operating System Version (Optional): Manjaro/Win 8.1
Graphics Processor: Intel (Modern GZDoom)
Location: Venezuela

Re: [v0.8.1] ZetaBot: The ZScript Bot

Post by TDRR »

Hi, any chance you could explain the nodelist format to me? I would love to make TDBots: Node Studio compatible with the ZetaBots, but i can't read the ZScript code.
Post Reply

Return to “Gameplay Mods”