Slay the Spire
Unreal Ed Mar 26, 2018 @ 3:37pm
Custom mode
Talking about the Daily Climb with Ascension, I realized that every seed of a combination of mods is kind of like its own sort of whole game. This gave me the idea for a Custom Mode.

In Custom mode, you could choose your own sets of mods. The idea is creating your own fun with a combo of mods that seems fun! And ideally, you would even have a leaderboard for each seed, if that's possible
< >
Showing 1-14 of 14 comments
Sinsling Mar 26, 2018 @ 3:41pm 
I could see an issue with having to have a server hold and track every possible seed combination.

Outside of that, customs mode is a much awaited announcement.
Last edited by Sinsling; Mar 26, 2018 @ 3:42pm
Shovel Priest Mar 26, 2018 @ 3:55pm 
What issue would a server have with that? A seed is just a random number, which some code somewhere in the game turns into the daily mods, the floor layout, the card and relic drops, etc. This is distinct from having some sort of mode where you can pick from a list of the daily modifiers that already exist and apply them to a new run.
Sinsling Mar 26, 2018 @ 4:04pm 
Originally posted by Shovel Priest:
What issue would a server have with that? A seed is just a random number, which some code somewhere in the game turns into the daily mods, the floor layout, the card and relic drops, etc. This is distinct from having some sort of mode where you can pick from a list of the daily modifiers that already exist and apply them to a new run.


Originally posted by Unreal Ed:
Talking about the Daily Climb with Ascension, I realized that every seed of a combination of mods is kind of like its own sort of whole game. This gave me the idea for a Custom Mode.

In Custom mode, you could choose your own sets of mods. The idea is creating your own fun with a combo of mods that seems fun! And ideally, you would even have a leaderboard for each seed, if that's possible
I'm pretty sure he was asking for a mode where you pick modifiers, then get a seed that has a leader board attached to it.

The server would have to hold every possible seed for a given set of mods or would eventually hit that point anyways if players could choose to upload their modifier runs. This could be made easier on the server by simply resetting daily like the daily boards.
Unreal Ed Mar 26, 2018 @ 5:57pm 
I think if you reset the leaderboards every day, it kind of defeats the point. It's possible that it would be too much for servers, having to store tons of names and scores for every seed, but even without leaderboards, i think there's value in a Custom Mode.

I also don't think there's (currently) that much possible permutations? What are the rules for what we can get in Slay, and how many mods are there? It's a simple thing to calculate
Sinsling Mar 26, 2018 @ 6:14pm 
Originally posted by Unreal Ed:
I think if you reset the leaderboards every day, it kind of defeats the point. It's possible that it would be too much for servers, having to store tons of names and scores for every seed, but even without leaderboards, i think there's value in a Custom Mode.

I also don't think there's (currently) that much possible permutations? What are the rules for what we can get in Slay, and how many mods are there? It's a simple thing to calculate
Well, you have to looks at it this way:

Let's say there are 9 mods.

You have to pick 3, no more or less.

I think thats is 27 different modifier combinations?

Now we get to the fun part: seed generation.

Let's take act 1 just to start small. The floor has 13 encounters or something like that? We know the first 1 is always a basic combat, number 6 or 7 is a chest, the second to last is a camp fire, and the last one is a boss. That would make 9 rooms that have to be randomized into 3 separate categories, then randomized into those room's separate pools. Then repeat that for 5 different criss-crossing branches and store the seed information for each unique one as well as the leaderboard of people who have run that particular seed. Oh, and seeds also contain relic drop data, merchant shop content, card pools... You also need unique seeds for any run that has anything different in those cases. And you have to do this for ever combination of mutators. Sooo... I'm good at math but not that good. Don't even ask me to give an estimate.

In theory it is easy for a single modern computer or server to hold all that information. The real problem is there is also going to be thousands or potentially millions to billions of people read/writing to that server. If you need to maintainence or edit or find any data in the resulting trillion+ list you are kind of boned.
Last edited by Sinsling; Mar 26, 2018 @ 6:16pm
Unreal Ed Mar 26, 2018 @ 6:31pm 
Fair, but if they've got 1 billion ppl playing the game, server costs will NOT be a problem for them.

You actually do bring up a good point about what goes into a seed and how it's not just the mods. I guess I would want the Custom Mode to only let us choose (and have a leaderboard for) a permutation of mods. In that sense, it would be similar to the normal mode and in contrast to the Daily Climb mode.


Also, those permutations aren't right. First off, there's the good mod, and then the 2 bad mods. Let's say there's 4 good mods and 9 bad mods. First off, we'd have to know if we can get any 2 combinations of bad mods or if certain mods are restricted to certain "slots". Let's assume that's not the case, then the permutations are:

4 good mods x 9 bad mods x 8 bad mods (that don't include the first) = 288

It's definitely not a small number, but not unfeasible. But the difficulty on the server end would not be the weight of the seeds themselves but of all the names and scores of the players. A seed can contain a lot of information, but even with alphanumeric, a string gets to an insane amount of possibilities with a few characters. 8 characters = 36^8 = 2.8 trillion possibilities. And a server can dish out 8 characters strings without much problem. But usernames can have special characters and tons of characters to it, so those are much much heavier.
Sinsling Mar 26, 2018 @ 7:11pm 
I don't think it is alpha numeric. Numeric only, so 0-9, but the seed is longer. I'd have to count the seed lengths, but I think it is in a multiple of 3(one seed segment per act).

Turns out they are 19 long numericals.
Last edited by Sinsling; Mar 26, 2018 @ 8:26pm
Shovel Priest Mar 27, 2018 @ 3:29pm 
That's not how random number generators work.

If you wanted to get exactly what OP asked for, you could do something like this:

Player A creates a combination of modifiers, generates a new random seed, and this seed gets sent to the server (and Player A could do things like give it a name and description to entice others to play it). The server keeps the seeds in a list (with their name and description), and other players can look at this list and choose a run from there and do it. Then they can submit their score at the end (with their Steam name for credit).

The idea of a seed to a random number generator is that this single 32- or 64-bit integer initializes the random number generator such that no matter what computer it's run on, no matter when it's run, you get the same results every time you request the next random number.

So Player A commits less than a kilobyte of information to a server to hold enough information for every player to be able to play the same run, and every player who plays it commits less than a kilobyte of information to save their high score to a list.

It's exactly how dailies work today.
Sinsling Mar 27, 2018 @ 3:52pm 
Originally posted by Shovel Priest:
That's not how random number generators work.

If you wanted to get exactly what OP asked for, you could do something like this:

Player A creates a combination of modifiers, generates a new random seed, and this seed gets sent to the server (and Player A could do things like give it a name and description to entice others to play it). The server keeps the seeds in a list (with their name and description), and other players can look at this list and choose a run from there and do it. Then they can submit their score at the end (with their Steam name for credit).

The idea of a seed to a random number generator is that this single 32- or 64-bit integer initializes the random number generator such that no matter what computer it's run on, no matter when it's run, you get the same results every time you request the next random number.

So Player A commits less than a kilobyte of information to a server to hold enough information for every player to be able to play the same run, and every player who plays it commits less than a kilobyte of information to save their high score to a list.

It's exactly how dailies work today.
That would make more problems. Player b, c, d all happen to get the same seed as player a but give it a different name/description. There are now 4 duplicates of the same seed up being tracked independently.

It would actually be easier on the server to already hold all those seed variants, but it still needs to handle an incoming load of people posting scores on specific seeds. Yes, they already have a working system for the dailies, but the dailies get locked out and the cache either cleared or moved to separate storage (or it might, in the future). Leaving it up indefinitely (or even for a week) can result in a much larger volume.

Also, while a few to 100 bytes doesn't sound like much, they start adding up when you have a few thousand people posting scores across multiple seeds.
Unreal Ed Mar 27, 2018 @ 4:13pm 
It's still not that much data. Let's suppose it's 1kb per score and per seed (seems up to 10 times less than that according to Shovel Priest, but let's pretend). Even if you had 1000 different seeds (needs lots of mods with only 3 slots), you could have 1 million scores for every one of those seeds, and it would still only take 1 TB on a server, which is nothing.
Sinsling Mar 27, 2018 @ 5:03pm 
I'm looking at it more of as an indie developer that doesn't just have a budget to spend or time to set up infrastructure.

They've definitely made the money to afford a server rack that can handle something like this if they want, assuming they want to take the time to set it up.

Also keep in mind they need to be able to swap out data racks for routine maintenance (defrag, partition check, ext.), so you either have to run a parallel backup storage or have free space available to move the data to(unless they opt to just pull them down while running maintenance).
FIGBird Mar 30, 2018 @ 7:44pm 
I think that adding a custom mode to the game would add a ton of extra replay-ability. This also effectively adds an easy mode for those asking for it as well as additional challenge modes simply by allowing us to play around with the, already existing, modifiers used in daily climbs.

One of the best things a game can offer is options. The more a player can tailor their experience the wider audience you can reach as well as you give the players a taste of agency to enjoy the game on a whole extra level.

On top of this you gain a relatively easy way to create additional experiences by simply adding new modifiers that both increase the pool mods for daily climbs and adding new ways to experiment.
Eevee Apr 6, 2018 @ 10:32am 
At the very least, being able to hit a button to randomly generate a daily-climb esque run would be amazing.

Especially since pounding your face into Ascension 10+ gets a bit tiring, and waiting a whole day for a fun daily climb really reduced how much I play the game.
Unreal Ed Apr 6, 2018 @ 12:46pm 
Since there's the new "enter seed" button now, I want to specify that i think that each custom mode SHOULD have different seeds, just the same sets of mods for every player.
< >
Showing 1-14 of 14 comments
Per page: 1530 50

Date Posted: Mar 26, 2018 @ 3:37pm
Posts: 14