Post subject: Luck Manipulation
Joined: 1/22/2008
Posts: 319
Location: Brasil
hi every body im new here and i hope i can make TAS with amazing games and post here for general fun i just need an info that i didnt foujnd around, how can i manipulate luck for and item taht will be droped by the enemy for example the wild guns on snes
Run..Run...Run.....
Experienced player (828)
Joined: 11/18/2006
Posts: 2426
Location: Back where I belong
In general terms, luck manipulation means trying a segment over and over again until you get the outcome you want. There are various ways to make that easier, such as using memory watch (if you know the correct address), but a lot of the time it's just trial and error. For my Wild Guns movie, I was able to manipulate over 20 grenade drops by experimenting with several things, such as when I shot the enemy, who shot him, etc. Say that on my first try I shot an enemy and he dropped a machine gun upgrade. I would use a savestate to go back, and try to shoot him at a different frame (Wild Guns seems to like to change weapon drop types about every 20 frames on some enemies). If that didn't work, I'd try to shoot another enemy first, and then take out the dropping enemy. Or try to shoot him with the other character. As you can see, it's a lot of trial and error, unless you have the memory address (which, if you do have, was likely found through trial and error). Hope this helped.
Living Well Is The Best Revenge My Personal Page
Senior Moderator
Joined: 8/4/2005
Posts: 5777
Location: Away
Warp wrote:
Edit: I think I understand now: It's my avatar, isn't it? It makes me look angry.
Joined: 1/22/2008
Posts: 319
Location: Brasil
mmbossman
As you can see, it's a lot of trial and error, unless you have the memory address (which, if you do have, was likely found through trial and error).
i found the on the first stage, the first item droped the address should receive number 4 , to access the G-gun, but this works just for this time, i sure read the glossary, but no futher directions i found by myself on trial and error , how to determinate basic things, like, the amount of bombs, or hp, boss hp. they are very easy to find.
Run..Run...Run.....
Senior Moderator
Joined: 8/4/2005
Posts: 5777
Location: Away
The link above is no glossary, it contains actual instructions on how to affect randomness.
Warp wrote:
Edit: I think I understand now: It's my avatar, isn't it? It makes me look angry.
Active player (315)
Joined: 2/28/2006
Posts: 2275
Location: Milky Way -> Earth -> Brazil
So, you learned how to find the memory addresses... what about luck manipulation?
"Genuine self-esteem, however, consists not of causeless feelings, but of certain knowledge about yourself. It rests on the conviction that you — by your choices, effort and actions — have made yourself into the kind of person able to deal with reality. It is the conviction — based on the evidence of your own volitional functioning — that you are fundamentally able to succeed in life and, therefore, are deserving of that success." - Onkar Ghate
Bisqwit wrote:
Drama, too long, didn't read, lol.
Joined: 4/30/2006
Posts: 480
Location: the secret cow level
Didn't Bisqwit actually disassemble some of the Rockman code to figure out the RNG?
P.JBoy
Any
Editor
Joined: 3/25/2006
Posts: 850
Location: stuck in Pandora's box HELLPP!!!
Active player (315)
Joined: 2/28/2006
Posts: 2275
Location: Milky Way -> Earth -> Brazil
GREAT! Now tell me what is the connection between Megaman and Wild Guns.
"Genuine self-esteem, however, consists not of causeless feelings, but of certain knowledge about yourself. It rests on the conviction that you — by your choices, effort and actions — have made yourself into the kind of person able to deal with reality. It is the conviction — based on the evidence of your own volitional functioning — that you are fundamentally able to succeed in life and, therefore, are deserving of that success." - Onkar Ghate
Bisqwit wrote:
Drama, too long, didn't read, lol.
Joined: 4/30/2006
Posts: 480
Location: the secret cow level
By disassembling the Random Number Generators, he was able to figure out what ingame factors could affect probability, and therefore manipulate luck to create the desired outcome.
Joined: 1/22/2008
Posts: 319
Location: Brasil
and this is the same way for using to manipulate where the enemy (ex: any game) will apper and wich moves he is going to do?
Run..Run...Run.....
Editor, Active player (297)
Joined: 3/8/2004
Posts: 7469
Location: Arzareth
wicked wrote:
and this is the same way for using to manipulate where the enemy (ex: any game) will apper and wich moves he is going to do?
If that is the level of your present knowledge, then mmbossman's first post answers your question completely.
Joined: 1/22/2008
Posts: 319
Location: Brasil
thanks mmbossman but what i got is many small things thats alltogheter determinater other things i will make myself clear, like when i press "x" or "y" button, it will determinater deferents things on the events. but the point is how to find the address , and how to manipulate. its not like an boss hp, this one is very easy to find, every hit i seach for "less than" till i got 1 addres, or at least 5.
Run..Run...Run.....
Banned User
Joined: 12/26/2006
Posts: 231
Location: Lonely City
mmbossman wrote:
Say that on my first try I shot an enemy and he dropped a machine gun upgrade. I would use a savestate to go back, and try to shoot him at a different frame (Wild Guns seems to like to change weapon drop types about every 20 frames on some enemies)..
That's too important.But it is still hard to find correct memory if the game changes weapon drop types about every 1 frames,for example-G.I.Joe.It is not the memory like speed or X-position,I don't know when it will change,I even don't know whether it will change(increase or decrease).It is my trouble...
work hard
Experienced player (828)
Joined: 11/18/2006
Posts: 2426
Location: Back where I belong
If the title of your topic had stated "I need to find a memory address for luck manipulation", I probably wouldn't have responded since I have no idea how to go about finding that. Randil may be someone to get a hold of, he's pretty good at finding RNGs. AnS may also be able to help, along with some of the other more experienced TASers.
Living Well Is The Best Revenge My Personal Page
Senior Moderator
Joined: 8/4/2005
Posts: 5777
Location: Away
Warp wrote:
Edit: I think I understand now: It's my avatar, isn't it? It makes me look angry.
Skilled player (1416)
Joined: 10/27/2004
Posts: 1978
Location: Making an escape
This topic very much reminds me of my very first. Actual manipulation of luck can vary from one game to the next. Sometimes manipulation involves random button mashing (Cattou Ninden Teyandee); other times it's influenced solely by the frame a particular action is done (Final Fantasy). There is no general "trick" to manipulating: just find out how each game does it. As for memory searching... I had no idea.
A hundred years from now, they will gaze upon my work and marvel at my skills but never know my name. And that will be good enough for me.
Skilled player (1827)
Joined: 4/20/2005
Posts: 2161
Location: Norrköping, Sweden
Finding the RAM address for "luck" can be quite tricky, as mmbossman said. I personally think it's easiest to find it in FCEU (I use memory dump to narrow down the results). Here's how I usually find RAM addresses for RNG: 1. Save state at a position where something "random" is just about to happen (like just before you shoot an enemy in Mega Man or something like that). Take note of the outcome of the event (like what item the enemy drops.) 2. Now, advance a few frames (or do something else) so the outcome changes (the enemy drops another item). Savestate to another slot. Now you have two savestate slots that are almost identical, but you know that the outcome of the event will be different. 3. Using cheat search, compare what RAM addresses differ the two savestates. If you didn't do much to change RNG (such as just waiting for a few frames) there shouldn't be many RAM addresses that are different. One of these (or a few) control RNG, because you know the outcome was different in this new savestate you made! 4. Now you have find the right address(es). If there are <20 addresses or so, you could just use memory watch to find the one you want. Otherwise you might want to perform more searches the way I explained in points 1 and 2 to narrow down the search. Another way to find the right addresses is to add the RAM addresses to the "cheat" feature of SNES9X and give it a certain value and see what happens. Try giving it the value from the old savestate and see if you get the outcome you got from the first savestate! I hope this made at least some sense...
Banned User
Joined: 3/10/2004
Posts: 7698
Location: Finland
wicked wrote:
i will make myself clear, like when i press "x" or "y" button, it will determinater deferents things on the events. but the point is how to find the address , and how to manipulate.
If what you want to do is, for example, manipulate an enemy to drop a certain item when it dies, the oldest and simplest method to achieve this is the following iterative process: 1) Save a savestate a bit before killing the enemy. 2) Kill it. 3) Did it drop the object you wanted? If yes, you are done. 4) If not, then load the savestate. 5) Kill the enemy again, but press different buttons and button combinations down (preferably without sacrificing speed, although if nothing else seems to work, try a 1-frame delay). 6) Jump to step 3. It may sometimes be tedious (depending on the game, it can be *really* tedious), but in most cases it works, it's the easiest to do. In some games if you can find the random number generator and the memory location which determines which object the enemy will drop, it might help you narrow down your work (ie. you don't necessarily have to iterate so many times and guess at random). However, this is not easy in many games. In many games the dropped item will be determined *after* you kill the enemy, so there's no memory location which you can watch to see into the future. The only way to do that would be to analyze the RNG and deduce from it what will happen with different key combinations, but that can be as difficult as the iterative approach.
HHS
Active player (286)
Joined: 10/8/2006
Posts: 356
Both FCEU 0.98.16 and FCEUXD have memory editors. It's fairly easy to spot RNG variables with these, since they'll be changing, perhaps continually, in a random manner.
Banned User
Joined: 3/10/2004
Posts: 7698
Location: Finland
HHS wrote:
Both FCEU 0.98.16 and FCEUXD have memory editors. It's fairly easy to spot RNG variables with these, since they'll be changing, perhaps continually, in a random manner.
Yes, but it's a completely different thing seeing how the random numbers change than to reverse-engineer the RNG to such extent that you can actually predict what it will produce with certain input.
Banned User
Joined: 12/26/2006
Posts: 231
Location: Lonely City
I think I begin to understand.And I try to find some RNG in G.I.Joe(NES Game).I think 000F maybe a RNG which decided what enemy will dropps.I try some way to change it and make it be what I want.Thanks to wicked,mmbossman,moozooh,pirate_sephiroth,Titus Kwok,P.JBoy,Bisqwit,Ferret Warlord,Randil,Warp and HHS.
work hard
Banned User
Joined: 3/10/2004
Posts: 7698
Location: Finland
The success of that tactic depends a lot on *when* the program actually calculates which item to drop. If it calculates it *after* the enemy has been killed, then simply watching memory locations won't be of any help, because you may as well just watch the screen to see which item was dropped. It won't save you any work at all. If the item to be dropped is calculated before the enemy is killed (as it may be the case with some games) then it can be quite useful to see in advance what that item will be. However, I don't think many games do this (because from a programmer's point of view it's much simpler to simply calculate a random drop item after the enemy has been killed). This doesn't mean that in the first case it's *impossible* to predict which item will be dropped. It's just much harder. It requires a great understanding of the game's RNG and what affects it and how.
HHS
Active player (286)
Joined: 10/8/2006
Posts: 356
Well, of course. But cheat search is no more useful than looking at the memory editor in this regard. The RNG variable for G.I. Joe is at 00B8-00B9. 00B8 is incremented continually when the game waits for the next frame. The RNG, which is at C512, also uses the frame counter at 00B6. It also uses the X register (current enemy index) and the carry flag (set if killing the enemy caused a new high score).