I’m currently working on a parkour game and I’m interested in integrating LiveSplit for timing and speedrunning purposes. I’ve searched high and low for solutions but couldn’t find any clear answers.
What I Need Help With:
How can I incorporate LiveSplit into my game to track and display player times?
Are there any specific scripts or APIs that are particularly useful for this?
Any best practices or tips for integrating LiveSplit with a parkour game would be greatly appreciated!
I know LiveSplit is a powerful tool for speedrunners, and I believe it could add a lot of value to my game by providing players with an accurate and intuitive way to track their progress. If anyone has experience with this or can point me in the right direction, I would be incredibly grateful.
I’m not too experienced with LiveSplit so I’m not entirely certain on this, but I don’t think this is really possible. Going off of the LiveSplit docs you can only get game time through process RAM, log files, or the output stream. You can’t write to a log file or the output stream through a Roblox script (to my knowledge ), and although RAM may have worked in the past I don’t think it can anymore because of Hyperion.
If you really really need to use LiveSplit, there’s probably some convoluted way you could accomplish this through a webserver Roblox communicates with, which then interfaces with LiveSplit.
TLDR: It’s probably more worth it to emulate LiveSplit in game.
You CAN write to a log file! Everything you print goes to %LocalAppData%\Roblox\logs\ and is prefixed with [FLog::Output] prefix. That’s actually how BloxStrap’s Discord integration works.
It can read the game’s log files, parse them, and toggle actions based on those. This works, but is usually fairly delayed, which is why this isn’t that great of a solution.
Maybe you can use this feature? Outputting to Roblox’s log file is as simple as a print, warn or error. As Sown already mentioned, other apps like BloxstrapRPC make use of this.
unless roblox themselves release an api that integrates with livesplit, it’s not really possible
there are some forks of livesplit on github that exist that use image/screen comparisons in order to track splits for games that don’t have an igt/aren’t compatible with livesplit. but those are runner-integrated
the most barebones thing you, the developer can do is have an igt for any time-sensitive activities in your game. anything beyond that imo would be on the shoulders of the src mods for your game to establish rta rules and run verification etc
something else that would help runners set up their livesplit would be a small square that changes color based on the desired split of the activity, for example in something like an obby, the square would be pink for the entrance, red for a climbing section, etc etc
You can get the latest log file in the logs folder, and console output from your game is going to be prefixed with [FLog::Output]. For example, print("Hello") will append something like this to the log file: timestamp,game runtime,something,something [FLog::Output] Hello