top | item 14939748

Show HN: Twitch Plays Doom

113 points| dddanmar | 8 years ago | reply

This is the inevitable post after jeff_harris released restful-doom https://news.ycombinator.com/item?id=14919534

twitch-plays-doom is a Python Twitch IRC->restful-doom proxy to control doomguy with a staggering 8 second delay.

The project was Saturday night's 'I wonder if I can make this work' session. Since it's been live there has been a team of four successfully make it to half way through E01M01.

I've since added godmode to the chat (you can guess the command).

This was fun, hope others get some enjoyment out of it.

Twitch Stream/Chat https://www.twitch.tv/dddanmar/

twitch-plays-doom https://github.com/dddanmar/twitch-plays-doom/

restful-doom https://github.com/jeff-1amstudios/restful-doom/

chocolate-doom https://github.com/chocolate-doom/chocolate-doom/

41 comments

order
[+] _Marak_|8 years ago|reply
Type `iddqd` to toggle god mode

Edit: I'm getting downvotes for this? It's in the posted source code: https://github.com/dddanmar/twitch-plays-doom/blob/master/tw...

[+] _Marak_|8 years ago|reply
It looks like there are two factions forming over the control of `iddqd` command.

It's a battle of trying to keep the marine alive versus killing him. Every-time someone types iddqd, god mode is toggled.

God mode makes the character invincible, without god mode on the marine dies in a few seconds.

[+] exikyut|8 years ago|reply
Okay, I've been watching this for a few minutes, and... the 8 second delay is FAR too long.

Doom is simply too interactive. You need to be able to control it in realtime.

I recommend three things:

- Slow the delay right down, and possibly make it adjustable via chat commands. A 500ms-1s delay is honestly going to be the best possible thing here. Yes, some players will lag too much and won't be able to play at those latencies - which is why you make it adjustable.

- Show, inside the video stream, the command that is currently executing, and the username executing from. This will create a unique tuple that will allow players to figure out the sync for themselves.

- A consensus system that tallies up the next key to press, TpP-style, might be a good idea. Right now everyone's fighting to cooperate because it's concatenating everyone's actions together.

[+] dddanmar|8 years ago|reply
Showing the executed command and who on screen for syncing purposes is a great idea, I'll take a look at that now!
[+] unkown-unknowns|8 years ago|reply
I think the delay is due to Twitch itself.
[+] lillesvin|8 years ago|reply
Yeah. This sort of feels like after Twitch Plays Pokemon when everyone was doing Twitch Plays XYZ. Someone did Twitch Plays Super Meat Boy and it was completely impossible to get anywhere. I appreciate the effort put into setting up the whole thing, I just wish people would stop to consider if it's even possible.
[+] tenryuu|8 years ago|reply
I once played an interactive doom on Mixer (Then Beam)

Worked well for showing off the platform, since there was really a low latency. Since it uses it's own interactive input, and not relying on IRC for interaction, so it's UX is considerably more user friendly... if you want to sign up for a Microsoft Xbox live account to use it

[+] tokenizerrr|8 years ago|reply
You should probably remove the toggle godmode command and force it to on. It's trivial to ruin progress with a strategic iddqd.
[+] dddanmar|8 years ago|reply
Done. God mode stuck on now.
[+] Rampoina|8 years ago|reply
I played it for a while, it was fun but a bit frustrating having to fight the people trying to turn god mode off.
[+] dddanmar|8 years ago|reply
God mode is now turned on without an option to turn it off.
[+] cordite|8 years ago|reply
The game seems paused and I mostly just hear some soft creepy music
[+] dddanmar|8 years ago|reply
It crashed ;-(. Made a few small changes and it's back up.
[+] jeff_harris|8 years ago|reply
thanks dddanmar, very cool!
[+] dddanmar|8 years ago|reply
You've done all the hard work here, really appreciate your release that gave me a fun Saturday night!

My part took all of four hours to write, setup, deploy and post.

At this point I'm going to pull the stream down, been going 5 days now with a few crashes in Doom that are getting a little frustrating to debug.

Thanks again! This was great fun!!

[+] dingo_bat|8 years ago|reply
> Your message was not sent because it is identical to the previous one you sent, less than 30 seconds ago.

:O I can't fire fast enough!

[+] dddanmar|8 years ago|reply
I saw someone with an idea to escape the Twitch message rules:

f - f - f - f

[+] wcummings|8 years ago|reply
Hard to play a real-time game with a 7 second delay...