Hacker News new | past | comments | ask | show | jobs | submit login

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.




Showing the executed command and who on screen for syncing purposes is a great idea, I'll take a look at that now!


I think the delay is due to Twitch itself.


100% - the delay is as low as I can get it.

Twitch uses RTMPE for the most part, it's always going to be a little delayed. It's a decent box, compression is on, connected to fibre internet.

If anyone has any ideas of reducing latency I'd love to hear it!


Why not time dilate? Could make it a variable setting that users can control. At some setting, it'd be fast enough to send commands and win fights without god mode.

Or you could execute the command for a second, then pause the game execution. Make it closer to turn-based Doom.


Allowing a reasonable number of consecutive actions might help, too. Like if I want to go forward two steps and turn 90 degrees to the right, I could send "wwddd." Not as necessary in Twitch Plays Pokemon, but could do wonders here.

But as mentioned, it would have to be capped to some number to prevent abuse.


No agfiliation, but Mixer/Beam [0] had a much lower delay than twitch. It unfortunately has the issue of not having anywhere the popularity of twitch.

[0] https://mixer.com


Mixer also has the possibility to add buttons directly to the stream, so viewers can use WASD and stuff on their actual keyboards.


Just to piggyback on this--a friend of mine lives across the country and I've been wanting to watch her play games and kibitz like we used to, but we can't find any video streamer or screencaster that doesn't have either ~10sec delay or unacceptably awful video quality. We've tried Twitch, Skype, and Steam streaming so far. Any ideas out there?


As someone mentioned below, https://mixer.com/ seems to be the current king of low-latency, but it seems like they only allow public streams.

And Discord just rolled out a beta for screen-sharing, also something to keep an eye on maybe.


Does the irc bot you imported use websockets? I've been researching how to do a Twitch-plays game in Unity/C# and am thinking websockets to avoid rate limiting, but was wondering how much that'd do for latency, given it's push-based instead of polling.


You can take a look at the code on Github, it's a very straight forward Python IRC client.

The delay experienced is all in the stream broadcast back to the Twitch servers and on to the viewers.

When I'm watching the chat and also watching the local view of Doom the commands are executed almost instantly. It then takes ~8s to show on my Twitch view. When I started it was around 15s but some tweaking in OBS has brought that down a bit.


Oh wow. The 8 seconds is Twitch?! Yikes.

I am unfortunately completely ignorant of how you actually send data to Twitch, but can you use H264? It has an "ultra-low latency" mode.

Edit: Hmm, you're on OBS. Maybe you could stream using some uncompressed low-latency option from OBS to ffserver, then reencode on ffserver to low-latency H264. Alternatively, you could use ffmpeg with its X11 capture option, pointed at eg Xvfb.


The delay is lower for "partners" on Twitch I think, so they can technically support it, just not for every stream.


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.




Join us for AI Startup School this June 16-17 in San Francisco!

Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: