Suggestion: Limiting Cycling?

Background Info

@gautam hates cyclers, so much that he asked the community if he can make cycling ban-able


As for why, I think this post summarizes most of it:

Summary

Mostly because if the XP number balloons out of proportion, its difficult to place a number on other ways to reward players with XP. Also with big numbers in the leaderboard it demoralizes newer players to grind for leaderboard.

The whole switch from coins to XP was to make an XP value worth more and “makes it easier for me to add multiple ways of XP gaining.”




Support behind cycling

  • Keep cycling
  • Get rid of cycling
0 voters

Based on the poll by gautam and (probably) this poll, people want cycling.


I asked the forum why they like cycling. I’d recommend reading the topic for unfiltered opinions, but heres a summary:

Summary
  • Its been a part of SB since v1 (according to THIS post).
  • Cycling was already limited by preventing a player account from collecting their coins after death, so it makes no sense to outright ban it now.
  • The playerbase is used to this unintended feature of the game since progress is slow playing the normal way, so cycling somewhat supplements the faster progression and bigger numbers of v1.
  • Its the only realistic and efficient way of grinding for leaderboard positions and gems for skins, even if its boring
  • Longer runs are both painful and not rewarding enough.



Balancing Cycling

Increase XP and Gems gained at higher coin counts

This is my preferred balance since its much easier to accomplish.

The idea with this is to reward players that manage to rack up higher coin counts. This would ideally be some modifier that comes on top of the way XP and Gems are currently calculated as. This solution doesn’t address cycling directly, and players can easily cycle after getting the desired amount of XP that they want. Its more indirect, since the longer the player goes without cycling, the higher the chances that they get killed by players, mobs, bosses, etc.

Implementation:

Full disclaimer, I have limited knowledge in code so it’s possible that implementation requires more than this or I have some error in syntax.

image

I think this is the code that decides Gems and XP, if not then please correct me. I propose to change this function to something like this:

'''
thresholdCoins is used to determine if the player has enough coins to trigger bonus gems. Changing thresholdCoins should have an opposite effect on XP (increasing thresholdCoins will decrease bonus XP,  decreasing thresholdCoins will increase bonus XP)
'''

export function calculateGemsXP(coins: number, kills: number) {
  const thresholdCoins = 100000;
  let xp = Math.floor(coins / 20) + kills;

  if (coins > thresholdCoins) {
    # Adds a logarithmic function that is standardized relative to thresholdCoins times a multiplier based on the coin amount [(coins/50) vs original (coins/20)] to xp. This multiplier can also be changed to change bonus xp.

    const excessCoins = coins - thresholdCoins;
    xp += Math.floor((Math.log10(excessCoins / thresholdCoins + 1)) * (coins / 100));
  }

  return {
    xp,
    gems: Math.floor(xp / 5),
  }
}

Heres the resulting return values for various thresholdCoins values

···

thresholdCoins = 5000

  • 5000 coins: XP: 250, Gems: 50
  • 10000 coins: XP: 560, Gems: 112
  • 100000 coins: XP: 7602, Gems: 1520
  • 250000 coins: XP: 20994, Gems: 4198
  • 500000 coins: XP: 45000, Gems: 9000
  • 1000000 coins: XP: 96020, Gems: 19204
  • 2000000 coins: XP: 204082, Gems: 40816
  • 3000000 coins: XP: 316689, Gems: 63337

thresholdCoins = 10000

  • 5000 coins: XP: 250, Gems: 50
  • 10000 coins: XP: 500, Gems: 100
  • 100000 coins: XP: 7000, Gems: 1400
  • 250000 coins: XP: 19489, Gems: 3897
  • 500000 coins: XP: 41989, Gems: 8397
  • 1000000 coins: XP: 90000, Gems: 18000
  • 2000000 coins: XP: 192041, Gems: 38408
  • 3000000 coins: XP: 298627, Gems: 59725

thresholdCoins = 100000

  • 5000 coins: XP: 250, Gems: 50
  • 10000 coins: XP: 500, Gems: 100
  • 100000 coins: XP: 5000, Gems: 1000
  • 250000 coins: XP: 14489, Gems: 2897
  • 500000 coins: XP: 31989, Gems: 6397
  • 1000000 coins: XP: 70000, Gems: 14000
  • 2000000 coins: XP: 152041, Gems: 30408
  • 3000000 coins: XP: 238627, Gems: 47725

thresholdCoins = 250000

  • 5000 coins: XP: 250, Gems: 50
  • 10000 coins: XP: 500, Gems: 100
  • 100000 coins: XP: 5000, Gems: 1000
  • 250000 coins: XP: 12500, Gems: 2500
  • 500000 coins: XP: 28010, Gems: 5602
  • 1000000 coins: XP: 62041, Gems: 12408
  • 2000000 coins: XP: 136123, Gems: 27224
  • 3000000 coins: XP: 214750, Gems: 42950

thresholdCoins = 500000

  • 5000 coins: XP: 250, Gems: 50
  • 10000 coins: XP: 500, Gems: 100
  • 100000 coins: XP: 5000, Gems: 1000
  • 250000 coins: XP: 12500, Gems: 2500
  • 500000 coins: XP: 25000, Gems: 5000
  • 1000000 coins: XP: 56020, Gems: 11204
  • 2000000 coins: XP: 124082, Gems: 24816
  • 3000000 coins: XP: 196689, Gems: 39337

thresholdCoins = coins (if statement doesn’t trigger)

  • 5000 coins: XP: 250, Gems: 50
  • 10000 coins: XP: 500, Gems: 100
  • 100000 coins: XP: 5000, Gems: 1000
  • 250000 coins: XP: 12500, Gems: 2500
  • 500000 coins: XP: 25000, Gems: 5000
  • 1000000 coins: XP: 50000, Gems: 10000
  • 2000000 coins: XP: 100000, Gems: 20000
  • 3000000 coins: XP: 150000, Gems: 30000

Good Idea to increase XP+Gems at higher coin counts?

  • Yes
  • No
0 voters


Bounties for cyclers

Players can be incentivized to kill cyclers by putting bounties on the heads of people who cycle.

Upsides:

  • This can combat both cyclers and spawnkillers

Downsides:

  • In an empty server with just the cyclers, the cycler would have a 3rd account present to claim the bounty.
  • In a full server, they could have a friend claim it. Players would probably start cycling with 3 people.

Implementation:

Code-wise, I have 0 clue how to do this.

Track the amount of times a player has been killed within a certain time frame. If they are killed more than twice by the same player, then the player that killed them have a bounty placed on their head and become more susceptible to damage for a period of time.

Good Idea to give cyclers bounties?

  • Yes
  • No
0 voters


Increased Mob Agro

Considering the mobs that are able to be agro-ed are currently doing nothing but being map hazards, they can be used to combat cyclers.
Upsides:

  • This can combat both cyclers and spawnkillers
    Implementation:
    Even less clue how this can be implemented, yall can brainstorm this one.

Good Idea for Mobs to agro to cyclers?

  • Yes
  • No
0 voters


Other suggestions from players (none yet)

Will update this if I see any feasible ideas.

Cycling is simply the community finding the most efficient way to get xp removing it will only make the community mad

2 Likes

we luv bicycles

3 Likes

Yeah again ioi why make another topic about this… actually stop!

Like stop ioi its almost spam in my opinion at this point

1 Like

It ain’t spam, only done two topics on it (one for sentiments regarding cycling and this one) and posted in gautams topic about it.

Anyways, yeah I’m done talking about it for the most part.

1 Like

imo if your xp system is so bad and annoying that people have to abuse a flaw in it just to get xp you shouldnt focus on whatever the community is using to actually get xp but rather trying to make your xp system not be annoying asf to use and after its improved then fix and or limit said thing players are abusing thats jus me tho

4 Likes

(@ioi tell me if yapping abt this)

1 Like

it looked like 3 if i recall but ok :man_shrugging:

But bro ioi xp is already so hard to get so why would u try to get rid of the best strategy?

Agreed

Never said to get rid of it, main suggestion was on how to get the player base to “stop” cycling by giving them more XP for getting more coins. Both easy to implement and would work great to get players to play properly.

Bounties could be a fun addition regardless and would spice up a game (i.e. teamers turning against their own team for that bounty loot)

The mobs thing isn’t feasible imo, just a shot in the dark. Would also be fun as an event or something tho.

1 Like

Keep cycling please, it helps people who don’t play a lot (me) get xp

2 Likes

You want to tone it down… which we don’t need rn :sob:
Also mb ioi I just don’t like seeing a lot of random topics that I’ve seen other topics that they are similar to:(

I don’t like cycling since it is boring asf compared to just playing normally. Removing cycling seems like a bad idea but finding a way to play normally and get more xp seems better.

4 Likes

Bounties are gonna be abused somehow dunno how.

Mobs is impossible tho aggro would be fun for an event

2 Likes

I say keep cycling untill they find a way to fix xp system and make it so you can actually earn XP playing normally

1 Like

Yuh

1 Like

i like the idea of getting more xp as you have more coins (maybe a exponential equasion with a limit)

1 Like

Pretty much what I have suggested here.

c : coins (amount of coins you have on death)
C: coin threshold (the coin value at which the bonus XP is awarded)

It’s a logarithmic equation that is added on top of what the base coin to XP conversion is. I tried doing it exponentially but it required way too many variables to achieve something similar (Less variables so less memory needed to compute, also trying to manipulate an exponential with multiple variables for balancing would be annoying)

If there’s a better equation for this I’d love to know.

2 Likes