Page 8 of 10

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

PostPosted: Thu May 16, 2019 10:32 am
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! ^^

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

PostPosted: Sat Jun 01, 2019 6:56 am
by muhnwalker
Hello,

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

Code: Select allExpand view
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:

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

PostPosted: Fri Jun 07, 2019 11:13 am
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.

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

PostPosted: Fri Jun 07, 2019 1:30 pm
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 allExpand view
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-)

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

PostPosted: Fri Jun 07, 2019 8:46 pm
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:

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

PostPosted: Sat Jun 08, 2019 5:28 pm
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 allExpand view
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 ^^

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

PostPosted: Sat Jun 08, 2019 6:08 pm
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 allExpand view
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.

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

PostPosted: Thu Jun 13, 2019 10:44 am
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?

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

PostPosted: Sat Jul 20, 2019 6:59 am
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 allExpand view
   enum NavigationType
   {
      NT_NORMAL = 0,
      NT_USE,
      NT_SLOW,
      NT_CROUCH,
      NT_JUMP,
      NT_AVOID,
      NT_SHOOT,
      NT_RESPAWN,
      NT_TARGET
   };

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

PostPosted: Thu Aug 01, 2019 4:19 pm
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:

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

PostPosted: Fri Aug 02, 2019 11:02 am
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.

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

PostPosted: Fri Aug 02, 2019 11:57 am
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&hilit=findlump#p1081702

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

PostPosted: Mon Aug 19, 2019 11:12 am
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.

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

PostPosted: Tue Aug 20, 2019 9:38 pm
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.

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

PostPosted: Mon Aug 26, 2019 8:09 pm
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.