Loading...

Top
PFQ Banner

This is PokéFarm Q, a free online Pokémon collectables game.

Already a user? New to PFQ?

[POLL] Shelter + Black Flute adjustment proposal

Forum Index > Core > Announcements > News Archive >

Pages: 123··· 131415

POLL: Do you approve of the proposal, despite its drawback?

  •  33%
  •  67%

Total votes: 931

This poll is now closed.


Niet [Adam]'s AvatarNiet [Adam]
Niet [Adam]'s Avatar
I am considering feedback with regard to the Shelter, the Black Flute, and Shiny Hunting. As you may know, the Shelter's Black Flute has a semi-hidden mechanic whereby there is a gradually increasing chance of forcing an Egg of your Shiny Hunt chain to appear, up to 50% of the time with a long enough chain. The way this is implemented is by asking the database for "an egg of this species", without any stipulation as to which one in particular. The database uses its index to find one very quickly, and returns it. The downside is that this egg will always be the same one every time, because there is no randomness to it. It will always return the exact same egg until it is either adopted, or it reaches the timeout when it gets auto-hatched by the Shelter team. Broadly speaking this isn't an issue. It's certainly not an issue for the "Shiny Hunt" part of the mechanic. It's behaving exactly as advertised, returning an egg of your hunt. The issues, however, are that many hunters don't just want an egg, they specifically want their egg. This can be for a few reasons, but mostly as a workaround to needing Daycare Passes. And I must stress that this is a workaround, not an intended feature. The ability to bypass the Daycare's daily limit and the cost of Daycare Passes is not intended gameplay, but it's a consequence of the system I have built and I'm certainly not about to "punish" players for my bad designs! Anyway, the point is, the current system of just grabbing the first egg it can find is not good enough for the playstyle that more avid hunters have adopted. While I won't be making it so easy as to invalidate the Daycare's limits outright, I can at least make things a little less frustrating. So let's get the obvious question out of the way: why can I not just add "random" to the database query? This does require a slightly technical answer, but the short version is that to get the first matching entry is really fast, but to get a random one requires first finding every matching entry, and then shuffling them, before returning the first result in the newly shuffled order. Bear in mind that the Shelter currently houses about 750,000 Eggs and Pokémon. And there are times, especially around Reset when everyone's passes are refreshed, that several hundred users are hammering the Shelter for new eggs. This means that any slowdown at all in the database query is massively multiplied, and propagates lag to every other aspect of the site that uses the database - which is all of it. I've actually been through similar issues before, with the Shelter as a whole. Initially it really did just "order by random, limit 30" to give you a page of eggs/Pokémon, but over time the volume of contents and number of requests became too large for the system to keep up. So I integrated some "clever maths". If we assume there's 750,000 things in the Shelter, then the first egg has a 30/750,000 chance of appearing in the page. If it does, the second has a 29/749,999 chance of appearing (and if it doesn't then it's the full 30/749,999). And so on, the numbers gradually decreasing until either 30 things had been chosen (in which case all remaining stuff had a 0/X chance of appearing) or the number of things left to check was equal to the number of things still needed (giving them all an X/X chance, or 100%, of appearing). This worked great - if you know about big-O notation, it turned the O(n log n) operation of shuffling the list into an O(n) operation of just running through the odds. However even that became a problem over time. Too many things in the shelter, too many users requesting stuff from it! To resolve that, I introduced the Partitioning system. Internally - and completely invisibly to the players - there are actually multiple "boxes" of Shelter. Each one can fit up to 10,000 things inside it. Currently there are 75 such boxes. Each time you reload the Shelter, whether normally or with a Flute, the system first picks a random "box" to use, and then selects 30 random things from that box. The "boxes" are rebalanced and reshuffled every time the Shelter updates, that is every 15 minutes, so the only way this can really go wrong is if somehow the userbase managed to adopt all 10,000 things out of a partition within 15 minutes - but even then all that would happen is that sometimes the Shelter appears empty. Okay, that was a lot of setup. On to the proposal! I want to add the partitioning logic to the Shiny Hunt bonus egg. This means that instead of just picking the first egg in the entire shelter that can be found, it will first pick a partition and then return the first egg in that partition. Potentially I could even have it pick a random egg in that partition, the performance should be acceptable (but would need testing). But there is a downside! Statistically speaking, all eggs of a given species are fairly evenly distributed among the partitions. This is even more the case because I (accidentally) made it so that when a batch of eggs is released from one person's daycare, they will end up actually balanced across all partitions evenly. Why is that a problem? Well consider what happens if there are only a small number of the eggs you are hunting in the Shelter. Say you're hunting Hisuian Voltorb or something like that. Something so obscure that you're the only one even breeding them. Let's say you manage to breed 100 eggs and release them to the Shelter to adopt. You grab a few of them no problem, but very soon you run into the situation where the randomly selected partition does not have the egg you are hunting, even if it does exist elsewhere in the shelter. In this case, the Black Flute would fail to provide its bonus, even if the RNG says it should work. This would reduce the effective bonus for Eggs that are in short supply. So my question is: is this acceptable? + You get randomised eggs from the Black Flute bonus, instead of just the same one over and over - You might not get an egg at all from the Black Flute bonus, if the randomly chosen partition happens to not have that egg even if other partitions do Please vote in the poll above. If the community votes in favour of this change despite the drawback, I will add it to the "balance update" plans for upcoming discussion and hopefully implementation. (As a "spoiler", I do intend on showing more information about the selected Egg/Pokémon on the details popup before adoption, to reduce the need for opening its full summary page in most cases.) Thank you for your time, sorry this got a bit wordy and technical but I feel like the context was important to explain it all!
Clip from Pokémon anime, re-lined by me
-- OMNOMNOM!
Featured story: Injustice Feedback welcome!
SlitherCain's AvatarSlitherCain
SlitherCain's Avatar
I will say, I do like the idea of showing extra details before hatching, gosh that one tourney when having to check every single egg by opening its page to make sure it was your own was a little taxing. However as you said, Sheltering isn't meant to be a way to avoid Daycare passes, it should be more difficult to get your eggs back. I'm not someone who cares about battle stats or natures so perhaps I shouldn't be speaking, but I can speak as someone who had long bursts of struggling to find eggs, if the flute INTENDED to help you find eggs for the mon you're hunting easier ends up being unable to do its job, that's a problem. I'd rather have the current system than a fundamentally broken item.
[Profile picture is from an early-game cutscene in Fire Emblem Engage]
When I'm hunting, I could care less if it's my own egg. But I DO want to be able to find the species I am hunting, so I'm changing from neutral to hard no. I don't like this.

Calypso ~ Adult ~ She/Her

~GRAFAIAI COLLECTOR~ ~IV BREEDER~

It is 05:11 AM Mon in Calypso's Cave PFP by Ashe Moon
I personally don't care whether an egg is mine outside of tourneys, but I think I'm very possibly the only person breeding Galarian Zigzagoon right now, and finding those eggs in the shelter is already a serious pain, especially on a bonus day when eggs are hatching incredibly quickly. I personally can see the upsides for people who really care if an egg is theirs, say for lineage purposes, but I think it would also frustrate a lot of people hatching and hunting for uncommon eggs in the shelter. I can see the "I'm releasing eggs but can't find them?" help posts now. I would prefer if you could possibly just see whose egg it originally was before adopting, without having to go to its individual page. I think that would be a good middle ground, perhaps? When it comes to the shelter, my biggest gripe is mainly the e/v eggs mostly disappearing on release, but I understand that's an entirely different discussion and a different balancing act.
- 71 Icon by Dachsbuns!
SleaterKinney's AvatarSleaterKinney
SleaterKinney's Avatar
Yeah, having the flute potentially be useless is a nonstarter for me. You said it yourself; daycare passes exist for a reason if you want your specific eggs.
I'm going to re-read the explanation a few more times before I vote, early moring brain doesn't comprehend yet xD I do like the idea of the shelter pop-up showing more information though! Like maybe who bred the egg and the date bred?
Avatar credits: Melan Plusle & Minun Galaxy avatar made by Sharpy, (for my use only)
Turbuggy's AvatarTurbuggy
Turbuggy's Avatar
As someone who has done a hunt where I was the-- presumably-- only one hunting the specific Pokemon at the time, I could not imagine the frustration I would have felt if, despite mass-clicking and releasing hundreds of eggs, I couldn't find any of them. This might not be that big a deal for those that hunt popular Pokemon like Nincada, but for those hunting unpopular Pokemon, spacing the eggs out as such would really suck!

☆ Buggy ☆ He/Him ☆ Adult ☆


I'm just a lil guy!
Shop Journal Free Fieldscredits

credits

Code @RAINB0W Divider @King-Lulu-Deer on DeviantArt Forum Icon @Vandi Signature Pagedoll @Bug2Go on Twitter
☆ Current Hunt: Drifloon
skylucario's Avatarskylucario
skylucario's Avatar
I think this would hurt casual players who can’t click for a lot of eggs more than it would help avid hunters (who may even fall into that “rarely hunted” pool themselves sometimes). I’m very strongly against this regardless of the fact that you’d switch boxes every time you refresh. Refreshing the shelter is slow enough for me as it is, so I don’t want it to get even a LITTLE bit slower/harder to find chain eggs.
all sprites clickable. ^ icon drawn by me. 200
skiddo's Avatarskiddo
skiddo's Avatar
So, from what I'm understanding. If there's 75 "boxes", and eggs get evenly distributed between boxes, then even if you click enough to make 150 eggs, there'll still only be two eggs in every box? From what I'm understanding, this would be absolutely tragic for anyone who's hunting a rarely-hunted mon, meaning that even nature hunters would have to deal with what I imagine would be highly reduced rates, and I feel like that would offset any "benefit" it could possibly have to them or to any other shiny hunters in the playerbase. Would it be possible to have the shelter default to "newest egg of X pokemon" instead, so players can hopefully find their own eggs easier for nature/iv hunting or tournament breeding? Or would this be too game-breaking?
59 / 200
Not actively buying. Or actively doing anything in general.
(credits)
code by skiddo; banner by mochafox; sprite by pfq; bg is official
JadeJester22's AvatarJadeJester22
JadeJester22's Avatar
I'd rather be more likely to find what I'm hunting since sometimes I struggle to get eggs.
Buying Tanzakus for 15 ZC
× 26 / 300
Sir Dessert,my little buddy :) Profile Picture is from PFQ Advent 2021

Pages: 123··· 131415

Cannot post: Please log in to post

© PokéFarm 2009-2024 (Full details)Contact | Rules | Privacy | Reviews 4.6★Get shortlink for this page