[0.4 BETA] TwitchyDoom - Streamer interaction!
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.
- Cutmanmike
- Posts: 11335
- Joined: Mon Oct 06, 2003 3:41 pm
- Operating System Version (Optional): Windows 10
- Location: United Kingdom
- Contact:
[0.4 BETA] TwitchyDoom - Streamer interaction!
TwitchyDoom is mod which enables streamers to utilize Stream Chatbot (and possibly other bot software) to allow viewers to interact with their game. While not a new idea, the implementation of this kind of thing was usually very ugly (having to use keybinds to trigger summon commands). With the power of zscript, I decided it was time to have a shot at making this a bit nicer for everyone. Not only does this include some basic functionality for spawning monsters, items etc, but with a bit of zscript knowledge you can easily add your own custom commands to do pretty much anything you want.
How it works
The main TwitchyDoom mod is loaded into GZDoom along with a STREAM.txt in a directory of choice. The chat bot reads Twitch chat for commands (that you've set up yourself in your bot software), and writes a bit of data to the STREAM.txt containing information on what command was executed, the username of the caller etc. TwitchyDoom will read this file and parse the data, executing scripts in real time. Using zscript allows for a lot more flexibility over just triggering console commands. Spawning monsters/items in the world with Twitch name tags is just the tip of the iceberg.
Screenshots/Videos
GIF! (more to come)
Documentation
Documentation on Github (WIP)
Download
TwitchyDoom Beta 0.4
Please view the documentation above and post any questions if you're stuck!
Videos
Last edited by Cutmanmike on Fri Nov 12, 2021 6:15 pm, edited 15 times in total.
- mamaluigisbagel
- Posts: 511
- Joined: Wed Jul 09, 2014 7:25 pm
- Preferred Pronouns: He/Him
- Operating System Version (Optional): Windows 11
- Graphics Processor: nVidia with Vulkan support
Re: [WIP] TwitchyDoom - Streamer interaction!
my first reaction to seeing this, and finding out it was you, then imagining the chaos that can happen after your experience with Corruption Cards, was "Ohhh nooo." xD
Looking forward to how this develops!
Looking forward to how this develops!
Re: [WIP] TwitchyDoom - Streamer interaction!
had a chance to try this from chat side, and its pretty fucking great
this is definitely going to go huge
this is definitely going to go huge
- Kinsie
- Posts: 7401
- Joined: Fri Oct 22, 2004 9:22 am
- Graphics Processor: nVidia with Vulkan support
- Location: MAP33
- Contact:
Re: [WIP] TwitchyDoom - Streamer interaction!
Holy hell, this is clever.
Re: [WIP] TwitchyDoom - Streamer interaction!
This is very relevant to my interests.
- Cutmanmike
- Posts: 11335
- Joined: Mon Oct 06, 2003 3:41 pm
- Operating System Version (Optional): Windows 10
- Location: United Kingdom
- Contact:
Re: [0.1 BETA] TwitchyDoom - Streamer interaction!
I've released the first beta. Please follow and read the documentation for usage details. If you get stuck feel free to post any comments here.
You can test this mod without going live on stream. With Streamlabs chatbot loaded you can run GZDoom and test your commands out in the Streamlabs console (or join your channel's chat). You can even edit commands while GZDoom is running
You can test this mod without going live on stream. With Streamlabs chatbot loaded you can run GZDoom and test your commands out in the Streamlabs console (or join your channel's chat). You can even edit commands while GZDoom is running
Re: [0.1 BETA] TwitchyDoom - Streamer interaction!
this is so much fun!
- Cutmanmike
- Posts: 11335
- Joined: Mon Oct 06, 2003 3:41 pm
- Operating System Version (Optional): Windows 10
- Location: United Kingdom
- Contact:
Re: [0.1 BETA] TwitchyDoom - Streamer interaction!
Just a heads up for those building a library of commands already: The syntax is still subject to minor changes. Mainly because people seem to want more customization for certain commands.
- MrRumbleRoses
- Posts: 331
- Joined: Thu Feb 25, 2016 2:01 pm
Re: [0.1 BETA] TwitchyDoom - Streamer interaction!
is this limited to only streamlabs? cause i have streamelements for my TwitchCutmanmike wrote:I've released the first beta. Please follow and read the documentation for usage details. If you get stuck feel free to post any comments here.
You can test this mod without going live on stream. With Streamlabs chatbot loaded you can run GZDoom and test your commands out in the Streamlabs console (or join your channel's chat). You can even edit commands while GZDoom is running
- Cutmanmike
- Posts: 11335
- Joined: Mon Oct 06, 2003 3:41 pm
- Operating System Version (Optional): Windows 10
- Location: United Kingdom
- Contact:
Re: [0.1 BETA] TwitchyDoom - Streamer interaction!
As long as your software can write a specific line of text to a text file upon reading a command from chat, technically any program can work. I'll check out other streaming software once we're up and running properly to see what's possible.MrRumbleRoses wrote:is this limited to only streamlabs? cause i have streamelements for my Twitch
- Cutmanmike
- Posts: 11335
- Joined: Mon Oct 06, 2003 3:41 pm
- Operating System Version (Optional): Windows 10
- Location: United Kingdom
- Contact:
Re: [0.2a BETA] TwitchyDoom - Streamer interaction!
I've changed how streamers can define parameters for the commands, as well as some parameters that work for all commands such as delaying the action or hiding the usernames on spawned objects. Check the documentation, I've added lots of examples!
Randomspawners and replacements now work with spawning stuff too. I.e if there's 5 demon variants, using a spawn command should pick one of those at random. Also added SpawnOnPlayer and ChangeMusic commands.
Those who had commands set up previously will have to update them to make them work with the new parameters format.
Randomspawners and replacements now work with spawning stuff too. I.e if there's 5 demon variants, using a spawn command should pick one of those at random. Also added SpawnOnPlayer and ChangeMusic commands.
Those who had commands set up previously will have to update them to make them work with the new parameters format.
- kevansevans
- Spotlight Team
- Posts: 420
- Joined: Tue Oct 05, 2010 12:04 am
- Graphics Processor: nVidia with Vulkan support
- Contact:
Re: [0.2b BETA] TwitchyDoom - Streamer interaction!
I’ve been under the impression that Zdoom wasn’t allowed to read external files by the modder’s request, is this a new feature or have I been ignorant of this feature existing in ZScript?
- Kinsie
- Posts: 7401
- Joined: Fri Oct 22, 2004 9:22 am
- Graphics Processor: nVidia with Vulkan support
- Location: MAP33
- Contact:
Re: [0.2b BETA] TwitchyDoom - Streamer interaction!
You can load individual lumps using the -file command line (ex. -file decorate.txt). This mod asks you to load a text lump via this route that is modified externally. It's a clever trick that I'm kinda surprised works!kevansevans wrote:I’ve been under the impression that Zdoom wasn’t allowed to read external files by the modder’s request, is this a new feature or have I been ignorant of this feature existing in ZScript?
- kevansevans
- Spotlight Team
- Posts: 420
- Joined: Tue Oct 05, 2010 12:04 am
- Graphics Processor: nVidia with Vulkan support
- Contact:
Re: [0.2b BETA] TwitchyDoom - Streamer interaction!
Wow, I'm surprised that's how that works too. I've been discussing with a friend if this was possible, and all I could think of was that ZDoom would have loaded everything into memory and then left that data alone. Never thought it would re-check the files. This definitely opens up the door for a lot of potential, first thing I can think of is a chaos mod, though that wouldn't need an external file.Kinsie wrote:You can load individual lumps using the -file command line (ex. -file decorate.txt). This mod asks you to load a text lump via this route that is modified externally. It's a clever trick that I'm kinda surprised works!kevansevans wrote:I’ve been under the impression that Zdoom wasn’t allowed to read external files by the modder’s request, is this a new feature or have I been ignorant of this feature existing in ZScript?
- Cutmanmike
- Posts: 11335
- Joined: Mon Oct 06, 2003 3:41 pm
- Operating System Version (Optional): Windows 10
- Location: United Kingdom
- Contact:
Re: [0.2b BETA] TwitchyDoom - Streamer interaction!
Wads.ReadLump is what I use if you're interested in giving it a go. Now if only there was a way to write data to a file to be read by another program...