Jump to content
Search In
  • More options...
Find results that contain...
Find results in...
FADEDRUNNER

Help with classic doom speedrunning

Recommended Posts

so ive been having trouble finding any auto splitters for the original doom game knee deep in the dead episode 1 and i came to the almighty doom world where it litteraly all it is is doom so if any classic doom players also speed run it please help with finding an autosplitter for the game.

Share this post


Link to post

Sorry if this is a dumb question, but, what in the world is an autosplitter? :) Thanks in advance!

Share this post


Link to post
On 3/19/2019 at 12:28 AM, kb1 said:

Sorry if this is a dumb question, but, what in the world is an autosplitter? :) Thanks in advance!

Uhm..what he said....O_o

Share this post


Link to post
On 3/19/2019 at 3:28 AM, kb1 said:

Sorry if this is a dumb question, but, what in the world is an autosplitter? :) Thanks in advance!

 

When speedrunning games (generally RTA or w/o dedicated timers), you split tzhe whole run into segments, often each map or per chapter or whatever.

An autosplitter uses various strategies to determine when tzhe segment is over and will automatically split for you, without you having to manually

press a button to split (as would be tzhe normal way of doing it).

 

Share this post


Link to post

Oh, do you mean like something that would take, say, a movie of a 9-level playthrough, and split it into 9 separate movie files?

 

And, what is a "tzhe"?

Share this post


Link to post

I'll try to explain. For most games, players do not have the luxuries of Doom's in-game time capabilities combined with numerous enhancements with source ports to allow on-screen timers, accurate timing to the tic, and the total time of the run so far displayed on the intermission screens. As such, speedrunners are forced to time the runs with an external utility, one that they can preferably run smoothly alongside the game so they are able to see their current time as they are running. Additionally for longer runs, speedrunners tend to want to set up checkpoints at various points throughout the run, typically at natural places like level transitions, dungeon completions, full games if multiple games are being run, etc.. This is because it can be difficult to feel exactly how fast you are going in a longer run based only on your total time so far.

 

This is where splitters come in: a splitter is a tool that allows the player to time their run, as well as split it into different checkpoints (which are called splits) and provides the ability to time each checkpoint (a commonly used splitter is called LiveSplit). The normal process for this is that the player has to start the timer alongside the game, and for each checkpoint, manually mark the checkpoint as done within the splitter using a predefined hotkey (this is known as splitting). The splitter will then take care of timing each split, the total run, and the time up to a given split, which gives the player a clear idea of how fast their individual splits are and what their pace is so far. This can be annoying to do, especially as it can distract from the run itself, so autosplitters have been created for some games that perform these splits automatically, typically by reading the game memory and determining which bits are changed at level transitions or other key points where splitting would make sense.

 

For Doom, this is a challenging problem due to the number of source ports and source port versions and the difficulty of reading the game memory consistently. Additionally, the existence of built-in timers and IGT makes the usefulness of a splitter more limited. However, speedrunners may still want to use a splitter as splitters often come with additional features such as tracking attempt count, calculating the best possible time based on your fastest splits, average time calculations, telling you when you got a best time on a split (this is referred to as a gold due to the typical display of best times being gold in the LiveSplit utility), etc.. As such, a couple have been created, including the one linked above, but, likely, they have limited cross-compatibility across versions of that port and especially other ports, so their use is still quite limited.

Share this post


Link to post

@4shockblast: Thanks for the detailed answer!

 

It sounds like something that could be handled much more elegantly with some dedicated source port code. If such code were kept to a minimum, it might receive multi-port support.

 

For example, level-end support would be simple, and finer-precision checkpoints should be easy: Grabbing a special thing, crossing a special line, etc. This, of course requires some map modifications.

 

It's an interesting concept! The features you mention could be fully built into ports, or maybe LiveSplit has a programming API that ports could call, without reinventing the wheel. It seems like tight integration with standardized protocols could be a welcome addition for speedrunners as well as TAS demo writers, etc. PrBoom+ might be a good starting point.

Share this post


Link to post

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
×