[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 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.

[0.4 BETA] TwitchyDoom - Streamer interaction!

Postby Cutmanmike » Sun Apr 18, 2021 3:30 pm



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 Sun May 02, 2021 3:44 am, edited 14 times in total.
User avatar
Cutmanmike
Is it hot in here or is it just ZScript
 
Joined: 06 Oct 2003
Location: United Kingdom
Discord: https://discord.gg/Whts7Bj
Operating System: Windows Vista/7/2008 64-bit

Re: [WIP] TwitchyDoom - Streamer interaction!

Postby mamaluigisbagel » Sun Apr 18, 2021 4:53 pm

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
mamaluigisbagel
"If I ever have kids, they're going to come out circle-strafing." ~Civvie 11
 
Joined: 09 Jul 2014
Discord: Nonemployee#1013
Operating System: Windows 10/8.1/8/201x 64-bit
Graphics Processor: nVidia (Modern GZDoom)

Re: [WIP] TwitchyDoom - Streamer interaction!

Postby comet1337 » Mon Apr 19, 2021 12:51 am

had a chance to try this from chat side, and its pretty fucking great
this is definitely going to go huge
User avatar
comet1337
 
Joined: 25 Sep 2015
Location: elsewhere

Re: [WIP] TwitchyDoom - Streamer interaction!

Postby Kinsie » Mon Apr 19, 2021 2:08 am

Holy hell, this is clever.
User avatar
Kinsie
Dog Days
 
Joined: 22 Oct 2004
Location: MAP33
Discord: Find Me...
Twitch ID: thekinsie

Re: [WIP] TwitchyDoom - Streamer interaction!

Postby MrIcarus » Mon Apr 19, 2021 7:26 am

This is very relevant to my interests.
User avatar
MrIcarus
 
Joined: 15 Aug 2016

Re: [0.1 BETA] TwitchyDoom - Streamer interaction!

Postby Cutmanmike » Mon Apr 19, 2021 12:24 pm

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
Cutmanmike
Is it hot in here or is it just ZScript
 
Joined: 06 Oct 2003
Location: United Kingdom
Discord: https://discord.gg/Whts7Bj
Operating System: Windows Vista/7/2008 64-bit

Re: [0.1 BETA] TwitchyDoom - Streamer interaction!

Postby doomfiend » Mon Apr 19, 2021 12:27 pm

this is so much fun!
User avatar
doomfiend
 
Joined: 27 Aug 2006
Location: some where

Re: [0.1 BETA] TwitchyDoom - Streamer interaction!

Postby Cutmanmike » Tue Apr 20, 2021 9:03 am

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
Cutmanmike
Is it hot in here or is it just ZScript
 
Joined: 06 Oct 2003
Location: United Kingdom
Discord: https://discord.gg/Whts7Bj
Operating System: Windows Vista/7/2008 64-bit

Re: [0.1 BETA] TwitchyDoom - Streamer interaction!

Postby MrRumbleRoses » Tue Apr 20, 2021 11:01 am

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
MrRumbleRoses
 
Joined: 25 Feb 2016

Re: [0.1 BETA] TwitchyDoom - Streamer interaction!

Postby Cutmanmike » Tue Apr 20, 2021 11:27 am

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
Is it hot in here or is it just ZScript
 
Joined: 06 Oct 2003
Location: United Kingdom
Discord: https://discord.gg/Whts7Bj
Operating System: Windows Vista/7/2008 64-bit

Re: [0.2a BETA] TwitchyDoom - Streamer interaction!

Postby Cutmanmike » Wed Apr 21, 2021 6:38 am

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
Cutmanmike
Is it hot in here or is it just ZScript
 
Joined: 06 Oct 2003
Location: United Kingdom
Discord: https://discord.gg/Whts7Bj
Operating System: Windows Vista/7/2008 64-bit

Re: [0.2b BETA] TwitchyDoom - Streamer interaction!

Postby kevansevans » Thu Apr 22, 2021 8:50 pm

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
kevansevans
Disciple of The Great God Imp
Spotlight Team
 
Joined: 05 Oct 2010
Github ID: kevansevans
Operating System: Windows 10/8.1/8/201x 64-bit
Graphics Processor: nVidia with Vulkan support

Re: [0.2b BETA] TwitchyDoom - Streamer interaction!

Postby Kinsie » Fri Apr 23, 2021 12:08 am

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
Kinsie
Dog Days
 
Joined: 22 Oct 2004
Location: MAP33
Discord: Find Me...
Twitch ID: thekinsie

Re: [0.2b BETA] TwitchyDoom - Streamer interaction!

Postby kevansevans » Fri Apr 23, 2021 11:24 am

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
kevansevans
Disciple of The Great God Imp
Spotlight Team
 
Joined: 05 Oct 2010
Github ID: kevansevans
Operating System: Windows 10/8.1/8/201x 64-bit
Graphics Processor: nVidia with Vulkan support

Re: [0.2b BETA] TwitchyDoom - Streamer interaction!

Postby Cutmanmike » Fri Apr 23, 2021 11:47 am

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...
User avatar
Cutmanmike
Is it hot in here or is it just ZScript
 
Joined: 06 Oct 2003
Location: United Kingdom
Discord: https://discord.gg/Whts7Bj
Operating System: Windows Vista/7/2008 64-bit

Next

Return to Gameplay Mods

Who is online

Users browsing this forum: Ribo Zurai and 14 guests