Posts for Alyosha

Alyosha
He/Him
Editor, Experienced Forum User, Published Author, Expert player (3572)
Joined: 11/30/2014
Posts: 2744
Location: US
http://pastebin.com/Ru5ZKyYB Ok, so I created a lua file to determine the solution for every initial value of $09 given perfect menuing. That pastebin link is the result. Using that, I found that Deign's original solution could be achieved with perfect menuing with seed 90 (0x5A) Using this info, I then made lua run a game with this seed and play to the end. The result is that Deign's run, if played on bsnes with perfect menuing, would be 1615 frames long. This is considerably longer then the snes9x 1.43 version, but is still quite a bit shorter then in Spikestuff's submission. So the 1615 frames can be considered the ideal re-sync of Deign's run, and any run shorter then that would be a true improvement. I'll try to find such a solution, it shouldn't be too hard now that I have some of the machinery in place. For anyone interested, here is the script: http://tasvideos.org/userfiles/info/28726429975577947 You'll just need to make a savestate at frame 0 and save it under the correct name.
Alyosha
He/Him
Editor, Experienced Forum User, Published Author, Expert player (3572)
Joined: 11/30/2014
Posts: 2744
Location: US
Thanks to the great work of Dark Noob and SDR I can cross off two of the more conceptually difficult runs off this list! I could probably never do that kind of TAS so I'm glad this worked out with a really good run to obsolete those old snes ones. With Wai Wai World on the workbench this project is nearing the half way point in terms of number of runs from when I started! Of course probably only about 1/3 of the total work has actually been done, as there are several long runs still looming, but things are looking up!
Alyosha
He/Him
Editor, Experienced Forum User, Published Author, Expert player (3572)
Joined: 11/30/2014
Posts: 2744
Location: US
I originally didn't think this would be that interesting given the intended glitches, but you all managed to find something petty neat, awesome!
Alyosha
He/Him
Editor, Experienced Forum User, Published Author, Expert player (3572)
Joined: 11/30/2014
Posts: 2744
Location: US
http://tasvideos.org/userfiles/info/28704389615031569 Oops you are right, my mistake, please replace the submission file with this one. Also thanks a lot for the temp!
Alyosha
He/Him
Editor, Experienced Forum User, Published Author, Expert player (3572)
Joined: 11/30/2014
Posts: 2744
Location: US
Since I couldn't find a topic about this I decided to make one to at least document findings / information. This is probably the simplest and clearest case of RAM initialization (aside from the trivial example in NES Cybernoid) that makes a good sandbox model. RNG and RAM: The game uses a counter that increments once per frame (excluding some laggy parts) from power on. This counter is at $09. The important point here is that the game never sets the initial value here, and just constantly INC's it until the screen asking you to press start to play, at which point the solution to the game is decided. As it happens, we have 2 snes emulators that are very accurate (using bsnes 0.85) and otherwise mostly the same aside from initial RAM state. Bizhawk has initial value of #$C3, while lsnes has initial value of #$55. As demonstrated by spikestuff, these lead to very different solutions. Game info: Deign found that the solution is stored in the following form: 7E1048: Culprit 7E104A: Weapon 7E104C: Room Each is one byte, and the following values represent each person: 00 - Col. Mustard 02 - Professor Plum 04 - Mr Green 06 - Mrs Peacock 08 - Miss Scarlet 0A - Mrs White 0C - Knife 0E - Candlestick 10 - Revolver 12 - Rope 14 - Lead Pipe 16 - Wrench 18 - Hall 1A - Lounge 1C - Dining Room 1E - Kitchen 20 - Ballroom 22 - Conservatory 24 - Billiard Room 26 - Library 28 - Study Optimization: Deign in his run mentions that different choices take different amounts of time to load and gave guidelines for which is the fastest / slowest. This was done in snes9x 1.43 and I'm not yet sure how well it translates into current emulators, but there are some solutions which are noticeably slower then others, so this needs to be investigated. There are a relatively small number of solutions and player choices, so a bot would probably be the fastest way to work out what the true optimal run would look like. Judging by Deign's notes I think this should Green accusing Green with the wrench in the ballroom, but I'm not positive. I'll update this with more information as I work on it.
Alyosha
He/Him
Editor, Experienced Forum User, Published Author, Expert player (3572)
Joined: 11/30/2014
Posts: 2744
Location: US
Well, looks like there is still more to consider that I initially got wrong. After reading Deign's submission text a bit more carefully, it turns out he is referring to the time needed for the animations and such to play out after the accusing is done, not just the time it takes to make them. This holds in Bizhawk too. http://tasvideos.org/userfiles/info/28692715932855699 here for example is a 3 frame faster movie that still has mustard using the knife but has a suboptimal (in terms of input) room selection. Looks like there is still more to document in this game. the first thing I will do is properly document which room goes to which hexcode, unless you already have that info spikestuff? It will still come down to uninitialized memory though, so this doesn't really address the original problem.
Alyosha
He/Him
Editor, Experienced Forum User, Published Author, Expert player (3572)
Joined: 11/30/2014
Posts: 2744
Location: US
^wow so fast D: I was going to try in lsnes but I quickly got lost, I guess I am too spoiled by TAS Studio. @Nach: well it is possible to get the same accusation (scarlette accusing herself) as in snes9x, you would just need the right starting value for $09 to have an optimal room. It would still contain the same 1 frame improvement. But since the published run has 17(.5) votes and an entertainment rating of 4, maybe it's not as important and it just belongs in the vault, it's still technically interesting if nothing else. EDIT: uh oh, looks like lsnes has a bad RAM initial state too (setting everything to 55) giving the rope as the weapon, oh well. Can it be set manually?
Alyosha
He/Him
Editor, Experienced Forum User, Published Author, Expert player (3572)
Joined: 11/30/2014
Posts: 2744
Location: US
Well nothing can come of this as long as the run remains cancelled, might as well give it a shot right? I've pm'ed dwangoAC about console verification, I am willing to acquire the game at any rate. Well I think people are open to alternatives, both Agfaq and I mentioned co-authorship. In terms of whether this is a gameplay improvement or not, for this game moving the selection box on the screen is the only action, that is how the game is played. In Deign's run he needs to go to the middle box, the input for this is L,D,A, each in it's own frame as this is how the game accepts input. In Spikestuff's run, the input is _,A, as confirming a selection cannot happen on the first frame, and no movement is needed. This is the only possible type of improvement there is, as this is all the game does. So I hope this is clear at least on why the 1 frame of savings is a real savings and not fabricated by the emulator. In fact any RNG that created the situation of (U|D|L|R),A would have the same improvement, which should be about 1/3 of them. EDIT: Oh and the solution is set at the time when the game asks you to start. This is long before the final room selection where the improvement frame is.
Alyosha
He/Him
Editor, Experienced Forum User, Published Author, Expert player (3572)
Joined: 11/30/2014
Posts: 2744
Location: US
Just a little follow up here. As Spikestuff mentioned in the submission text, selection input is only accepted on the second frame after input starts for the culprit/weapon/location screens, while movement is accepted on the first. Since you can move up,down,left, or right on each screen (the menus wrap around) this means 5 people, 5 weapons, and 5 locations are all reachable optimally in terms of gameplay. So 125 of the 324 possible outcomes are actually optimal in terms of gameplay. (Well $09 is only one byte so maybe only 256 of the total possibilities are included in the game but I didn't check.) Anyway, this means 1/3 to 1/2 of the possible solutions are optimal ones. So Deign just got bad luck that snes9x chose a bad RAM start up state, how unfortunate. Nevertheless, this is a real improvement, as it takes 2 movements to reach the ballroom in Deign's run, but 1 or fewer is optimal. It's not really a question of emulator accuracy anymore, but one of RAM initialization, which is a very different matter. @Spikestuff: would you consider un-cancelling this run given this new information? It's an interesting case and I think a good use of the 5000th submission!
Alyosha
He/Him
Editor, Experienced Forum User, Published Author, Expert player (3572)
Joined: 11/30/2014
Posts: 2744
Location: US
@Mothrayas: Well I definitely agree that only console verification will be definitive, just talking about it won't resolve anything. But, it seems things are more interesting then just accuracy differences. I looked into the game code a bit, and what I found is the RNG depends on uninitialized memory. Specifically, a counter at $09 is incremented from its power on position as the game runs. The game does not initiailize memory, so the chosen emulator power on state is used. Eventually, once the menuing starts, the value is used to store an RNG seed of sorts in $C3. From here various operations are done to get the game solution. You can easily demonstrate this by changing the initial value of $09 in hex editor on the first frame of spikestuff's movie, or by trace logging the game from power on, the first instruction you will find for $09 is INC Interesting!
Alyosha
He/Him
Editor, Experienced Forum User, Published Author, Expert player (3572)
Joined: 11/30/2014
Posts: 2744
Location: US
I've read through the pokemon yellow one and I don't think the situation is the same. The difference between VBA and Gambette is not particularly well demonstrated as far as I could find, however the difference between bsnes and snes9x 1.43 is pretty plain. Almost certainly, the result in Deign's run is just plain wrong, and I don't see how you cannot obsolete an incorrect result with a correct one. (But as mentioned above this is hypothetical until tested.) The correct one is even faster by 1 frame of gameplay improvement. Being Overcome By Events is something that happens all the time. Deign didn't have control over it, but that doesn't mean its unfair to obsolete a run that is inaccurate with one that is. At worst, just put 'Deign & Spikestuff' as the authors. Assuming that it is demonstrated to be so of course, which is the crux of my argument I guess.
Alyosha
He/Him
Editor, Experienced Forum User, Published Author, Expert player (3572)
Joined: 11/30/2014
Posts: 2744
Location: US
I have to say I do not think that is very good precedent. If spikestuff's run is faster (in terms of gameplay) on a more accurate emulator then it should be the one published, not the inaccurate one. It's not what can be done on snes9x 1.43 that should be the benchmark, but what can be done on console, and spikestuff's explanation make's it clear why he saved one frame. Of course this is only hypothetical without actually being tested. I would gladly send any of our amazing console verifier people a copy of this game to get it done. Pokemon yellow probably had little chance of syncing anyway regardless of core, but this is comparing bsnes and snes9x we're talking about here, I htink it's a good chance to make a new precedent.
Alyosha
He/Him
Editor, Experienced Forum User, Published Author, Expert player (3572)
Joined: 11/30/2014
Posts: 2744
Location: US
After many, many attempts at lag reduction, here is the first level of wai wai world, 170 frames ahead of fuzi2. http://tasvideos.org/userfiles/info/28612985722603033 Pretty much the only improvement is in lag reduction, as the level is pretty linear and the route of the game overall seems pretty well optimized. To get that lag reduction though was no easy feat. There is a lot of manipulation and careful movement needed, I do hope the other levels are easier then this one. Oh, i also found a bug where if 1 character dies right when there is a screen transition, the game will crash. I didn't look too deeply into it , but it looks like a stack corruption glitch. I couldn't get anything besides a crash to happen, it eventually ends up at a 02 opcode.
Alyosha
He/Him
Editor, Experienced Forum User, Published Author, Expert player (3572)
Joined: 11/30/2014
Posts: 2744
Location: US
wow another unexpectedly large improvement, nice! I started to look at this myself but it looked pretty fast already, glad you found a lot of improvements. 2016 is starting off as a great year for improvements!
Alyosha
He/Him
Editor, Experienced Forum User, Published Author, Expert player (3572)
Joined: 11/30/2014
Posts: 2744
Location: US
wow RobynS you are on a roll! Keep it up! Somehow I have never seen the arcade version of this before, looks fast and fun.
Alyosha
He/Him
Editor, Experienced Forum User, Published Author, Expert player (3572)
Joined: 11/30/2014
Posts: 2744
Location: US
Hurray for improvements! Who would have thought such a big improvement was possible? Keep up the great work BrunoVisnadi.
Alyosha
He/Him
Editor, Experienced Forum User, Published Author, Expert player (3572)
Joined: 11/30/2014
Posts: 2744
Location: US
The new in-game time is now: 51:15. The published run was at 53:15 before the last frame of input.
According to spikestuff, this movie is 32 frames faster over the current published run.
These 2 statements seem mismatched. Spikestuff was comparing to the cancelled submission, not the published one. Anyway, I'm glad the missing ring riddle is finally solved!
Alyosha
He/Him
Editor, Experienced Forum User, Published Author, Expert player (3572)
Joined: 11/30/2014
Posts: 2744
Location: US
grassini wrote:
i hope this obsoletes the new challengers ken zangief snes runs from the past,easy yes vote.
seconding 8D Also I really liked the Akuma vs Akuma fight, that was clever.
Alyosha
He/Him
Editor, Experienced Forum User, Published Author, Expert player (3572)
Joined: 11/30/2014
Posts: 2744
Location: US
Hurray time to remove Out to Lunch! That brings it down to 21. I'm still pretty stuck on Double Dragon, I also tried Cobra Triangle but it was so boring I couldn't continue. Most likely Wai Wai World will be my next target.
Alyosha
He/Him
Editor, Experienced Forum User, Published Author, Expert player (3572)
Joined: 11/30/2014
Posts: 2744
Location: US
Thanks for encoding this fsvgm777. Out of curiosity, how did you get rid of the high pitched whirring sound whenever an item is picked up? Is it just encoding magic? Honestly just having that removed makes the run much more enjoyable, thanks!
Alyosha
He/Him
Editor, Experienced Forum User, Published Author, Expert player (3572)
Joined: 11/30/2014
Posts: 2744
Location: US
dwangoAC wrote:
I would obviously prefer that this fell into a demo or technical showcase tier, but the site lacks that.
I'm not sure it was ever publicized but there is a recently added demonstration category at least that I hope this run makes it into. (Added about a week ago as far as I can tell.) I particularly like the high level of documentation done here, as this kind of knowledge is always at risk of being lost if not properly written down. The article can be renamed .lsmv and magically run? WOW!
Alyosha
He/Him
Editor, Experienced Forum User, Published Author, Expert player (3572)
Joined: 11/30/2014
Posts: 2744
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.
Alyosha
He/Him
Editor, Experienced Forum User, Published Author, Expert player (3572)
Joined: 11/30/2014
Posts: 2744
Location: US
I had a pc port of this as a kid and actually played it quite a bit. Looking forward to seeing som of the later mansions.
Alyosha
He/Him
Editor, Experienced Forum User, Published Author, Expert player (3572)
Joined: 11/30/2014
Posts: 2744
Location: US
If there is interest in Battletoads I'd be willing to work on it from the TAS end of things. I've been meaning to pick up that game for a while now anyway. I like console verification type things, so I'm willing to help on other games too. I don't have much hardware but if help is needed on the TAS end just let me know.
Alyosha
He/Him
Editor, Experienced Forum User, Published Author, Expert player (3572)
Joined: 11/30/2014
Posts: 2744
Location: US
I just realized this run doesn't make it to the credits, oops. I really only saved about 200 frames, not 600. Anyway I will cancel it for now pending the implementation of ram initialization in Bizhawk.