[0.4 BETA] TwitchyDoom - Streamer interaction!

Projects that alter game functions but do not include new maps belong here.
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.
User avatar
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!

Post by Cutmanmike »



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.
User avatar
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!

Post by mamaluigisbagel »

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!
User avatar
comet1337
Posts: 876
Joined: Fri Sep 25, 2015 3:48 am
Location: elsewhere

Re: [WIP] TwitchyDoom - Streamer interaction!

Post by comet1337 »

had a chance to try this from chat side, and its pretty fucking great
this is definitely going to go huge
User avatar
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!

Post by Kinsie »

Holy hell, this is clever.
User avatar
MrIcarus
Posts: 12
Joined: Mon Aug 15, 2016 9:29 am

Re: [WIP] TwitchyDoom - Streamer interaction!

Post by MrIcarus »

This is very relevant to my interests.
User avatar
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!

Post by Cutmanmike »

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 :)
User avatar
doomfiend
Posts: 526
Joined: Sun Aug 27, 2006 6:10 am
Location: some where

Re: [0.1 BETA] TwitchyDoom - Streamer interaction!

Post by doomfiend »

this is so much fun!
User avatar
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!

Post by Cutmanmike »

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.
User avatar
MrRumbleRoses
Posts: 331
Joined: Thu Feb 25, 2016 2:01 pm

Re: [0.1 BETA] TwitchyDoom - Streamer interaction!

Post by MrRumbleRoses »

Cutmanmike 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 :)
is this limited to only streamlabs? cause i have streamelements for my Twitch
User avatar
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!

Post by Cutmanmike »

MrRumbleRoses wrote:is this limited to only streamlabs? cause i have streamelements for my Twitch
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.
User avatar
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!

Post by Cutmanmike »

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.
User avatar
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!

Post by kevansevans »

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?
User avatar
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!

Post by Kinsie »

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?
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!
User avatar
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!

Post by kevansevans »

Kinsie wrote:
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?
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!
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.
User avatar
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!

Post by Cutmanmike »

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...
Post Reply

Return to “Gameplay Mods”