Resource icon

[Script] Team SRB2Kart Racing, a mod based on Team Sonic Racing! (KL_tsrb2kr-v2.pk3) 2.0

I love this mod, it's easily one of my favourite mods released thus far. For this reason, I want to use my feedback to make it even better.

The first and foremost thing that comes to mind is the one major strike against the mod, or rather, how it affects the community: you're completely reliant on your teammates to have default-unbound customs enabled. The end result is a lot of gentle pushing eventually leading to admonishing or outright toxicity towards players who refuse to enable them, thus putting their team at a significant disadvantage (and is pretty much an albatross around the neck in two-player teams). I've heard Tyron might be making a mod that requires a player to input Custom 3 to join a server, which would certainly alleviate the main issue, but doesn't help if you have a player who still doesn't accept/send items or is AFK.

Thus, I would suggest the ability to hold the item key to either force-feed an item to the player currently the furthest back (it's hard to argue against getting a free souped-up item, after all) or give it to 'Charity' even if you're not by yourself. This could also be used by new players to request an item when their item field is empty without needing customs set.

On the topic of avoiding customs being a necessity, ult could be activated by double-double-tapping item and drift (input both at the same time, do that twice). It lacks finesse, but it would rarely be activated by accident yet is easy to perform, at least on a straightway.

----

Next up is the UI. While others have said it's too busy, and you've said you don't intend to alter it, I would be remiss to ignore it since it's easily the first thing that's going to strike people, and it does take up a rather extreme portion of the screen. I have created a mock-up that I believe fits all of the important information in while maintaining readability at the same time as being quicker to reference while paying attention to the track.

unknown.png

unknown.png


The ult bar is instead moved below the kart, similar to the drift gauge UI mod. This would fill and evaporate as the current character portraits do with charging and using ult. I've noticed my teammates regularly missing they have ult with the current implementation, so having it closer to where they're actually looking might help them notice when it's available.

Your teammates icons would instead use the smaller scoreboard thumbnails below this, rather than being sequestered in the corners with full portraits that are difficult to glance at in the midst of a heated race. Beside each one is their current placement. Relevant text for bonuses (slingshot, transfer ect.) would appear beside their placement numbers.

As in the current system, whether a character has an item would appear in the corner of their portrait. However, to remove the necessity of the large bar appearing above your kart, the game instead shows an arrow: The arrow pointing up at the item field (as is the case in the top left) means the player has requested an item (incoming). The arrow pointing down means they're offering an item (outgoing). The time remaining on an item request or offer is represented by the arrow's colour draining from top to bottom.

The item cooldown would be shown as its current bar, only moved down into the space the arrow would otherwise occupy (since the two cannot occupy the same space at the same time by their opposing functions).

Since all of your ult bars charge at the same time, showing each character's ult progress individually is not necessary. Instead, it only needs to show when their ult is available, and how long they have left in it. Here I used the trademark R to show their ult is still available. If activated, the character portrait would be covered by the draining overlay (replacing the R), as is currently used in the game. Since knowing how long your teammates have left in their ult isn't of major importance most of the time, it being smaller is a fair tradeoff for all the other benefits.

Thus, all critical elements of the current UI system are available, iconography that's intuitive replaces text that was obtrusive, and everything is compressed into a single space where they were instead on opposite sides of the screen.

And now I'm sure someone is going to tell me why this is impossible due to the limits of the engine, but a man can dream, can't he?

I hope, at the very least, that this makes sense and could possibly work, possible engine limitations aside.


Edit: Oh, and the ending screen. There's a lot of empty space being used by the score bars. I feel it would be acceptable to squeeze them further to the right, thus making room for race times to be displayed beside the characters.

As a Nice-to-Have, the characters with Most Takedowns, Most Transfers, Most Slingshots ect. being displayed would also be nifty. Perhaps displayed as badges beside their names so they don't take up much space? Something like a 'helping hand' for Skimboosts, Amy's hammer for takedowns, for example.
 
Last edited:

Latius

Hybrid Kart Mapper/Porter
Next up is the UI. While others have said it's too busy, and you've said you don't intend to alter it, I would be remiss to ignore it since it's easily the first thing that's going to strike people, and it does take up a rather extreme portion of the screen. I have created a mock-up that I believe fits all of the important information in while maintaining readability at the same time as being quicker to reference while paying attention to the track.

unknown.png

unknown.png


The ult bar is instead moved below the kart, similar to the drift gauge UI mod. This would fill and evaporate as the current character portraits do with charging and using ult. I've noticed my teammates regularly missing they have ult with the current implementation, so having it closer to where they're actually looking might help them notice when it's available.

Your teammates icons would instead use the smaller scoreboard thumbnails below this, rather than being sequestered in the corners with full portraits that are difficult to glance at in the midst of a heated race. Beside each one is their current placement. Relevant text for bonuses (slingshot, transfer ect.) would appear beside their placement numbers.

As in the current system, whether a character has an item would appear in the corner of their portrait. However, to remove the necessity of the large bar appearing above your kart, the game instead shows an arrow: The arrow pointing up at the item field (as is the case in the top left) means the player has requested an item (incoming). The arrow pointing down means they're offering an item (outgoing). The time remaining on an item request or offer is represented by the arrow's colour draining from top to bottom.

The item cooldown would be shown as its current bar, only moved down into the space the arrow would otherwise occupy (since the two cannot occupy the same space at the same time by their opposing functions).

Since all of your ult bars charge at the same time, showing each character's ult progress individually is not necessary. Instead, it only needs to show when their ult is available, and how long they have left in it. Here I used the trademark R to show their ult is still available. If activated, the character portrait would be covered by the draining overlay (replacing the R), as is currently used in the game. Since knowing how long your teammates have left in their ult isn't of major importance most of the time, it being smaller is a fair tradeoff for all the other benefits.

Thus, all critical elements of the current UI system are available, iconography that's intuitive replaces text that was obtrusive, and everything is compressed into a single space where they were instead on opposite sides of the screen.

And now I'm sure someone is going to tell me why this is impossible due to the limits of the engine, but a man can dream, can't he?

I hope, at the very least, that this makes sense and could possibly work, possible engine limitations aside.

You know, I was intending to do something similar back during the early days when I too planned to make a TSR mod, although it looked more like this:
kart0093.png
At the time, I wasn't thinking about having text for item transfers and the like, instead using the medal icons to indicate who wants or is offering an item. This was a long time ago, though, and was dropped in favour for the HUD style which is currently used now.
 

Attachments

  • kart0086.gif
    kart0086.gif
    3.7 MB · Views: 163
Ah, that'sa pretty neat and tidy UI as well.


Oh, another thing I forgot, it would probably be a good idea to tell people to lower their UI opacity, makes it much easier to see ult progression as-is and lets them regain some track awareness as well.
 

TeriosSonic

also known as TeriosSonic
If Lightsideluc's UI is taken into account I'd say to show the ult progression on the same R that shows if they have the ult or not, so it's more visible, as putting it on the character portrait would still have the same opacity problems as the actual ult UI.
 

Hallan

Member
Bit of a minor gripe/nitpick, but it would be nice if the mod assigned three players to a 1v1v1 match instead of the current 2v1 setup. Until a fourth player joins and prevents a one-man team from naturally occurring, it's a bit lopsided in favor of the duo as the single player needs to finish in 1st to win, as well as needing to give away their items (or get VERY lucky with item hits) to generate their ultimate.
 

Videogamer232

the c h i l d
I need some help setting up a custom Team Ultimate theme.
I'm trying to set up a custom Ultimate theme for Jevil from Deltarune, But whenever he goes ultimate, it says "Music Lump JEVULT Not Found!" And below it "Music Lump JEVULT could not be loaded!"
I,ve already inserted the music into the mod (Not sure if im doing it correctly though since im going through a similar issue with a map im making on non-kart SRB2) So i'd appreciate it if someone could help me.
u5tt94

Edit: Nevermind. I'm a complete fool. I always thought i had to put in the O_ prefix when specifying songs. I also realised that the Ultimate themes have to be in the files of the character using it.
 
Last edited:

Togen

Member
Couple of bugs: pressing Custom 3 during free play (when you're the only person on a dedicated server) gives the client ultimate charge, but the server is not informed of this, and using this ultimate charge causes consistent synch failures.

Furthermore, even in cases where it does work (you're playing on a listen server), pressing custom 3 to gain charge and then pressing custom 2 to ult while "dying" from going out of bounds will put you in a weird state where you have 0 ult and pressing C3 will not give you more. This can be resolved by giving items to charity and actually building up an ult, however.
 
Last edited:

Snu

YEAAHHHHHHHHH
Hey, it's been awhile!
Initially, this started as a quick v1.1 update to patch some issues but feature creep ended up delaying this further and further back.
Although, I've finally finished up all the changes I had planned for this, so...

TSRB2KR has (finally) been updated to v2!

This is a big feature update containing lots of changes and additions, both major and minor.

The main highlights of this update includes:
  • A brand new tourney mode! Lots of people have approached me asking for something along the lines of this, and I was pretty partial to something like this too so I was more than happy to work on this!
    • This can be activated by an admin using the command tsr_tourneymode, afterwards players can join whatever team they want. This is great for setting up specific games! You can even change your team name and colour using tsr_tourneyname and tsr_tourneycolor respectively.
  • Some rebalancing and changes to game mechanics have been made:
    • Charity has been completely reworked. Instead of a fixed general 1/3 increase to the ultimate gauge, the amount you gain is now relative to your current position.
    • Timing ultimates is a lot more forgiving, timing wise.
    • Timing an ultimate now properly increases speed, duration is tied to timing an ultimate too now.
    • Rival takedowns now give more ultimate gauge, they'll have a bigger impact on the game now!
    • Level 1 slingshots give a little less of a boost now.
    • Skimboost detection is a lot more lenient now.
  • Some HUD changes, it's generally the same but there's been some changes made for easier identification.
  • Lots of bugfixes, most notably SOFTLOCKS, they should be fixed for good. (Hopefully (Probably (I really hope so)))
  • The code has been reorganised completely, most of the code is generally the same but this is a change for the better of my sanity.
  • I/O support, no longer will you lagspike if you have no tsrb2kr.cfg. (It'll even create one for you if you don't have one.)

As with all my mods, a full changelog is available in the main post. (Be warned, it's MASSIVE)
 
Last edited:

Gaudy

Member
Hi Snu, Im really interested in ur work, but has this a toggle? could be really usseful, specially with Gametype Helper.
 

Latius

Hybrid Kart Mapper/Porter
Snu, I think we found a bug in the code. I don't know why it wasn't picked up, but somehow, there was an error being thrown:

Code:
WARNING: ..._tsrb2kr-v2.pk3|Lua/Framework/Gameplay/ultimates.lua:49: table index is nil

I had a look at the code, and it was like this:

Code:
	for p in players.iterate
		if (p.tsr.inputs[BT_CUSTOM3])
			if (p.tsr.teamultimate)
				p.tsr.teamultimate = 1000
			else
				server.tsr_server.ultimates[p.tsr.team] = 1000
			end
		end
	end

I think you might need to check if p.tsr.team == nil, and then skip them if that's the case.

Edit: Maybe also check to see if they're a spectator as well, just in case.
 
Last edited:

Kuenaimaku

Member
Not sure how, but I'm running into an issue when using this mod with HOSTMODv14-2.

When tourneymode is enabled and the starting countdown for the resulting race ends, every racer is forced into spectator mode, and due to the rules of tourney races, no one can rejoin. If I remove hostmod, the spectate issue doesn't occur and I can finish an entire race as expected.

recorded a video of it happening - streamable link

I might be using tournament mode incorrectly - if so, let me know.
 
This sounds dumb but, can someone show me how to install it, like from a picture? I'm not used to these kind of files, and I'd appreciate it if I got an answer. Thanks in advanced.
 

Who is viewing this thread (Total: 1, Members: 0, Guests: 1)

Top