Concept: Auto-Submitting system for IL leaderboards
7 years ago
United States

I thought of a concept that could substantially increase the number of runs on the site for a good number of games. For games that are level-based with few variables that carry between them, generating individual level leaderboards could be almost entirely automated. It'd require work across LiveSplit, OBS, Speedrun.com's API, and Twitch's API (could probably work with XSplit, Hitbox, etc).

I'll use my main game, Command & Conquer: Red Alert 2, as an example. The game's full-game categories are individual levels in a specific order; nothing carries over from one level to the next. I've written an auto-splitter so it keeps track of the IL times during the run. Not too many runners particularly care about submitting their best attempts (IL records), so I do extra work to put them on. With some kind of auto-submitter, runners wouldn't have to do much to get their IL runs on the LBs.

There'd need to be a LiveSplit plugin that assigns the runner's segments with ILs on speedrun.com so they don't need to use one specific setup. Nearly all fields can be auto-filled or entered with a prompt (like for comment). The main hurdle is auto-submitting with a video. LiveSplit will need to be able talk to OBS.

If the runner isn't streaming and only recording, LiveSplit can tell OBS to create a replay buffer video for the duration of the segment with some padding. They'd have to manually upload the replay buffer to YouTube or Twitch. It COULD be automatic with API access, and even done during the run, though that may be a bad idea. When the run is done and they're prompted for the submissions, the runner can either submit immediately without a video and add it later or wait until their upload is complete and fill the video field with it.

If the runner IS streaming, LiveSplit can grab the uptime from OBS to know the timestamps, use Twitch API to find the latest past broadcast (which would be the current stream), and automatically create a highlight. It can be done after the run is complete so the runner can choose if they want to save it. The video field fills itself out once the highlight is complete.

Right now this works best with PC games that have an auto-splitter, but it can still be used with consoles and real-time with a margin of error. Once LiveSplit has an auto-splitting system for video/audio capture, even console IL submissions can be accurate.

tl;dr An auto-submitting system for individual levels during full-game runs. Could work with a lot of games.

Edited by the author 7 years ago
PreFiXAUT likes this
France

for highlighting (almost) automatically on twitch from splits: https://dalet.github.io/run-highlighter/

ROMaster2 likes this
Vienna, Austria

That's a great idea. Just allot of work. I'd really like to help you out with that project if you/someone want's to tackle that down. Only issue is that I don't know C/C++ which this project is surely going to require (for LiveSplit and OBS API/hooks)

United States

Found an excuse to bump. Now that Twitch supports uploading, it could splice [small]small[/small][/small] out the segments from the finished video file with help from ffmpeg to upload to either Twitch or YouTube. Highlighting would still be preferred if possible because it'd be a whole lot faster than waiting on the upload.

England

Sounds good in principle, though this wouldn't work for games in which ILs are fundamentally different from just playing the level during a fullgame run.