Post subject: Re: How Perfect does RNG have to be?
Site Admin, Skilled player (1234)
Joined: 4/17/2010
Posts: 11251
Location: RU
PlayPatrice wrote:
My question is - At what point can RNG intensive sections of a game be considered "Good Enough"? Do I need to use my "Optimized" day 1 solution as opposed to my Non-Optimized "Swag" start, even though the SWAG start gives me a better RNG sequence on day 2? Without help from someone in terms of RAM watch or RNG reverse engineering, spending another 100 hours trying to brute force a solution that /Might/ be faster than what I have doesn't sound like an effective use of my time considering I have another 1.5-2.0 hours of gameplay I need to do frame inputs on.
No movie is unimprovable, so yours doesn't have to be. But make sure we can't easily beat your time. For that, achieve as good time (overall) as you reasonably can. If you can't beat your own time anymore, it's usually a good indication the movie is well done. On the other note, there is a page that provides some hints on Wiki: ReverseEngineering. It's not all that hard when you know what you need to do.
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.
PlayPatrice
He/Him
Joined: 3/31/2019
Posts: 20
All right. Thank you for the reply. Thank you for the link. ^.^ I will see what I can do.
Doomsday31415
He/Him
Active player (291)
Joined: 8/28/2018
Posts: 75
Location: United States
Question about the category tag "Uses a game restart sequence": Does this include pressing reset at the very beginning to skip the intro?
Site Admin, Skilled player (1234)
Joined: 4/17/2010
Posts: 11251
Location: RU
Doomsday31415 wrote:
Question about the category tag "Uses a game restart sequence": Does this include pressing reset at the very beginning to skip the intro?
The definition includes all cases: http://tasvideos.org/MovieClassGuidelines.html#UsesAGameRestartSequence
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.
Doomsday31415
He/Him
Active player (291)
Joined: 8/28/2018
Posts: 75
Location: United States
Great. Thanks!
InputEvelution
She/Her
Editor, Player (13)
Joined: 3/27/2018
Posts: 166
Location: Australia
I have two questions relating to potential Wii Sports Resort TASes: Golf has 21 courses, but you can only play 18 in one game - the "Special" holes are isolated from the others. Would it be better to have a "Golf, 18-hole game" and "Golf, Special course" category, or to slam them both into a larger category? When first booting up the game, you're usually forced to play through an altered version of the Skydiving game mode before you can do anything else. The game doesn't even count it towards your progress - in an All Sports TAS, you would still have to play through it again later. Given the inconvenience of this, would it be acceptable to just have a verification movie attached for some TASes so that they don't have to do this?
Site Admin, Skilled player (1234)
Joined: 4/17/2010
Posts: 11251
Location: RU
TheProJamer wrote:
Golf has 21 courses, but you can only play 18 in one game - the "Special" holes are isolated from the others. Would it be better to have a "Golf, 18-hole game" and "Golf, Special course" category, or to slam them both into a larger category?
Isolated in what way? If they only become accessible after having completed (or tried) the 18-hole game, we'd only accept a movie that plays Special alone if those are entertaining enough for Moons. In that case, it'd be better to play all the golf courses in one movie. If they are accessible independently from the start, they can be played independently and be acceptable, but given the nature of the game, I guess playing all the golf courses in one movie still makes the most sense. So yeah, just do all golf courses in one movie.
TheProJamer wrote:
When first booting up the game, you're usually forced to play through an altered version of the Skydiving game mode before you can do anything else. The game doesn't even count it towards your progress - in an All Sports TAS, you would still have to play through it again later. Given the inconvenience of this, would it be acceptable to just have a verification movie attached for some TASes so that they don't have to do this?
How long does it take though?
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.
InputEvelution
She/Her
Editor, Player (13)
Joined: 3/27/2018
Posts: 166
Location: Australia
A couple of minutes, if I recall correctly. But if it were required, those couple of minutes would have to be at the beginning of every Wii Sports Resort TAS, even if it didn't include skydiving at all. It's not so much "Newgame+" as it is "annoying first boot-up sequence".
Site Admin, Skilled player (1234)
Joined: 4/17/2010
Posts: 11251
Location: RU
We don't have a workaround rule for "annoying boot-up sequence", and I don't think we should, because scenarios one might want to work around could be endless, and having an exception for every iffy case would mean no solid rule is even there. So it's annoying but we'll have to deal with it.
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.
XTREMAL93
He/Him
Active player (340)
Joined: 1/6/2012
Posts: 576
Location: Azerbaijan, Baku
How do you determine that one emulator is more accurate then another?
Skilled player (1703)
Joined: 9/17/2009
Posts: 4952
Location: ̶C̶a̶n̶a̶d̶a̶ "Kanatah"
Using BizHawk 2.3.1, the Air Burst gameboy TAS desyncs due to BIOS start (among difference in lag). Fixing it gives the following times: Gamebatte core:
Stage	Start	End	Time
1	1079	1271	192
2	2095	2347	252
3	3253	3513	260
4	4375	4551	176
5	5627	5983	356
6	6942	7314	372
7	8262	9026	764
8	10108	10424	316
9	11290	11702	412
10	12584	12888	304
11	13841	14369	528
12	15326	15974	648
13	16978	17722	744
14	18721	19469	748
15	20325	20853	528
GBHawk core:
Stage	Start	End	Time
1	1026	1218	192
2	2025	2277	252
3	3166	3426	260
4	4271	4447	176
5	5506	5862	356
6	6807	7179	372
7	8110	8874	764
8	9941	10261	320
9	11110	11522	412
10	12387	12691	304
11	13627	14155	528
12	15095	15743	648
13	16730	17474	744
14	18457	19205	748
15	20044	20572	528
In GBHawk, only stage 8 was slower due to additional lag. Every stage transition saves 14-17 frames compared to Gamebatte for some reason. This amounts to a total of 281 frames "saved" simply by switching cores. With that said, would this be allowed? 1. Submit improvement of the current Air Burst TAS using gaembatte, wait for it to be published. 2. Submit the resynced version (also using the same BizHawk version 2.3.1) in GBHawk 3. Get it published as a 281 frame improvement doing nothing. Both versions uses BIOS startup. There's a rule saying "If a published movie uses an inaccurate emulator and you have the choice of a more accurate one, use the latter." In this case, both cores score 89.4% on accuracy tests. Do I just play it safe, and submit it using Gamebatte (since it has pokemon console verified runs), and hope noone tries to do the steps above? Edit: Even if loading times did not count, and there's no RNG, GBHawk mysteriously lags differently in stage 8, losing 4 frames during the fight with all input the same otherwise. Then steps 2 and 1 simply gets swapped, and for step 3, claim it's a 4 frame "improvement" using Gamebatte, disregarding difference in loading.
Site Admin, Skilled player (1234)
Joined: 4/17/2010
Posts: 11251
Location: RU
We explain it further in Judge Guidelines:
Improvements and obsoletions wrote:
A new movie may involve emulation accuracy improvements. Always ensure the new movie has gameplay improvements. If the new timesavers can be applied to the old movie, they count as improvements. If new timesavers only become possible due to accuracy improvements, they are also valid. But if the only difference is in slightly different timing of otherwise identical events, it's not an improvement, but only a resynchronization.
I still see no reason not to use a faster core, but it's up to you.
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.
Alyosha
He/Him
Editor, Expert player (3514)
Joined: 11/30/2014
Posts: 2713
Location: US
You can't directly compare lag frames between gambatte and GBHawk. They deal with time when the screen is turned off differently. If you looked at cycle counts for the loading times / screen transitions they will almost certainly be identical. It's an unfortunate consequence of the fact that the gameboy can turn off the LCD completely and therefore lose the conventional idea of a video frame. The lag in stage 8 is more interesting though. You might want to look at some trace logs around those frames between the cores to see what exactly is going on. Also try GBHawk in the current dev build to see what you get, improvements have been made since 2.3.1. Also that accuracy test table is very outdated, and is missing some very important tests. With so many screen transitions it's probably preferrable to use gambatte since the encode will be more reflective of an actual gameboy, especially with audio, given that there is no RNG. Once there is a method of console verification available for original GB, it can always be revisited. Also as a bit of an aside, 'more accurate' doesn't really mean much, it's either right or its wrong.
Skilled player (1703)
Joined: 9/17/2009
Posts: 4952
Location: ̶C̶a̶n̶a̶d̶a̶ "Kanatah"
Would it help if I ran that console verify script on both versions of the run and post results here?
Alyosha
He/Him
Editor, Expert player (3514)
Joined: 11/30/2014
Posts: 2713
Location: US
jlun2 wrote:
Would it help if I ran that console verify script on both versions of the run and post results here?
What is that?
Skilled player (1703)
Joined: 9/17/2009
Posts: 4952
Location: ̶C̶a̶n̶a̶d̶a̶ "Kanatah"
https://pastebin.com/DXiDT9ZT
Game Boy/ Game Boy Color Console Verification Pipeline with new halt bug accuracy Needed - A Game Boy Player and Game Boy Interface (GBI). An SD Media Launcher, modchip, or some other method is needed to load GBI and the input movie. These methods are -only- used to load the GBI homebrew software and interact with the Game Boy Player, they do not in any way modify the behavior of the official Game Boy Player hardware. Use BizHawk 2.3.1 Write your TAS using the Gambatte core and use this LUA script to dump the inputs to a file that GBI can use. There are some indications that it is faster and more accurate than the GBHawk core at the moment. https://pastebin.com/NbTRNePD Alternatively, write your TAS using the GBHawk core and use this LUA script. https://pastebin.com/GD0ZTJYe rename your timestamp output to yourmoviename.txt and optionally gzip it put the movie file on an SD card with GBI or GBI-HF, both inside a folder named GBI (for example E:\GBI\gbihf.dol and E:\GBI\yourmoviename.txt.gz) create a CLI file in the same directory name gbi.cli or gbihf.cli respectively to pass your input movie to GBI, the cli should contain an argument --movie=yourmoviename.txt.gz along with any other arguments that you use to tune GBI. Run GBI or GBI-HF from the SD card. I do this using Swiss, which I rename to autoexec.dol and place on the root of the FAT16 formatted SDHC SD card. From swiss it's easy to choose which version of GBI to load to load other homebrew. Watch as GBI plays back your console-accurate TAS! Credit to Extrems, AlyoshaTAS, and Gifvex for their help with getting console verification to where it is.
This was mentioned on those pokemon GB TASes. I also posted a link to it on the console verify thread.
Alyosha
He/Him
Editor, Expert player (3514)
Joined: 11/30/2014
Posts: 2713
Location: US
That only works for TSAes made in GBA mode to my knowledge. If you are making a new TAS in GBA mode then by all means use that script and maybe the pokemon people who have the hardware setup can run it and see which one works on hardware (if either.) The script just converts your movie to a file that the hardware can use, it doesn't verify anything on its own.
Skilled player (1703)
Joined: 9/17/2009
Posts: 4952
Location: ̶C̶a̶n̶a̶d̶a̶ "Kanatah"
Air Burst for GB uses a password system to get to stages 6, 11, 16, 21, 26. Due to the end stage score countdown, it can be faster to soft reset the game, and use the password to get to the next stage. Is that fine? eg. 1. Beat stage 10 2. Soft reset as soon as stage ends 3. Enter password to stage 11 This for instance saves 131 and 1,215 frames for the transition from stage 5 -> 6 and stage 10 -> 11. The 5th/10th/15th/20th/25th stage is still beaten normally, and nothing was skipped except the score countdown. The password used is also given if you had went through it normally.
Site Admin, Skilled player (1234)
Joined: 4/17/2010
Posts: 11251
Location: RU
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.
Skilled player (1703)
Joined: 9/17/2009
Posts: 4952
Location: ̶C̶a̶n̶a̶d̶a̶ "Kanatah"
InputEvelution
She/Her
Editor, Player (13)
Joined: 3/27/2018
Posts: 166
Location: Australia
I've recently been pondering the situation regarding TASes for Sonic Adventure DX, Sonic Adventure 2 Battle, and Sonic Heroes on the site. Currently, playing through the full campaign of one of the characters/teams is considered to meet the necessary criteria to be accepted as a branch. This makes a certain amount of sense, as you either need to first unlock other character's campaigns playing through Sonic's (in the case of DX), or are given a choice of which campaign to play through at the start, and playing through any of these campaigns will give you a credits roll. Separate branches for each character is also how the classic games were handled. However, the Adventure games are different in that the player is not simply expected to play through a single campaign. In all of these games (as well as Shadow and Sonic 06), all of the campaigns surround a loose story arc. Only once you complete all of them do you unlock the final portion of the story which ties everything together, and only once you beat that are you considered to have beaten the game. This isn't simply a 100% completion bonus, either - all of these games have additional content on top of this which implies that you are meant to do this - even if it means watching the credits roll 7 times. This puts TASVideos in a difficult situation, especially given that they have already accepted 3 runs which each play through a single campaign. The simplest solution might at first appear to be to keep the branches as is - but this means that every single campaign has to be kept as a separate branch, which in the case of SADX means SEVEN Any% branches. To make matters worse, currently each of these unlockable branches requires all of the work required to unlock them be included as part of the run, meaning that the "Super Sonic Story" branch would include all of the content that was in the six other branches! It is clearly preferable to instead allow an "all stories" branch to instead take the place of an Any% run and obsolete all the old branches, but then how does that affect submission in the mean time? Are the existing runs removed, on the grounds that they don't properly encompass a full playthrough? Are future runs rejected, despite mirroring existing branches? When do we stop and say that a campaign playthrough is only acceptable as part of an "all stories" TAS?
Site Admin, Skilled player (1234)
Joined: 4/17/2010
Posts: 11251
Location: RU
Individual characters don't necessarily lead to new branches being publishable. Only those characters that inherently introduce 50% or more unique gameplay (levels, bosses, etc). Then they count as separate game modes and can be published separately. But that's for vaultable stuff. In Moons you just need to be entertaining and have sensible goals. If each character introduces enough unique gameplay to count as mode, each can have a branch. If there's a branch that includes them all, it supersedes individual character branches. However that would make improvements to individual characters hard to get through - not everyone is ready to replay all modes just to introduce an improvement to one of them. As for unlockable content, you can unlock it in an unoptimized verification movie, and then play unlocked content after it, save-anchored movies are fine in that case (provided they are entertaining).
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.
InputEvelution
She/Her
Editor, Player (13)
Joined: 3/27/2018
Posts: 166
Location: Australia
The existing Tails Story run of Sonic Adventure DX was submitted with the intention of unlocking Sonic not being counted in the final time - however, upon submission it was decided that unlocking Tails should be counted as part of the run.
Site Admin, Skilled player (1234)
Joined: 4/17/2010
Posts: 11251
Location: RU
You talk about unlocking Sonic and then unlocking Tails in a Tails movie. I'm confused. Also what's the question?
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.
InputEvelution
She/Her
Editor, Player (13)
Joined: 3/27/2018
Posts: 166
Location: Australia
I meant to just say unlocking Tails. It wasn't really a question, just a response to the last paragraph of your post.