Page 10 of 10

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

Posted: Fri Dec 27, 2019 11:48 am
by Gustavo6046
I just had a new idea.

What if we held a contest, where a WAD (or single map from a WAD) was chosen, and people had a deadline to make ZetaBot nodes for this WAD? Then, for each player's nods setup, four ZetaBots would be spawned (with coop respawn enabled) in the four player starts, and the nodes that led the bots to exit the level in the least amount of time would win.

This could encourage people to learn about bot pathing, as well as foster the ZetaBots themselves.

I will resume development on the ZetaBots. Just had to take a break. Sorry about that.

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

Posted: Fri Apr 10, 2020 6:32 pm
by Gustavo6046
It is in grief that I announce that the ZetaBot project is now unfortunately discontinued; while it was a good ZScript learning experience, it is clear that this is still only a child's sandbox compared to projects that concern the native C++ code of GZDoom. Therefore, even with ZScript's new capabilities, attempting to develop a bot in it is mostly a moot point, at least when it comes to the essence of the project itself. It was very nice to work with you, fellow ZDoom forum members. Thank you.

Update 04/25: Two significant releases have been out since this "discontinuation". Consider it... reverted!

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

Posted: Thu Dec 17, 2020 12:32 am
by Gustavo6046
v0.10.0 is out; after a long hiatus and a very long time thinking about it, I feel like this still deserves to be at the very least ironed out and polished for you beautiful people to play with. It was not a pointless project after all, as it clearly had a bit of a legacy, inspiring at least one other bot mod to rise out of the starry abyssal crib. After all, this actually does work, unlike, you know ... thing. Nonetheless, I am ecstatic to announce that the ZetaBots are maintained once more! Awh yeah, baby, long term support, bet y'all love some too!

Just a word of caveat emptor. There have arose some strange performance bugs in the project lately. So, unlike the (outdated) screenshots suggest, spamming a bunch of ZetaBots might be kind of a bad idea.......for now! This project is now being maintained! Things will be fixed! Hooray!

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

Posted: Sun Dec 20, 2020 4:08 pm
by Gustavo6046
Screw this "preview" column in the subforum thing. I can''t post my logo because it needs transparency, which Imgur links can't have, and attachments apparently are skipped and can't be used as preview thumbnails either. I honestly don't know what to put there. This is just a bot! Maybe I should have made screenshots of the path network instead -- when the paths are shown they can be truly beautiful, especially in newer versions where I adjusted that.

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

Posted: Sat Apr 24, 2021 11:25 pm
by Gustavo6046
Let's play a game. Welcome to the...

Pretty Paths Compilation!

No, really. I'm gonna make a gallery with some of your submissions, but read on.

The most important pretext is that zt_showpaths allows one to dynamically visualize paths between nodes as the latter are plopped. Path nodes can easily be added from the game itself, and can also be saved and loaded (by default numpad 8 and 9, for saving and loading respectively).

Those paths can be gorgeous. This is your chance to show the world your paths.

So, create some paths! Here are some guidelines:

a) No need to bring up an editor - this mod already adds key bindings to the controls menu for plopping down nodes and stuff.
b) Just normal nodes (numpad 2 by default) are enough (don't worry about the node types).
c) It doesn't have to be a big level. In fact, it doesn't have to be the whole level at all!
d) While you do it, use zt_showpaths to make sure all your nodes are connected nicely, and that hopefully all the important ground is covered. :)
e) If you do mess up, bind the key to delete the last plopped node, in the Controls submenu under ZetaBot Pathing. I personally use Backspace as I don't really use it for anything else in GZDoom/LZDoom, but you do you.

Once you're satisfied, take some screenshots of your paths while using zt_showpaths to display them. And then, post them here! All path net screenshots posted until May 1st will be added to a public gallery for all to see.

Here's an example of what I mean.



----

Psst, for the more codey ones out there, you may be delighted to know that priority queues since v0.11.0 now use a simple binary min-heap implementation. Slightly less crappy data structures! Woo! Totally meaningfully meaningless micro-optimizations for the win! \o/

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

Posted: Sun May 09, 2021 2:37 pm
by Gustavo6046
I think it is needless to say that the compilation was cancelled due to the lack of submission. Just wanted to formally declare that before anyone asks.

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

Posted: Mon May 10, 2021 5:52 pm
by TheRailgunner
So...how exactly do I use ZetaBots? Do the bots draw paths on their own? Are they affected by player-centric ACS scripts?

Basically, I want to be able to adapt this to give Malice's Reinforcements more player-like qualities instead of a narrow range of monster-based behaviors, as well as give them objectively better pathfinding and teamwork abilities.

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

Posted: Tue May 11, 2021 11:49 am
by Gustavo6046
TheRailgunner wrote:So...how exactly do I use ZetaBots? Do the bots draw paths on their own?
The ZetaBots can be spawned. The pathing is done manually; there is an option for bots to plop nodes automatically where they go (the CVar "zb_autonodes"), but those tend to be of poor quality. I recommend checking the keybinds that the mod adds to the controls menu.
TheRailgunner wrote: Are they affected by player-centric ACS scripts?
It depends. Bots probably can trigger ACS scripts if they activate lines that execute them, although I never verified, and I doubt player-centric scripts can affect bots, since bots are internally not playerpawns.
TheRailgunner wrote: Basically, I want to be able to adapt this to give Malice's Reinforcements more player-like qualities instead of a narrow range of monster-based behaviors, as well as give them objectively better pathfinding and teamwork abilities.
I can tell from experience that it is not at all easy to make an AI that feels player-like! You can definitely use the ZetaBot as a basis for your AI, although I'm not sure how adaptable it is as a general-purpose actor (it is kind of hardcoded to act more like conventional bots, spawning in predefined respawn-type pathnodes and kind of doing things on their own, at the moment).

As for the team-work, bots giving each other orders (as well as players themselves giving bots orders) has been in the works for a while, but I'm not quite satisfied with it yet, and it doesn't really seem to do much of anything right now. I do plan to add the ability for bots to request for their fellows' backup when under heavy attack, kind of like the bots in UT can. Some of the codebase is quite extensible, so you could subclass the bot order class (although ZScript.zsc is big and is still begging to be refactored).

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

Posted: Thu Apr 27, 2023 5:00 am
by dawnbreez
Is there a bare-minimum example of what's needed for a working module? I'm throwing together a deathmatch-focused weaponset on a lark, and want to test it without wrestling with GZDoom's existing network play system (or waiting for the host/join command PR to merge).

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

Posted: Tue Apr 16, 2024 10:31 am
by Gustavo6046
Just reactivated my account.
dawnbreez wrote: Thu Apr 27, 2023 5:00 am Is there a bare-minimum example of what's needed for a working module? I'm throwing together a deathmatch-focused weaponset on a lark, and want to test it without wrestling with GZDoom's existing network play system (or waiting for the host/join command PR to merge).

Currently there isn't a bare minimum example, but the Doom weapons are fairly simple, you can look in the ZetaBot GitHub to learn about them.

However, I plan to in the near future deprecate the module-based scheme, as it is quite a bit of effort and boilerplate to replicate the behaviour of weapon classes. I'll do some R&D.

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

Posted: Thu Apr 18, 2024 7:56 am
by shaodoomkahn
Will there be custom skins for this mod ?