Built-in timer mod for Story Mode speedruns
Deleted
6 years ago
Antarctica

Is this based on in-game time or real time?

Antarctica

Well then in my view that defeats the point of it.

Ontario, Canada

I'm very glad you went out of your way to figure out how to make this work. I still like my timer, however, if that's still allowed to be a thing. I like having the splits tell me where I should be going next.

Edited by the author 6 years ago
Antarctica

The difference is for story mode runs though - does it count delay inbewteen tracks loading?

France

I'm going through the code. It's great. But the way the timer works by counting load time defeats the purpose.

Edited by the author 6 years ago
France

I updated the files for the latest STK dev version, and got the mod to work.

Now, it needs to be improved. The goal is to get it merged in the base game to reduce speedrun hassle for 0.9.4 and future versions.

1)It needs to look better. It's poorly placed and fuzzy. 2)It places its functions in the main loop file. I don't think this will be appreciated by the STK dev. 3)It needs to be enabled with an option (similar to the display FPS option). Otherwise, it won't be accepted. 4)It needs to not take into account loading times. 5)There may be other moments where the timer should not run : e.g. should it run during the initial cutscene ? This is related to the RTA-vs-IGT question. I think that not counting events is an issue if it creates situation when you can win IGT time by increasing RTA time.. E.g. ; if we counted the GP official time rather than the play time, spending two minutes to manipulate the issue of a race before skipping would be IGT-optimal but very bad for RTA. This is not good for the spirit of a speedrun imo. But I'm not so sure about it for things like cutscenes.

If I manage to do it, I'd probably backport the changes to make it skip load times for 0.9.3. I firmly believe that RTA without loading times (which is more or less IGT) is a much better measure of run quality than pure RTA.

Edited by the author 6 years ago
France

The position of the timer is fixed. This plays badly with changing resolutions. Lots of things to change.

France

I have successfully moved the speedrun timer in new dedicated code files. The STK devs will probably find this much better than the hacky solution with the main loop.

I have also changed the look. The counter use the high res digit fonts used by the race timer ; making it look much nicer ; and I have moved it around to sit just to the left of the usual race time.

So 1 & 2 are done.

The timer's position is also relative now - no more issue when the game's resolution is changed.

Edited by the author 6 years ago
France

The config option in the UI is done.

This let the question of which times should be counted. I will disable it for loading times, but input is appreciated : are there other moments were it should/could be disabled ?

France

Done : a)Fixed persistent display issue across resolutions b)Made the timer display during loading c)Made the timer pause during loading (it may count some milliseconds of loading but that's really small)

Currently, the timer always say "Run not started." even when it is impossible for a run to be started. I'll change it.

France

Done : reset the timer if changing the player ; display a different message if the current player can't do a valid run

EDIT : Video demonstration :

(The issue of the message not saying that you can do a run with the new profile has been fixed since then)

Edited by the author 6 years ago
France

The patch submitted in resources still has some issues : 1)The loading times after the run end are deduced. Fixed locally. 2)If starting two valid runs in the same session, the second one won't start at zero - the loading times from the previous run are deduced. Fixed locally. 3)Rarely, the timer don't start : it switches to numbers on story mode start, but its value remains at exactly zero. I don't know why it happens.

None of these issues is fatal (for 1, there is a moment where the correct time is displayed ; for 2 it is obvious on video and can't be hidden, for 3 you just need to retry) but it may be better to wait still before trying a full-game run.

France

Updated the patch to have the aforementionned fixes.

Should be good enough for future speedrunning of the 0.9.3

I'd probably try to do things even better for the timer for 0.9.4 ; but as the patch here will be only used by speedrunners who know what they're doing, there's no point in backporting those future changes.

Alistair_Findlay likes this
Tasmania, Australia

Uploaded precompiled binaries to github.

https://github.com/psypherium/SpeedrunnerSuperTuxKart/releases/tag/0.9.3-timer

  • Source code is latest git code + timer
  • tar.gz is precompiled from 0.9.3 frozen code + timer
Edited by the author 6 years ago
Fouks and Alayan like this
Game stats
Followers
77
Runs
942
Players
62
Latest threads
Posted 3 months ago
108 replies
Posted 5 months ago
2 replies
Posted 1 year ago
6 replies
Posted 2 years ago
0 replies
Posted 2 years ago
2 replies