Posts for adelikat


adelikat
He/Him
Emulator Coder, Published Author, Site Developer, Site Owner, Expert player (3602)
Joined: 11/3/2004
Posts: 4739
Location: Tennessee
Ok, sorry, I missed that post. I hope the author is improving it :)
It's hard to look this good. My TAS projects
adelikat
He/Him
Emulator Coder, Published Author, Site Developer, Site Owner, Expert player (3602)
Joined: 11/3/2004
Posts: 4739
Location: Tennessee
Why was this cancelled?
It's hard to look this good. My TAS projects
adelikat
He/Him
Emulator Coder, Published Author, Site Developer, Site Owner, Expert player (3602)
Joined: 11/3/2004
Posts: 4739
Location: Tennessee
Inzult wrote:
In that case, couldn't the character just die anywhere? Like, why bother start on level 5 at all, just start at whatever level lets you die the quickest.
Well, I am trying to complete the game, as much as it can be completed. To that end, I make it to the final boss, and deliver enough damage to kill him. I do what is required to win, even though the victory is not given to me :( However, I still argue that the CONTENT is there, even if the visuals aren't.
It's hard to look this good. My TAS projects
adelikat
He/Him
Emulator Coder, Published Author, Site Developer, Site Owner, Expert player (3602)
Joined: 11/3/2004
Posts: 4739
Location: Tennessee
creaothceann wrote:
"maximum likelihood values as determined through adelikat's suggested test" means "closest to hardware".
I have to disagree with this. Anything that CAN happen is equally "closest to hardware" in terms of accurate emulation. If something can be proven to be more likely, maybe that is a good pattern to be the default. However, restricting the emulator to that one possibility when others are possible does not make an emulator more accurate
It's hard to look this good. My TAS projects
adelikat
He/Him
Emulator Coder, Published Author, Site Developer, Site Owner, Expert player (3602)
Joined: 11/3/2004
Posts: 4739
Location: Tennessee
Leenkeen wrote:
Wait for next version of bizhawk!!))
To be clear, you don't need to wait until the next version of BizHawk, to do this trick. I say this because the next version of bizhawk won't be soon
It's hard to look this good. My TAS projects
adelikat
He/Him
Emulator Coder, Published Author, Site Developer, Site Owner, Expert player (3602)
Joined: 11/3/2004
Posts: 4739
Location: Tennessee
Leenkeen wrote:
Sorry for offtopic. In bizhawk code "dendy mode" is entered. Will It be added to release?
It is actually released. What we don't have is a UI way to force a particular mode. Instead we derive the mode based on the gamedb, and since there is no native Dendy games, nothing will load that way. However, if you modify the nes game db that comes with Bizhawk, you could run your game in dendy mode just fine. As for a UI way, we could do that for an upcoming release, the reason I didn't want that until now, is because I don't like the idea of people being able to run PAL games in NTSC mode (and more precisely I"m tired of people submitting supposed SMB records via this technique!) Also, this is a better question to ask in a Bizhawk thread :)
It's hard to look this good. My TAS projects
adelikat
He/Him
Emulator Coder, Published Author, Site Developer, Site Owner, Expert player (3602)
Joined: 11/3/2004
Posts: 4739
Location: Tennessee
Big yes vote. And that pause glitch was very interesting. I personally keep hoping someone will do a 2-player run of this game at some point, now that there are known improvements.
It's hard to look this good. My TAS projects
adelikat
He/Him
Emulator Coder, Published Author, Site Developer, Site Owner, Expert player (3602)
Joined: 11/3/2004
Posts: 4739
Location: Tennessee
Yeah, someone pointed that out, this particular movie breaks the play movie dialog of bizhawk, just drag and drop the file onto the emulator and it will work just fine.
It's hard to look this good. My TAS projects
adelikat
He/Him
Emulator Coder, Published Author, Site Developer, Site Owner, Expert player (3602)
Joined: 11/3/2004
Posts: 4739
Location: Tennessee
Warp wrote:
Twelvepack wrote:
Why all zeros?
Why not?
As already mentioned, if it were all 0's on NES, some games would break. And as linked here, there's good evidence for what the SNES starts with (or most likely still start with) and the evidence is not leaning towards all 0's. In both of these consoles, it is a highly unlikely event (were aren't totally sure it is a possible event)
The point is that the RAM state should be inconsequential and the same for all runs.
I really like this wording, and the most usable for site policy I've heard so far (if we were going to strictly limit ram possibilities). All 0's is inconsequential, as is a pattern of 0x0000FFFF on NES. However, BOTH are inconsequential, so that still leaves us with the problem of picking just picking one out of many equally viable patterns, or someone allowing a tight range and deciding that range.
Of course I understand that I'm fighting windmills here
Well, the point here isn't the fight, nor winning it. It is about putting our collective brain to work. To that end, your (everyone's) contributions here are appreciated, regardless of outcome.
It's hard to look this good. My TAS projects
adelikat
He/Him
Emulator Coder, Published Author, Site Developer, Site Owner, Expert player (3602)
Joined: 11/3/2004
Posts: 4739
Location: Tennessee
Based on a superficial reading of this post, I would say that this situation was caused by an incorrect interpretation of vault rules.
It's hard to look this good. My TAS projects
adelikat
He/Him
Emulator Coder, Published Author, Site Developer, Site Owner, Expert player (3602)
Joined: 11/3/2004
Posts: 4739
Location: Tennessee
I don't get what you are implying though. Even with semi-random behavior, you can't get 100% reliable sync...
It's hard to look this good. My TAS projects
adelikat
He/Him
Emulator Coder, Published Author, Site Developer, Site Owner, Expert player (3602)
Joined: 11/3/2004
Posts: 4739
Location: Tennessee
creaothceann wrote:
adelikat wrote:
creaothceann wrote:
  • It makes the TAS itself look weaker: it can only complete one specific version of the game, not all of them.
A great many of our current TASes fail this criteria.
Then they should be easily replaceable when more accurate emulation is available.
In the case of Friday the 13th that IS accurate emulation! The reason I picked it was because NESbots have the same behavior of randomly syncing and randomly not, because NES RAM is random. What should we replace the published TAS with, in this case?
It's hard to look this good. My TAS projects
adelikat
He/Him
Emulator Coder, Published Author, Site Developer, Site Owner, Expert player (3602)
Joined: 11/3/2004
Posts: 4739
Location: Tennessee
creaothceann wrote:
[*]It makes the TAS itself look weaker: it can only complete one specific version of the game, not all of them.
A great many of our current TASes fail this criteria. One I can confirm is NES Friday the 13th (because I'm currently experimenting with it with the idea of exploiting unitialized ram). If you set the initial WRAM state in the emulator with random values, the currently published TAS usually desyncs (suggesting it is assuming a particular value from an unitialized address). And as for this:
creaothceann wrote:
  • An emulator should always emulate as accurately as possible. That means observing and emulating real-life RAM cell values.
Faithfully emulating real hardware would involve some form of random initialization which would make these TASes impossible to TAS! In this case either the TAS "gets a say", or we don't get the luxury of making the TAS in the first place
It's hard to look this good. My TAS projects
adelikat
He/Him
Emulator Coder, Published Author, Site Developer, Site Owner, Expert player (3602)
Joined: 11/3/2004
Posts: 4739
Location: Tennessee
<ais523> anyway, I think we should get a flashcart and program it to dump the initial memory of the NES to screen <ais523> to see what the initial NES memory actually looks like <ais523> the mappers make it more complex How about we do something like this, and do it many times and create a heat map? we could take a hex grid of data and represent it by a pixel per value and create an image. The color of that pixel will be hotter based on the number of times it was "on" If the heat map was essentially evenly colored, we could conclude that essentially any ram combination is theoretically possible. However if the image was "clumpy" then we know we need to be more skeptical of what's possible.
It's hard to look this good. My TAS projects
adelikat
He/Him
Emulator Coder, Published Author, Site Developer, Site Owner, Expert player (3602)
Joined: 11/3/2004
Posts: 4739
Location: Tennessee
Derakon wrote:
It sounds to me like what is being proposed here is generating many different "universes" -- potentially googols or more of them depending on how picky you are -- until you get the one with the desired perfect initial conditions, and only then will you deign to enter the universe and start controlling things "normally".
I like your multiverse analogy. And to extend of that, I propose that the problem we have is that we do have to PICK a universe. Up to now, we've been living in a universe outside of our control. And the universe conditions have been decided by emulator coders making semi-arbituary decisions, certainly without thought as to what the ideal scenario is for TASing. We have the power to pick a universe and as such we are in fact picking a univserse. If we decide to stay in the comfortable universe that was given to us, we are still deciding that one over another. So why are we picking on vs another? And what criteria do we pick one? And by what criteria to we deem on to be cheating and not another?
It's hard to look this good. My TAS projects
adelikat
He/Him
Emulator Coder, Published Author, Site Developer, Site Owner, Expert player (3602)
Joined: 11/3/2004
Posts: 4739
Location: Tennessee
feos wrote:
That's where you will need test ROMs and quite some stats.
Well, that essentially achieves the same results as Derakon is suggesting. Because it has to be likely enough that a human could verify it to be possible or else we will never be able to verify it being possible.
It's hard to look this good. My TAS projects
adelikat
He/Him
Emulator Coder, Published Author, Site Developer, Site Owner, Expert player (3602)
Joined: 11/3/2004
Posts: 4739
Location: Tennessee
Derakon wrote:
My general attitude towards this kind of thing is that if your approach could realistically be replicated on the console, then it's legit.
This is a reasonable suggestion except for that fact that we generally deal in absolutes. When has "how possible" ever been a factor with TAS techniques? We have RNG abuse to the point that the heat death of the universe will happen before a reasonable chance of reproducing the TAS. I am resistant to the idea (not sold against completely) of having to deal with how likely something is. In fact the more unlikely the more fascinating it is to me.
It's hard to look this good. My TAS projects
adelikat
He/Him
Emulator Coder, Published Author, Site Developer, Site Owner, Expert player (3602)
Joined: 11/3/2004
Posts: 4739
Location: Tennessee
adelikat wrote:
My admin/judge ruling is that we should discuss and vote as a community as to whether unitialized ram/register exploitation should be allowed. This should probably be a separate thread and maybe a poll.
Here. Please vote and discuss!
It's hard to look this good. My TAS projects
Post subject: Site policy regarding Alternative RAM stats on Power-up
adelikat
He/Him
Emulator Coder, Published Author, Site Developer, Site Owner, Expert player (3602)
Joined: 11/3/2004
Posts: 4739
Location: Tennessee
My motivation behind my Cheetahmen II submission was to show bring up this issue and show off the potential it has for TASing, and the potential ramifications it has on the site. For those unaware of the situation, hardware RAM is in an undetermined state on power-on (meaning it is unknown as to whether it is 0 or 1). Most any game is programmed to not assume, and set the desired value before using it. However, some games fail to do this due to bad programming or a small oversight in a particular situation. This causes indeterminacy, which is experienced by anyone trying to get a TAS to sync using a bot. Another example of this discussion is regarding Blades of Steel. The opening movie is different due to the fact that the rng is seeded by unitialized RAM. Up to now, we have just used the "default" state that an emulator chooses to intialize RAM. The emulators we rerecord on have a defined default state, however some emulators should use to use a random value when initializing to simulate the indetermancy of hardware. This is at odds with syncability so we prefer emulators not do this, and would mod them if necessary to avoid it. However, there isn't necessarily a logical default state. For instance, some games break if the nes is all 0's. As such the FCE emulator a LONG time ago used the pattern 0000FFFF00000FFFF because it gave good compatibility (popular games that requrie a non 0 pattern work, and only a handful of very obscure pirated games are known to fail from it). By convention FCEU, FCEU-rr, and FCEUX still use the core from this emulator to this day so we have had the convention of it being the basis for TASing. NESHawk also adopted this pattern because it was easy to choose that vs trying to do some other scheme. However, these decisions are based on emulation considerations not TASing. With my cheetahmen II submission I show another alternative. We can have our cake and eat it too. We can have determinism by an emulator having a default state. We can exploit randomndess by having a movie FEED a particular (valid) state into the core to use as its power-on state. This allows us to do things like get a more favorable RNG state. An example of this is potentially Friday the 13th for NES. I've did some experiments and it looks like the RNG is using unitialized RAM. It may be possible to get a RNG state that could improve the current TAS. In more complex scenarios we may be able to do amazing things to a SNES game. We could have an entire program sitting in unitialized memory, and through memory corruption techniques maybe we could get the game to start executing at this point and completely take over the game (hypothetical, and unlikely, but certainly interesting). However, this is a potentially controversial decision. While I favor the idea (and vote yes on this poll), I think we should decide, as a community, what to do in terms of site policy.
It's hard to look this good. My TAS projects
adelikat
He/Him
Emulator Coder, Published Author, Site Developer, Site Owner, Expert player (3602)
Joined: 11/3/2004
Posts: 4739
Location: Tennessee
feos wrote:
But currently it is just not the case. So I'm speaking in consistency with the current categorization.
That's fine, except that you must understand that the vault wording isn't based on that. Whether that is an error is up for debate, but the meaning of "any%" means fastest completion time at all costs.
It's hard to look this good. My TAS projects
adelikat
He/Him
Emulator Coder, Published Author, Site Developer, Site Owner, Expert player (3602)
Joined: 11/3/2004
Posts: 4739
Location: Tennessee
Categorization issues: 1) Feos, you seem flat out wrong about something, or I am misunderstanding your posts. Vault rules say the categories are any% and 100%. The definition of any% in this case is THE FASTEST POSSIBLE COMPLETION TIME. Unfortunately, I have allowed the site to blur that simple definition of any% by having a "glitched" category that is faster than a "any%" category in some cases. I completely disagree with this categorization though. any% should be the fastest movie, then we should have a better naming of movies that forgo major skips/glitches. The vault absolutely prefers the faster movie, not a (more ambiguous) movie that fails to do a time saving glitch. By that same regard 100% should be completely unabmiguous too. If the definition of 100% is disputed for a game, then we should prefer NOT to publish such a movie to the vault. The key is to make the vault as unambiguous as possible. The more subjective the situation is, the more we want it to be based on some level of entertainment value and feedback from the audience. 2) This movie is vault material, there's no way this or any movie of cheetahmen II is worthy of any tier requiring entertainment value (imo). I personally vote no for entertainment. 3) This and the currently published movie (that uses the fixed) version are vault compatible I think. This movie serves as the fastest possible completion (any%), while the other movie shows all levels (100%) 4) This movie doesn't "complete" the game, that's a fair point. However, the difference between this one and a movie that uses the fixed version to complete the game are actually extremely similar (visually and conceptually) a) The game has no ending, it was not programmed in the game. The fixed version simply transitions to a game over screen as if you died. I achieve that same "ending" by....dying. b) The game has a bug that makes it impossible for the last blow to the boss to kill him. You can get him down to 1 health (actually it is -126, weird game), and do a blow that has the "ouch" sound effect due to hitting him. However, due to programming bug, the health isn't reduced to 0 (-127). I perform this final blow though, it is only a glitch that prevents his death. c) Even if the bug in b) were fixed, the game still will fail to end the level due to yet another glitch. This one also affects level 4, and is why you can't do an all levels run of the game without a modified ROM. d) Based on these facts, I do complete the game as much as I possibly can. You see the final level, you see the final boss, and I damage him sufficiently to kill him (even though it doesn't). SO basically, I did as much as I could, and the difference is negligible. Also, I chose to die while performing the final blow, to achieve some kind of "ending". If anyone has other ideas or preferences to how I deal with the ending, I'm open to them. e) Nobody has asked this surprisingly, but this movie does NOT improve any of the levels as compared to the published movie. I did gain a frame in level 6 but some circumstances caused me to lose it. The currently published movie is tightly optimized :) 5) This movie should certainly get some kind of special tag or mention about the situation. I don't know what exactly (but I do know it should not be tagged as a savestate movie!) and I think some serious discussion and thought should be had as to how we handle these types of movies from a site perspective. I'm also open to the idea that we don't allow these kinds of movies as a site policy. However, I personally am in favor of it. In summary: I believe this movie finishes the game sufficiently, and serves as a fastest completion category, and therefore is publishable under vault rules. These are my opinions as a viewer, not an admin/judge ruling. My admin/judge ruling is that we should discuss and vote as a community as to whether unitialized ram/register exploitation should be allowed. This should probably be a separate thread and maybe a poll.
It's hard to look this good. My TAS projects
adelikat
He/Him
Emulator Coder, Published Author, Site Developer, Site Owner, Expert player (3602)
Joined: 11/3/2004
Posts: 4739
Location: Tennessee
Wow, so many things to have to respond to! I'll try to get them all in one post: 1)
BadPotato wrote:
that we aren't talking about the fact the the game use a patch(why this isn't in the description???) to bypass the game over screen since the submited movie doesn't "complete" the game without it.
You are mistaken. This submission uses the ORIGINAL cart. All previous submissions use a fixed version that has said patch. As such this version does not "complete" the game in the way that the patched one does. It delivers the final blow to the boss (which should send him to 0 health but a glitch prevents it) then promptly dies. 2) Some people have already basically made this point but here's my take on the difference between a savestate and the conditions of hardware on power-on: If you think about it in terms of a timeline. Power-on is point 0 of the timeline. A savestate is some point after 0. A savestate could theoretically be a state identical to a valid point 0. But power-on MUST be a state valid for point 0. The savestate tag should be used when the movie starts from a point that is not not possible to be a valid point 0. And we have some precedence for this. DS movies specify RTC. In real world terms, that means that a DS must be powered up at EXACT a particular point in time for the TAS to sync. To DSbot my NSMB tas for example, you would also need a time machine (or set your internal clock to the correct time, but that's a less fun example). These TASes are considered valid, because this is a valid state for a DS to be in on power-on. Yet, this is information that could also be attained at a point in the timeline beyond 0, therefore a movie could start from a savestate and achieve the same results. 3) cart register states are indeed part of savestates. Both the console hardware state AND cart hardware states must be saved into savestates to have determinism. 4) Questions about mapper 228 accuracy and starting from level 6. Starting from level 6 isn't possible from power-on, there is no register state that can cause this. It is also inconsistent with all the evidence I've seen regarding UNMODIFIED carts. The guy who made the proof video for us has never seen that happen either (while reproducing level 5 is very easy). I could see maybe it happening from resets, but I don't suspect it happening from an IMMEDIATE reset after a power-on. it is possible that upon reset the game doesn't clear out all of the ram space, and that some of these values in combination with an assumed register state could cause this? I'm not sure, nor have I seen good evidence from an unmodified cart. And as for 228 accuracy, I'm skeptical that there is something missing here. It is a pretty straightforward board, and nothing fancy happens upon a reset signal compared to any other board. I don't think that is a sufficient answer as to why doing this via reset is impossible. I think more probably that there is 1) more going on that we realize with reset based glitching 2) It doesn't happen from reset, and that videos that suggest it are just being imprecise as to which button they are pressing (people are lazy about the distinction between soft and hard resetting). I'll post again regarding my thoughts on categorization of this movie (and other movies).
It's hard to look this good. My TAS projects
adelikat
He/Him
Emulator Coder, Published Author, Site Developer, Site Owner, Expert player (3602)
Joined: 11/3/2004
Posts: 4739
Location: Tennessee
AngerFist wrote:
start fceux.exe -readonly 1 -pause 1 -playmovie "Movies/Mega Man (U)-0.fm2" "Rom/Mega Man (U).nes".
It should be ./Movies the . denotes "relative to the exe directory, without it it looks at your text as a full path
It's hard to look this good. My TAS projects
adelikat
He/Him
Emulator Coder, Published Author, Site Developer, Site Owner, Expert player (3602)
Joined: 11/3/2004
Posts: 4739
Location: Tennessee
Radiant wrote:
This run uses a permutation of six bytes
Actually it is 6 bits ^_^
It's hard to look this good. My TAS projects
adelikat
He/Him
Emulator Coder, Published Author, Site Developer, Site Owner, Expert player (3602)
Joined: 11/3/2004
Posts: 4739
Location: Tennessee
AnS wrote:
That's the point I was trying to convey since the first page of the topic: let's realize that this movie essentially starts from a savestate
And now we are on page 6 and I'm no closer to agreeing with this.
It's hard to look this good. My TAS projects