[v0.9.0] 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 YOUR 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.

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

Postby Gustavo6046 » Thu May 16, 2019 10:32 am

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! ^^
User avatar
Gustavo6046
 
Joined: 13 May 2017
Location: In an urban area in Brazil.
Discord: Gustavo6046#9009

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

Postby muhnwalker » Sat Jun 01, 2019 6:56 am

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:
muhnwalker
 
Joined: 05 Nov 2017

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

Postby Gustavo6046 » Fri Jun 07, 2019 11:13 am

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.
User avatar
Gustavo6046
 
Joined: 13 May 2017
Location: In an urban area in Brazil.
Discord: Gustavo6046#9009

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

Postby muhnwalker » Fri Jun 07, 2019 1:30 pm

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-)
muhnwalker
 
Joined: 05 Nov 2017

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

Postby doomfan » Fri Jun 07, 2019 8:46 pm

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:
doomfan
 
Joined: 25 May 2019

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

Postby Gustavo6046 » Sat Jun 08, 2019 5:28 pm

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 ^^
User avatar
Gustavo6046
 
Joined: 13 May 2017
Location: In an urban area in Brazil.
Discord: Gustavo6046#9009

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

Postby TDRR » Sat Jun 08, 2019 6:08 pm

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.
User avatar
TDRR
iDeas from the deep (pit of hacks)
 
Joined: 11 Mar 2018
Location: Venezuela
Operating System: Windows Vista/7 64-bit
Graphics Processor: Intel (Modern GZDoom)

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

Postby TDRR » Thu Jun 13, 2019 10:44 am

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
TDRR
iDeas from the deep (pit of hacks)
 
Joined: 11 Mar 2018
Location: Venezuela
Operating System: Windows Vista/7 64-bit
Graphics Processor: Intel (Modern GZDoom)

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

Postby Gustavo6046 » Sat Jul 20, 2019 6:59 am

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
   };
User avatar
Gustavo6046
 
Joined: 13 May 2017
Location: In an urban area in Brazil.
Discord: Gustavo6046#9009

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

Postby Gustavo6046 » Thu Aug 01, 2019 4:19 pm

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
Gustavo6046
 
Joined: 13 May 2017
Location: In an urban area in Brazil.
Discord: Gustavo6046#9009

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

Postby TDRR » Fri Aug 02, 2019 11:02 am

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
TDRR
iDeas from the deep (pit of hacks)
 
Joined: 11 Mar 2018
Location: Venezuela
Operating System: Windows Vista/7 64-bit
Graphics Processor: Intel (Modern GZDoom)

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

Postby Nash » Fri Aug 02, 2019 11:57 am

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
User avatar
Nash
 
 
 
Joined: 27 Oct 2003
Location: Kuala Lumpur, Malaysia
Github ID: nashmuhandes

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

Postby Gustavo6046 » Mon Aug 19, 2019 11:12 am

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
Gustavo6046
 
Joined: 13 May 2017
Location: In an urban area in Brazil.
Discord: Gustavo6046#9009

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

Postby TDRR » Tue Aug 20, 2019 9:38 pm

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
iDeas from the deep (pit of hacks)
 
Joined: 11 Mar 2018
Location: Venezuela
Operating System: Windows Vista/7 64-bit
Graphics Processor: Intel (Modern GZDoom)

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

Postby TDRR » Mon Aug 26, 2019 8:09 pm

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.
User avatar
TDRR
iDeas from the deep (pit of hacks)
 
Joined: 11 Mar 2018
Location: Venezuela
Operating System: Windows Vista/7 64-bit
Graphics Processor: Intel (Modern GZDoom)

PreviousNext

Return to Gameplay Mods

Who is online

Users browsing this forum: doomg1337fuck, ErrantMasa, ValadaEW, VitSm and 13 guests