Best Drop Rate Practice?

Discussion and feedback on Construct 2

Post » Sat Nov 26, 2016 1:34 am

It is still part of the seed question.
The more digits in the seeded number the less noticeable the pattern will be.

If I can select a specific placement in the number than I can randomize anything in the game off of one seeded number.


I want to compare values to 275268
*****8 and *****268
both would be true so it would trigger an event.
* is wildcard.

How do I do that?

It is the same question as https://www.scirra.com/forum/wildcards-in-strings_t58257

I am unable to open the cap file and not fully understanding the explained solution in the post.
I even change the file type in hope it was a typo, but it didn't open.
B
65
S
37
G
13
Posts: 240
Reputation: 12,703

Post » Sat Nov 26, 2016 3:08 am

Gashapon, which can simulate a box with some items like -

ItemA will be put into a box 10 times.
ItemB will be put into a box 20 times.
ItemC will be put into a box 1 time.
ItemD will be put into a box15 times.

then pick an item randomly.
B
108
S
26
G
272
Posts: 4,471
Reputation: 152,277

Post » Sat Nov 26, 2016 5:29 am

Ive always placed items into groups. Having a very organized item list is important. That means many overlapping lists as well. That means monster specific groups. Location specific groups. player level specific groups. The possibilities are limitless.

Lets pretend I have 6 items
-tooth
-bone
-jelly
-magic essence
-beginner weapon
-gold.

I could break that up into 3 groups

group one
-tooth
-bone
-gold

group two
-jelly
-magic essence
-gold

group three
-gold
-beginner weapon

lets say I have two enemies
-kobold
-slime

kobold can pick from group one and group three
slime can pick from group two and group three.

Each group gets its own drop %

lets say there is a chest.
the chest can contain loot from groups one two and three

I would decide probabilities for each group based on chest location. Those groups already have the item chance within the group pre-determined.

I even create groups of groups.
B
28
S
8
G
1
Posts: 226
Reputation: 2,865

Post » Sat Nov 26, 2016 2:35 pm

Gashapon seems useful but I need to control the outcome for this one.

The group thing, I think that is called a dice roll.
I am actually using it and seed due to gameglaux

I thought I had it accurate enough before all of this. I ran some simulations and an item that was suppose to drop .08% was given 0% - 6% of the time in 1 of the simulations. I couldn't have that for some items.

I now have a dice roll to select a group and in each group I have probabilities for each item in that group, very similar to what gameglaux and TylerMon suggested.

I have a seed that is set to pick a seemingly random number between 1-100 and not repeat an obvious pattern or the same number until item 101 is looted. Even after item 101 is looted the pattern shouldn't be noticeable because the subgroup will seemingly have randomness to it.

Using this I can be sure that every item group is selected properly.
A 1% chance to get an item from the legendary group will always be 1 out of 100, no matter what.

If I need to increase the drop rate of an item I can be sure that it is given out as intended, while still maintaining a seemingly random aspect.


8-) This gets confusing 8-)

What I put in the legendary group will be 100% of the 1% of the group's availability.
If I pollute the legendary group with 90% potions and actually 10% legendary items. Then getting a legendary item is 10% of 1% or 0.1%. ;)

Using a formula for subgroups then I can control what 0.1% means. :o

By having an uncontrolled random it will translate to where 0.1% means every time you get a chance to get an item from the legendary group you have an actual 0.1% chance to get it. Meaning you will get 0-1 legendary item(s) in 100 loots. I would do this by having a random or unrelated controlled seed for subgroups.

By doing a controlled random. It will select all the numbers 1 by 1 seemingly random without repeats until all values are used. This means opening 10,000(100x100) will give you 1 of every available item, this means 100 legendary items. This is done by checking the main seed number. If the same main seed is picked twice then it means the main seed ran 100 times. I can then change a variable for the subgroup seed. Using the main seed and the same math I can calculate that every value in the subgroup is selected the same way as the main seed. This means 0-100 will be selected in each subgroup without repeats until the 101st item from that group is looted. Meaning no subgroup seed value will be repeated until 10,001 items have been looted. When the 10,001 item has been looted then the whole pattern starts over.... :shock:




What I was trying to do before was trying to compare a placement in a variable and set a new variable to it.
I don't think it is easily possible.

Example:

A random number would be 435
I was wanting to be able to get:
4, 3 and 5 from it and set it to variables in order to randomize other things.

I was hoping for a wildcard type thing but I couldn't find anything.
I though about doing math. It would be a lot of extra unneeded calculations and I'm not sure how to do it.
The combination of dice roll and seed seems to be best. :ugeek:

Thanks guys.
B
65
S
37
G
13
Posts: 240
Reputation: 12,703

Previous

Return to Construct 2 General

Who is online

Users browsing this forum: No registered users and 32 guests