ALAKTORN
He/Him
Former player
Joined: 10/19/2009
Posts: 2527
Location: Italy
Alyosha wrote:
You can test this yourself by simply using 2D A7 59 XX (the first three bytes from 1683597101)
That’s a weird definition of “first three bytes” to me… 1683597101 is 0x6459A72D, so instead of taking either 0x6459A7 or 0x59A72D, it takes 0x2DA759? Isn’t that like… looking at each byte individually? I’m pretty confused… I’ll have to look into that some. Edit: Well if the calculation gives 5531, that doesn’t give a Life Up, so it’s still wrong…
Alyosha
He/Him
Editor, Emulator Coder, Expert player (3821)
Joined: 11/30/2014
Posts: 2829
Location: US
ALAKTORN wrote:
Alyosha wrote:
You can test this yourself by simply using 2D A7 59 XX (the first three bytes from 1683597101)
That’s a weird definition of “first three bytes” to me… 1683597101 is 0x6459A72D, so instead of taking either 0x6459A7 or 0x59A72D, it takes 0x2DA759? Isn’t that like… looking at each byte individually? I’m pretty confused… I’ll have to look into that some. Edit: Well if the calculation gives 5531, that doesn’t give a Life Up, so it’s still wrong…
Look at memory watch/viewer in DeSmuMe and you'll see it, yeah I expected it to be the opposite way as well, I didn't notice until I froze the RNG in cheats.
ALAKTORN
He/Him
Former player
Joined: 10/19/2009
Posts: 2527
Location: Italy
How did you figure out that it only uses the first 3 bytes, btw?
Alyosha
He/Him
Editor, Emulator Coder, Expert player (3821)
Joined: 11/30/2014
Posts: 2829
Location: US
ALAKTORN wrote:
How did you figure out that it only uses the first 3 bytes, btw?
I created a save state 1 frame before killing an enemy with a bullet about to hit him. Then I just tried different RNGs just randomly testing. I had saw that FractalFusion originally suggested maybe only the first 2 bytes effected the item. When that didn't work I happened to try 3, and it did : ) Are you sure the cycle is 5699? That does not divide evenly into 2^24, so it would mean the RNG does not contain a whole number of cycles...
ALAKTORN
He/Him
Former player
Joined: 10/19/2009
Posts: 2527
Location: Italy
Alyosha wrote:
Are you sure the cycle is 5699?
No. That was an observation based on a small sample. I guess with a bigger sample it may turn out to be wrong. If the true cycle is a far bigger value… Then coming up with a Lua to predict item drops will be problematic.
Alyosha
He/Him
Editor, Emulator Coder, Expert player (3821)
Joined: 11/30/2014
Posts: 2829
Location: US
What is your current script that you used to get the data you have so far? There are 'only' 2^24 ~16.7 million options to check. Even if the script only does 5 per second that is only a month of computing time, quick compared to the ~3 decades it would take if you had to check the whole 2^32 RNG
ALAKTORN
He/Him
Former player
Joined: 10/19/2009
Posts: 2527
Location: Italy
I have a couple of scripts, but I think this one can be altered to log the 1 item per line output too: http://pastebin.com/BqzrJEm4 A month still sounds like a lot. I’ve found out that % 5699 stops working somewhere between 777959 life up and 778244 life up (2895 life up / 3180 big energy) which is between 5699 * 136 to * 137. Still WiP. Another problem with having to map out the whole RNG is, where would I even dump it? So many MBs worth of text could actually be hard to store as a text file, if the file is too big I’ve had troubles opening it on my PC before. Also I’m not sure how it would work in terms of Lua look-up.
Alyosha
He/Him
Editor, Emulator Coder, Expert player (3821)
Joined: 11/30/2014
Posts: 2829
Location: US
your resulting file only needs to have 1 number for each result, which won't result in a file bigger then 16 MB And if you are only interested in 1-ups anyway you can just store those. Hmmmm not really sure what else to do with that pattern though, maybe it resets somewhere in there for some reason?
ALAKTORN
He/Him
Former player
Joined: 10/19/2009
Posts: 2527
Location: Italy
Alyosha wrote:
your resulting file only needs to have 1 number for each result, which won't result in a file bigger then 16 MB
Don’t understand what you mean.
Alyosha wrote:
And if you are only interested in 1-ups anyway you can just store those.
I guess but I’d still rather not have to map out the whole RNG. Edit: Gave it a quick look, think I’ve found where the % 5699 falls apart. 2965 Nothing 2966 life up first 3 bytes: 0x96B or 0x960B idk 2967 big energy 778029 Nothing 778030 Nothing first 3 bytes: 0x2EDFB or 0x2EDF0B idk 778031 big energy Don’t know what the fuck happens after that. For some reason the Life Up drop doesn’t match.
Player (146)
Joined: 7/16/2009
Posts: 686
Not to intrude, but I think this discussion would do better in the Rockman XZ thread, as that's where I'd look for an analysis on its RNG. That said, I think the best course of action would be to disassemble the ROM (does DeSmuME support breakpoints?) and figure out how the RNG addresses are used to look up the item dropped as I doubt there's an actual list with an entry for each possible value.
Alyosha
He/Him
Editor, Emulator Coder, Expert player (3821)
Joined: 11/30/2014
Posts: 2829
Location: US
Well I guess the RNG problem was solved by HHS, at least in part thanks to some technological advancement, nice! Anyone have any other noteworthy problems to add? Given that a mega man TAS has recently been rejected, I wonder also about the 'no magnet beam' run. Is there any plausible way such a thing might be done?
Noxxa
They/Them
Moderator, Expert player (4124)
Joined: 8/14/2009
Posts: 4090
Location: The Netherlands
Alyosha wrote:
Given that a mega man TAS has recently been rejected, I wonder also about the 'no magnet beam' run. Is there any plausible way such a thing might be done?
There's only one part in the game where the Magnet Beam is required, which is the second half of Wily 1. This part can be bypassed with DelayStageClear, as the published 12 minute run does. So the foundations of the run are already there.
http://www.youtube.com/Noxxa <dwangoAC> This is a TAS (...). Not suitable for all audiences. May cause undesirable side-effects. May contain emulator abuse. Emulator may be abusive. This product contains glitches known to the state of California to cause egg defects. <Masterjun> I'm just a guy arranging bits in a sequence which could potentially amuse other people looking at these bits <adelikat> In Oregon Trail, I sacrificed my own family to save time. In Star trek, I killed helpless comrades in escape pods to save time. Here, I kill my allies to save time. I think I need help.
Joined: 5/13/2012
Posts: 18
I would like to know the max amount of games we can be multitased with 30 minutes to do it. Extra rule: If you start again some game you have beaten this game will not count. also another question is to see if there is any game that can be beaten without doing "any action",pressing buttons to start the game or start new stage is ok, pressing keys that will not make the character act is ok.
Samsara
She/They
Senior Judge, Site Admin, Expert player (2238)
Joined: 11/13/2006
Posts: 2822
Location: Northern California
exdeath wrote:
also another question is to see if there is any game that can be beaten without doing "any action",pressing buttons to start the game or start new stage is ok, pressing keys that will not make the character act is ok.
Yeah, about that...
TASvideos Admin and acting Senior Judge 💙 Currently unable to dedicate a lot of time to the site, taking care of family. Now infrequently posting on Bluesky
warmCabin wrote:
You shouldn't need a degree in computer science to get into this hobby.
Alyosha
He/Him
Editor, Emulator Coder, Expert player (3821)
Joined: 11/30/2014
Posts: 2829
Location: US
Since there are a couple high profile glitches out there right now that are not well understood, I figured I would list them here for reference. How does the contra wrong warp work? how does the SM64 upwarp work? I'm surprised these glitches both were discovered and had videos about them long before most people here became aware of them. Is anyone aware of any other glitches that are not yet understood?
GoombaHeart
He/Him
Joined: 7/11/2015
Posts: 131
Location: Winters
exdeath wrote:
I would like to know the max amount of games we can be multitased with 30 minutes to do it. Extra rule: If you start again some game you have beaten this game will not count. also another question is to see if there is any game that can be beaten without doing "any action",pressing buttons to start the game or start new stage is ok, pressing keys that will not make the character act is ok.
EarthBound? In a truer sense bad initialization may make that possible.
Shit tier TASer.
ALAKTORN
He/Him
Former player
Joined: 10/19/2009
Posts: 2527
Location: Italy
Alyosha wrote:
How does the contra wrong warp work?
What’s that? Also have a question myself: has nobody made a solution for Lua scripts that give garbage data on loadstating because of calculations using RAM? Example: X pos is 100, I loadstate and it becomes 50, Lua will say I have −50 speed but that’s not true. Correcting the calculation I guess would be really hard, but making it write something like “N/A” should be more feasible. I haven’t come across a solution for this yet.
Masterjun
He/Him
Site Developer, Skilled player (1987)
Joined: 10/12/2010
Posts: 1185
Location: Germany
ALAKTORN wrote:
has nobody made a solution for Lua scripts that give garbage data on loadstating because of calculations using RAM? Example: X pos is 100, I loadstate and it becomes 50, Lua will say I have −50 speed but that’s not true. Correcting the calculation I guess would be really hard, but making it write something like “N/A” should be more feasible.
For that you need a callback function that is being executed when you load a state. For example setting the previous value to nil on loadstating should work. Even better: save the previous values in the savestate function and then set them in the loadstate function.
Warning: Might glitch to credits I will finish this ACE soon as possible (or will I?)
Dimon12321
He/Him
Editor, Reviewer, Experienced player (596)
Joined: 4/5/2014
Posts: 1220
Location: Romania
People want to see TASes of modern games (games for Wii, GC), but not many of us (I mean TASVideos community) takes long games because of difficult mechanics, RNG manipulations (AI actions, weapon damages etc), possible improves, route planning and so on. What do you think about the acception of partially TASed games (completed circle of missions/stages/areas or other part of sth game which has the logical ending)? So we can cover more games and attract more people! Share your opinions!
TASing is like making a film: only the best takes are shown in the final movie.
Alyosha
He/Him
Editor, Emulator Coder, Expert player (3821)
Joined: 11/30/2014
Posts: 2829
Location: US
Dimon12321 wrote:
People want to see TASes of modern games (games for Wii, GC), but not many of us (I mean TASVideos community) takes long games because of difficult mechanics, RNG manipulations (AI actions, weapon damages etc), possible improves, route planning and so on. What do you think about the acception of partially TASed games (completed circle of missions/stages/areas or other part of sth game which has the logical ending)? So we can cover more games and attract more people! Share your opinions!
This is actually something I've put a bit of thought into myself. Is there a way to speed up the TASing process for modern games? I've thought about macro level TASing where you just string together common movements but I don't think that would make it very far. I've also considered autmoated path finding between waypoints so the TASer can focus on routing and such but this seems like a far future goal. I would personally be very happy to see a tool 'assisted' run of modern games if it means getting more of these games published / worked on at all. This as opposed to the modern standard in older platforms which has really become tool 'based' not just tool 'assisted.' I think this is a timely topic given the recent OOT post about boat skip which is apparently just rediscovering a glitch known for years (unless I'm misunderstanding something.) If knowledge of that level is being 'rediscovered' then definitely something needs to change in the content generation arena.
Active player (355)
Joined: 1/16/2008
Posts: 358
Location: The Netherlands
I could see a mixture of high level and low level techniques being very useful... but it's a problem that mostly the high-level ones will be game-specific because it means there won't be a generally useful platform to do so For example, recently I did a test TAS of Star Wars Rogue Squadron II: Rogue Leader and found myself doing 2 tasks very repetitively: 1) Find the best steering to point the player towards a target 2) Find the right angles & moments to fire at a moving target This that are repetitive and tedious are good candidates to automate... if I didn't have to do it (but an algorithm did) then I could spend my effort on choosing the best order in which to do the steps
TASes: [URL=http://tasvideos.org/Movies-298up-Obs.html]Mr. Nutz (SNES), Young Merlin 100% (SNES), Animaniacs 100% (SNES)[/URL]
Site Admin, Skilled player (1254)
Joined: 4/17/2010
Posts: 11475
Location: Lake Char­gogg­a­gogg­man­chaugg­a­gogg­chau­bun­a­gung­a­maugg
TASeditor (the guy) have done some stuff for best angle automation for n64hawk with lua.
Warning: When making decisions, I try to collect as much data as possible before actually deciding. I try to abstract away and see the principles behind real world events and people's opinions. I try to generalize them and turn into something clear and reusable. I hate depending on unpredictable and having to make lottery guesses. Any problem can be solved by systems thinking and acting.
Editor, Skilled player (1536)
Joined: 7/9/2010
Posts: 1319
feos wrote:
TASeditor (the guy) have done some stuff for best angle automation for n64hawk with lua.
It's a rough lua script I made, it's not working really well. The goal is not to just get best angle, but best speed in direction of the angle. My intention is to make it work-able with TAStudio. So it can't be used yet.
Favorite animal: STOCK Gt(ROSA)26Sortm1.1(rtTA,EGFP)Nagy Grm7Tg(SMN2)89Ahmb Smn1tm1Msd Tg(SMN2*delta7)4299Ahmb Tg(tetO-SMN2,-luc)#aAhmb/J YouTube Twitch
Site Admin, Skilled player (1254)
Joined: 4/17/2010
Posts: 11475
Location: Lake Char­gogg­a­gogg­man­chaugg­a­gogg­chau­bun­a­gung­a­maugg
I'm pretty sure the overall approach can be widely applied depending on available tools.
Warning: When making decisions, I try to collect as much data as possible before actually deciding. I try to abstract away and see the principles behind real world events and people's opinions. I try to generalize them and turn into something clear and reusable. I hate depending on unpredictable and having to make lottery guesses. Any problem can be solved by systems thinking and acting.
Editor, Skilled player (1536)
Joined: 7/9/2010
Posts: 1319
User movie #28439378095979691 Here's a bit better script, it has a very high error of ~1% when calculating the input angle. I'll work on it later. Several things don't work yet.
Favorite animal: STOCK Gt(ROSA)26Sortm1.1(rtTA,EGFP)Nagy Grm7Tg(SMN2)89Ahmb Smn1tm1Msd Tg(SMN2*delta7)4299Ahmb Tg(tetO-SMN2,-luc)#aAhmb/J YouTube Twitch