Jump to content

Insane PGF Drop Rate Theory (please prove me wrong)


Recommended Posts

Hi, so, I'm going to just kind of put this out here and if a GM or coder/programmer who may have more direct knowledge on this could prove me wrong, I'd gladly accept any such proof that I'm incorrect here. Let's go!

I just got done watching Awesome Games Done Quick '19, a video game speedrunning marathon, and during the Final Fantasy 9 run, the runners/commentators said something that kind of blew my mind. Just to  be 100% clear if someone just doesn't know: FF9 is a classic turn-based RPG that has random encounters. They are able to beat FF9 in under 10 hours (it's fast trust me) by abusing RNG to avoid most random battles, however, there is a particular city, Burmecia, that has rain falling while the player is walking around. A commentator then said, "when we turned on the memory values to be visible in an emulator, we discovered that the rain drops here make every RNG value in the game go absolutely crazy. Every individual drop of rain just completely randomizes the RNG so we never know what it's going to do here."

Now, please understand one thing that most anyone who's ever even coded a tic-tac-toe game can tell you: there is no such thing as TRUE RANDOM with computers or code. There is only what can be coded within a range. However, PSO seems to do something very similar to classic Pokemon games from the old, OLD  Gameboy era: looks at hex memory values for other things. EG: in Pokemon games, whether or not your attack is a critical hit, whether a ball catches something, what pokemon you encounter in the grass: ALL of these things are deterministic of memory values you cannot see, being set by things such as # of steps taken, items used, in-game timers (not often), or pretty much just things you would think have nothing to do with each other.

SO, herein is the crux of all this, a conversation I overheard here recently. It went a little something, a'like-a-this:

"I'm over 300 olga kills and no PGF."
"That one person who takes 40 minutes per run has gotten 5 PGF."
"Maybe we should take longer per run it's like the game takes pity on you or something."

I heard this a few days ago and I'll be frank, I couldn't stop thinking about it. What if there WAS something to that in reality? Now I'm not using memory value viewers or anything (does that even exist for this game?), but after playing video games for the last 29 years, I like to think have a vague sense of the invisible code generating the game I'm playing. So, here it is, my insane, stupid theory on how you may or may not be able to change your PGF luck, if you are in fact part of The 300 Club I've heard so much about:

Stop speedrunning it with dead-on efficiency. Why? Well, you've already determined the methods you're using are not the required memory values needed to trigger a PGF drop. I could be entirely wrong, you COULD just be entirely unlucky, after all. But humor me, and humor the neurotic mentality you've probably developed because PGF isn't being nice to you (sealed J sword drove me to neuroticism). It could very well be that PSO uses a similar rare item drop as another game I've played long ago. Far as I'm aware, and I hope I'm not wrong about something as simple as this... DAR is simply the chance of an item dropping period, wherein the rare item drop rate is then checked after a successful DAR roll to get AN item et al.

So, what determines if PGF is gonna drop? Other hidden memory values. Memory values that, if you are clearing rooms the exact same way, exact same attacks, same time, same gear in the same inventory slots, and since most of you are LVL200 that's another memory value that is never going to change since your EXP is static now. But, do you see what I'm saying? I've for real seen this exact style of "RNG" in other games, and I'm thinking I'm starting to see it here, too. I'm probably wrong about the exacts, but I do believe that for some of you who cannot seem to get a PGF when you clearly should have by now, it's possible you're preventing its drop by doing the exact same actions in the same order every time.

Suggestions: use other weapons, re-order your armor units, use other shields, cast techs randoml—razonde feels like a good RNG manipulator candidate to me as it has to pull up a graphic effect for each little electrical flourish. I recall long ago on Dreamcast seeing a gameshark user cast Razonde in Pioneer 2. Oddly, the "lightning" had the texture of the floor in Pioneer 2, so I know that tech is issuing a simple callback for a specific texture that's intended to be in a specific memory value—a value that callsback on a specific texture, in a specific location in the game's files. It's things like this that can shuffle other hidden values that, to me, seem very responsible for rare drops.

EG: let's say a 1/216 drop rare requires 20 different memory values to be lined up. As in, it may be checking in 20 different locations for the first two values in this field, that field, etc, and then compiles them all into a single sum to check against the required values to trigger a drop. If it doesn't line up all 20 values, then a DAR trigger will just give a regular item and not a rare. This is only an example, I have no idea how any of this REALLY works, but I do believe I'm at least close to the mark.

TL;DR: player actions affect hidden hex memory values and doing the same thing every run will give the same result every run. Starting a new team will always begin RNG at the same values, and doing the same actions will push them into the same places, every time. Be a little more random yourself, and have hope—for hope is the foundation of miracles.

Good luck, hunters. o3o

  • Like 1
  • Thanks 1
Link to comment
Share on other sites

I don't think PSO even has the code to be able to do this. 

PGF (and any rare) has the drop chance, and that's it. It's just luck, and people's natural need to rationalise that makes ideas like this. Apart from anything, it's a 20 year old game that's been picked apart by modders and coders for a long time. Someone would have noticed and said something by now.

It's random. Luck is luck.

Link to comment
Share on other sites

If you would've had those 300+ olga kills from woi you would've been more fortunate there because even if you don't find one well you're coming out with well over 500+pds banked and it's faster to get to olga there vs RT so you may have gotten better odds also.   

Link to comment
Share on other sites

I would have to dig into this deeper, but something that should be mentioned is that drops are soley determined by the server.  Your client does not generate them.

Edited by Lemon
Link to comment
Share on other sites

The code from your game(client) are ENTIRELY separate from the code that determines your drops(server). The guy who boss warps and only ohko Olga has same chance as the dude who kills everything and takes 50 minutes or the guys who TA it to perfection and finish in 14 minutes. 

Edited by Saber +7
Link to comment
Share on other sites

Having RNG be based on time might be a weird concept. It reminds me of how POKEMON has found out how to get shiny POKEMON more efficiently with time.

Link to comment
Share on other sites

Most of the PGF that dropped so far was for Oran ID.
People keep saying PGF drops for all ID, but it hasn't really been dropping for all IDs.
I'd like to know a little more about the drop rates.

As for PSO's coding. Wise is he who believes he doesn't know it all.
There are some things about machines that the common man would still consider unbelievable.
It's almost as if man gives machines life in more than one way. The human minds seems to affect all sorts of things in many kinds of ways.

There are things even I'm still learning about PSO. A game people think they have completely figured out, because they've played it for so long. However, people sometimes keep the same perspective on things for years, and find it difficult to grow. I was one of those people for most of my life.

Let me tell you a story.
In Schtserv 08, I met a guy who I used to hunt PGF with.
He used to get the last hit on Olga Flow with a Red Handgun, and said it was to increase the chance of PGF dropping.
I'm not sure what sort of coding made that possible, because I'm somewhat retarded.
However, that trick did work in Schtserv. So I tested it on Ultima server... 
And recently during my 1st Bluefull RT of the day, I managed to get the last hit on Olga Flow with a Red Weapon, and PGF dropped.
Considering the chances of getting a PGF to drop are slim as hell, that could be a coincidence, but I will experiment more to be 100% sure.

Feel free to test this with me.
Get the last hit on Olga Flow with a Red Weapon in the name of old Havoc from 08 Schtserv. May PGF drop for us all. 

  • Dislike 8
Link to comment
Share on other sites

The problem here is you're trying to apply RNG manipulations from standard turn-based RPGs to an online action RPG. Not only that, but PSO is a vastly different beast. There are probably so many memory values moving every frame that anything you do is meaningless assuming you even REMOTELY could manipulate RNG in PSO (without some sort of tools). You do something in one frame, but a whole bunch of other values move at the same time. It's completely impossible. Not only that, but you're trying to apply some sort of reaching logic to what's more or less a simple dice roll, or the throw of a dart at a dart board. This isn't a game where we could do all of these arbitrary actions, set the RNG up for manipulations, and then proceed down a list of actions to produce the desired outcome. If it's some superstition that makes YOU feel that much more lucky, then do it. Don't let anyone stop ya. To me it sounds like you just learned something you think is really neat, and you want to apply it to something you really like. Problem is, it doesn't work.

  • Like 2
Link to comment
Share on other sites

So I got bored at work and did some research.  Tethealla uses the Mersenne Twist algorithm to generate random numbers.  Taken directly from the source code:

10153: rare_roll = mt_lrand();
10155: if  ( ( ( rare_lookup & 0xFF ) != 0 ) && ( ( rare_roll < rare_rate ) || ( l->redbox ) ) )

This means that even if you wanted to manipulate memory to get a better chance at a drop, you'd have to manipulate the memory on the remote server, at which point it'd probably simply be easier to just insert the item into your inventory in the database.

Edited by Lemon
  • Like 4
Link to comment
Share on other sites

1 hour ago, Lemon said:

So I got bored at work and did some research.  Tethealla uses the Mersenne Twist algorithm to generate random numbers.  Taken directly from the source code:


10153: rare_roll = mt_lrand();
10155: if  ( ( ( rare_lookup & 0xFF ) != 0 ) && ( ( rare_roll < rare_rate ) || ( l->redbox ) ) )

This means that even if you wanted to manipulate memory to get a better chance at a drop, you'd have to manipulate the memory on the remote server, at which point it'd probably simply be easier to just insert the item into your inventory in the database.

Oh man... I just paid 80dts for a max red handgun and changed my ID to Orange for nothing lol. 

  • Haha 2
Link to comment
Share on other sites

2 minutes ago, C01D1 said:

Oh man... I just paid 80dts for a max red handgun and changed my ID to Orange for nothing lol. 

Jokes on you I paid 300dts for a red handgun. Also the red handgun thing was just to see flowen and you use dark flow on falz to see Rico. It was never to up chances of pgf or rr

 

Link to comment
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

×
×
  • Create New...