How could STK be made more speedrunner-friendly ?
5 years ago
France

I'm not a big fan in the gate skip, at least in its 0.9.3 iteration. It just makes the run shorter, but with the proper technique learned, it makes the overall run easier (expert% requires to pull off some track specific-tricks like the mansion skip twice ; and require to pull-off a double-skip in a 4-tracks GP ; both of which are very skill-selecting).

I like more GP skips, as messing up can be catastrophic, but it's still very much in control of the player.

Part of what make a game "speedrunning-friendly" is making the time of a run less luck-based and more skill-dependent. Even with a normal run through all levels, random events (items) often average out enough that the better time is the more skillful-one ; and at worst the better player will get better luck over a few tries. Still, the time difference between "excellent skill" and "decent skill" is not that big. It's shaving off these last percents which is the hardest, and if say in 0.9.4 a SuperTux% run takes 1h30m with extraordinary skill but 1h35m with good skill, we have just too small of a gap, there is no "wow factor".

So what is needed are things which are harder to pull-off, not random, and can make a significant difference.

Keep in mind that we need something which could be accepted into the base game.

I see two ways of doing this :

  1. Make some challenges punishing : doable, but with little margin for error. Realistically, this can only be done for itemless SuperTux challenges.
  2. Create "shortcuts" : while the casual players would complete the challenges and get the unlock normally, managing to do some extra-skillfull action could be rewarded with an extra making the overall completion shorter.

Any good idea of "shortcuts" which the main STK developers may accept ?

Tasmania, Australia

Gate skip makes any% faster, but it also makes any% exist. Extra categories is good. They've removed any% but added supertux% which means 30 extra minutes in total added to 0.9.4 categories. That's bad and good but it's more good than bad.

To make it more speedrunner friendly it needs to be less frustrating in some parts, and more frustrating in other parts. The extra frustration must be something that only affects speedrunners (but in a good way). The lesser frustration must be something that affects everyone positively.

Also, red boost is underpowered, pls buff.

I'm not sure about shortcuts. I might have to install the map editor and figure out what kind of things are possible. I think I need visual help before i can conceptualise an idea for that.

Edited by the author 5 years ago
Fouks likes this
France

Actually, in the current git, any% is different from expert% (and from SuperTux% obviously).

If you finish 3rd of an expert GP, you get a "easy" cup. If you finish 4th of a SuperTux GP, you get an "easy" cup. This allows triple-skips, so an Any% has 4 races less than an expert% (though 8 more than 0.9.3's any%).

When I wrote "shortcuts", I didn't really think about in-track shortcuts, rather a way to unlock things faster.

For the "difficult challenge", maybe if there was one egghunt or two in story mode...

I think that at equal skill difference, the time difference would be greater in egghunt compared to normal races.

Edited by the author 5 years ago
Tasmania, Australia

Oh I forgot about the new GP stuff for any%, I remember you mentioned that in the 0.9.4 thread. That will be cool.

I had the wrong idea about skips, I was thinking about new maps with an extra hard shortcut built-in. I don't remember exactly what I was thinking to be honest, but I think it actually wasn't something that is possible.

I'll have a think about what could be unlocked faster and how.

I actually smile a lot thinking about egg hunt, that could be a really good and fun idea.

Egg hunt should be one of the first unlocked levels, the randomness requires more perseverance in a speedrun. As long as there is no time limit. It should be unlosable, but potentially take a long time. Speedrunners will want to reset and casuals won't care. If it is at the very beginning of a speedrun there is no loss of previous effort, only the requirement for more effort.

I haven't had a look at egg hunt in a long time, I'll go and have a look at it and I should be back with some better information.

Edited by the author 5 years ago
France

What made the FTL race close to the end painful is in great part that it was very random and that some bad luck/minor error could cost you up to 2 minutes.

But the egg hunt challenge would be another story : if there is no time limit, doing some maneuver wrong and losing 3s in the maneuver means just losing these 3s ; and as there is no item/no AI, the random part would be zero, only a player with his skill. So sure, if there is one closer to the end, making an optimal run will be harder, but if there is less reset possibilities, it will reward on average the more consistent (and so skillfull player). As it's possible to train for the egg hunt separately, this wouldn't make training itself uselessly painful.

What's cool with egg hunts too is that there is a bigger routing part. What's the optimal path between the eggs ? That's an interesting question, and there will be some new strategies discovered over time.

Egg hunt could probably be adapted for story mode with some thematically rethought goal (finding some kart-related items or whatever can make sense as a story-mode goal, if you have ideas...)

Switzerland

Are you from the STK team, Alayan?

I saw that the follow the leader was removed in the latest version, this is very nice.

I think that something like the Gate Skip should be present, or at least, it should be in some way optional to have to do all the challenges. For example, in Mario 64, you can beat Bowser without using any exploit with only 70 stars instead of 120. Maybe there should be "main challenges" required to clear in order to beat Nolok, and optional/bonus ones for 100% runs.

An Egg Hunt challenge seems great. Find all the eggs in under a set amount of time or so. This is testing actual skill, and will diversify the challenges.

New in-track shortcuts with some very hard to do would probably be appreciated.

What I would like to have too is being able to use any character for any run. Currently, only the middleweight karts are viable for general speedrunning. There should be an option to change the engine/kart class for each character (although we can hack this fairly easily).

Other minor suggestions,

  • I would like if the yellow boost does not override the red one. Perhaps add a third stage as well like in Mario Kart 8 Deluxe, for large curves like in Volcano Island ;
  • Maybe allow only one Basket Ball as any time like the Blue Shell in Mario Kart (yes, I know, STK is not Mario Kart, but still). I would like to see a warning when one is coming as well, or show it in the map, as sometimes, I do not hear it very well, then surprise BAM! ;
  • Can the AI stop cheating by using the item changer JUST at the moment I am going to hit an item box? ;
  • Add speedrun timers and speedometer as standard options ;
  • Add fire hopping. Lol, just kidding.
Edited by the author 5 years ago
France

No, I'm not from the STK team. Je ne suis qu'un joueur qui a proposé du code et a réussi à en faire passer pas mal.

At the moment, completing the full game doesn't require to find hidden things like some stars in your SM64 example, nor is it very long (as all challenges runs show).

However, if additional challenges (like challenges in reverse) are added, we would probably reach the point where having access to the fort magma challenge without completing everything would be beneficial, certainly.

Also, in the next version, it will be possible to complete a GP challenge while finishing 2nd/3rd (finish 3rd in expert and you'll get the novice cup), so triple-skip will be possible for a standard any%.

Now, using any character is imho not really a speedrun-like thing. The speedrun-like thing is to choose the best possible tool for the job, or here the most efficient kart. However, the next version should ship with a kart characteristics rebalance making light and heavies much more competitive with mediums (in pure TT with top skill, heavies will be best I think ; but in normal races where you can get hit, this may not be the case ; overall I doubt the differences will be significant enough so that the time to change kart model in the middle of a run will be worth it).

It is currently stalled because maintainers are not very happy that I mixed the intertwinned acceleration, friction and parachute in the PR. You can look here if you want to test it : https://github.com/supertuxkart/stk-code/pull/3331

I think a first stage boost for skidding would be overkill, but you have a point about yellow boost not overriding the red one. I'm unsure about the best way to do it, however. Say you do the yellow shortly before the red is due to expire, when the red do expire, you'd still like to have your yellow boost active. This would require changing fundamentally how these boosts are currently coded.

For the basket ball, did you know there was some code which forbade having more than 2 basket balls obtained in, iirc, 25s ? The issue is that basket ball takes extremely long to reach the player, because the speed difference is small, and when one explode the player, the second one catch up quickly (and if you're unlucky, explodes you again). I had an attempt at a fix for this, but it has gone nowhere yet.

Also, I do absolutely agree that not hearing the basket ball arriving is absolutely infuriating. I myself lost significant time in many run attempts due to this issue. I actually opened an issue in STK's bug tracker here : https://github.com/supertuxkart/stk-code/issues/3246 ; you can make it known that you're affected too so it may get more attention.

The AI do not cheat. And it is way too dumb to use the item changers when you're just about to hit an item box (source : I greatly improved the code used by the AI to decide when to use that item, and even now, it isn't smart enough for this). However, obviously, the AI has the strengths of a computer : lightning reflexes for some actions (activate bubble shield against cake, etc) ; which can be sometimes frustrating.

For the speedometer, I expect you mean the one with the numbers ? In a racing simulation game, those numbers can be useful because a)in a straight line, you keep accelerating as long as you can and gain top speed ; b)you have a maximum speed you can take curves at without accident, so a number helps to gain greater precision.

Neither of this is really applicable to STK, and the numbers previously displayed were quite meaningless (no real unit like km/h). The visual speedometer has been significantly improved for accuracy (by myself), but I don't expect the devs to accept the return of the number indicator, as they have explicitly rejected it before.

For the speedrun timer, I have been trying to get it integrated, but I got some resistance. As you can see, there is a working patch for the 0.9.3 version ; I have submitted a significantly improved and expanded it, but the devs are reluctant to accept it, finding it too niche, as you can see in the comments here : https://github.com/supertuxkart/stk-code/pull/3258

Note that the current version of the PR has something broken in the loading between profiles. I haven't tracked down when this regression has been introduced yet. Here too, I suggest communicating directly your interest for this feature, be it through GitHub or through other channels like the IRC. If they see that there are more people than me being interested, there is a higher likelihood of them accepting it.

Btw, trivia : the whole options menu redesign, which required the creation of the vertical tabs widget, was in great part motivated by my desire to move the language selection to its own tab (done in the current git version), so as to remove the "the UI options menu is too cluttered to add new options !" argument against the timer's integration.

Edited by the author 5 years ago
Fouks likes this
Switzerland

Eh bien, tu en sais des choses à propos du code et du fonctionnement interne du jeu. Ils devraient t'inclure dans la team :p. (Wow, you know so much about the source code and the game mechanics, they should add you in their team :p)

I understand that the developers will not want to include features used by like 0,1% of the players and appreciate your initiatives to do many interesting pull requests. I will create a GitHub account to be able to comment there as well, and mod more efficiently. I saw the Psypherium's STK SpeedRun Edition, and like the idea, we could still have our official version (compatible with the vanilla one, of course). I am tempted to create my own STK Fouks Edition as well Lol.

One thing they could do about the timer if they reject it, is to add a field in the achievements, called like "Gnu saved in XX:XX:XX.XXX". We would not have our visible timer, but at least a standard reference that everyone can use to validate the runs.

Speaking about achievements, I think that we need much more of these, as I currently find them just useless. This could be a way to have a cool 100% category: snipe 100 times other karts with bowling balls, finish first without touching an item box in a normal race, etc., there are unlimited possibilities, which can all test various set of skills! We should have like 100 achievements (I think about the Challenges in Super Smash Bros games), not just like 10 currently with most done in normal gameplay.

The "story mode" would need a proper story... I wonder if the team is working on an awesome story, or will just leave that 2 lines script of Nolok kidnapping Gnu and us beating all the races to save him. Without a proper story, it is hard to integrate new types of challenges that make sense after all.

Sure choosing the best setup is part of a speedrunner job... I am just tired to see everyone using Morton/Bowser/Wario in Mario Kart runs and wish that this were different in STK. In the past, I even allowed people to mod the kart class here, as everyone can do it without altering anything else, but someone removed this rule at some point.

Edited by the author 5 years ago
France

We're maybe 0,1% of the players, but we have an outsized importance in discovering bugs, tricks, etc. And we have a higher playtime. So overall, I'm adamant that we matter.

Also, exposing that timer in the UI would make more people try and do speedruns of STK, and this would be good.

The achievements field is not a great solution, in that it would still need to have an internal timer running to get the data, and this timer management is the major part of the code compared to displaying the current value. In particular, such a field would have to contain valid data when closing the game and reopening it, or switching profiles ; which is the most annoying part to manage.

I agree with you that current achievements are mostly worthless. In the latest git, you can even complete the 5-laps one by simply doing the Oliver Math's challenge (it has been bumped to 5 laps).

The issue is that, currently, achievements are hardcoded. This is not a great solution, and especially not a scalable solution (for 100 achievements, you'll have to add achievement-related code in many place, cluttering it). There have been talks of making achievements scriptable, but as this is low priority, no one has bothered to do so yet.

I look forward to your contributions, maybe you could help fix or improve some issues.

Alistair_Findlay likes this
Switzerland

A few other things that came to my mind:

  • Not penalize if we start only a few milliseconds too early... Allow some margin, like -0,1 s and just delay to have the kart start like it would if we pushed the button later... In these cases, I always feel that I really hit at the same time than the "Go!", and getting the penalty time here is a bit annoying...
  • Nerf all attack items: I realize that the "pwned" animation is just ridiculously long... It should always do like what it does when you are "partially hit", with a much shorter animation.
  • Get rid of the "magnetic physics"... If I approach a wall or a kart, I should never be attracted to it like we were magnets.
Edited by the author 5 years ago
Alistair_Findlay likes this
Tasmania, Australia

"I always feel that I really hit at the same time than the "Go!"

I am almost certain this is a bug. I think maybe the sound or the lights don't exactly match the start timer. Or it might be coded to penalise if done in the same tick or frame? It should be the next tick after START, not the same tick.

Fouks likes this
Game stats
Followers
77
Runs
941
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