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.
[v0.11.1-rc2] ZetaBot: The ZScript Bot
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.
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.
- Gustavo6046
- Posts: 136
- Joined: Sat May 13, 2017 3:11 pm
- Location: Brazil
- Contact:
- Gustavo6046
- Posts: 136
- Joined: Sat May 13, 2017 3:11 pm
- Location: Brazil
- Contact:
Re: [v0.9.0] ZetaBot: The ZScript Bot
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!
Update 04/25: Two significant releases have been out since this "discontinuation". Consider it... reverted!
Last edited by Gustavo6046 on Sat Apr 24, 2021 11:51 pm, edited 1 time in total.
- Gustavo6046
- Posts: 136
- Joined: Sat May 13, 2017 3:11 pm
- Location: Brazil
- Contact:
Re: [v0.10.0] ZetaBot: The ZScript Bot
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!
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!
- Gustavo6046
- Posts: 136
- Joined: Sat May 13, 2017 3:11 pm
- Location: Brazil
- Contact:
Re: [v0.10.0] ZetaBot: The ZScript Bot
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.
- Gustavo6046
- Posts: 136
- Joined: Sat May 13, 2017 3:11 pm
- Location: Brazil
- Contact:
Re: [v0.11.0] ZetaBot: The ZScript Bot
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/
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/
- Gustavo6046
- Posts: 136
- Joined: Sat May 13, 2017 3:11 pm
- Location: Brazil
- Contact:
Re: [v0.11.1-rc2] ZetaBot: The ZScript Bot
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.
- TheRailgunner
- Posts: 1555
- Joined: Mon Jul 08, 2013 10:08 pm
Re: [v0.11.1-rc2] ZetaBot: The ZScript Bot
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.
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.
- Gustavo6046
- Posts: 136
- Joined: Sat May 13, 2017 3:11 pm
- Location: Brazil
- Contact:
Re: [v0.11.1-rc2] ZetaBot: The ZScript Bot
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:So...how exactly do I use ZetaBots? Do the bots draw paths on their own?
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: Are they affected by player-centric ACS scripts?
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).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.
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
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).