The Emulator

This run was made using this build, and here is the User/config folder. Also, be sure you don’t have any memory card in User/GC/. Game’s md5 is B1E5D16E9D507727FFFF234F2382C0EA

The Game

Billy Hatcher is a colorful but hard platformer/puzzle game made by the Sonic Team. The gameplay is simple : when you have an egg, you can dash, bounce jump, roll and do many other stuff which can be useful for a good platformer. If you feed the egg with some fruits that you can find on the enemies or on the ground, it will grow, and when it reaches its maximal size, you will be able to hatch it and get a monster. There are 72 different eggs in this game, all of them possess a different monster which have a different power. This makes for an awesome multiplayer mode, too.

The Run

This run aims to complete all the levels and solve all the puzzles… Oh wait it’s a Sonic Team game… This run aims to break all the levels of this game in as little time as possible. This goal can be justified by the fact that it’s different from: Any%: An any% run would just require getting 26 emblems and then going to the final boss. It would just do the shortest levels, completely ignoring the longer ones (see below at “The Levels”). 100%: a 100% run would require getting all the golden coins (the coins are scattered through the levels in a way that doesn't allow for much level breaking), hatching all the eggs (Some levels must be visited multiple times since you need to get the golden coins from other levels to unlock the sonic eggs), getting Rank S everywhere (requires getting high scores with more combos on enemies instead of ignoring them). This runs also uses death to go faster, and manipulates luck.
At the beginning, this run was only suppose to help me to learn to TAS this game, to try to discover some shortcuts and to make a final route for the any% run, but it turns out that, in my opinion, it’s actually quite optimized (way better that my other run) and entertaining. I will let you judge that of course.

What you may want to know to understand the run

Superjump > In this game, you can use many elements such as signs, chicken, trees… to bounce off at really high speed. The size of the egg changes the level of superjump. The best demonstration is the second level of Sand Ruin (6-2), where I only complete 40% of the level by skipping everything.
Luck Manipulation > The only thing I can be sure is that there are more than one RNG, so I tried to just manipulate Luck randomly (with my luck?), while not wasting time in the run of course. Luck manipulation includes: Fruit Manipulation (each egg type prefers one type of fruit and will grow faster if they eat it), tile manipulation (in the 5th world, the randomized tiles were manipulated to be completed as fast as possible), AI manipulation (enemies well placed, chickens not in my way, crows shadows in groups in the final world…)
Egg Damage > Some eggs deal less damage than others. For example, the bomb egg (the black one) will do one less damage than the normal egg (the white one with blue dots).

The Levels

There are 6 different types of levels:
- Save the Elder: These have to be done to complete the game. You need to find the Elder Egg (the gold one) and make it hatch to restore morning to the world. The strategy is simple, get the Elder egg and manipulate fruit to make it hatch as fast as possible.
- Kill the Boss: Those have to be done to complete the game. You just need to find the boss and kill him. Killing the boss unlocks another world.
- Go to a point: The emblem is in a point normally hard to reach, you just need to find your way to get to the emblem. This is where the game gets the most destroyed in this TAS.
- Minigame Man: You have 2 minutes to get 40 coins. If you take two coins in a row, you get one second added, which we really don’t want. Those levels aren’t in the any% because it’s minimum 2 minutes, which is too slow.
- Race: Each race has its own way to be optimized. For example, the opponent in Sand Ruin will slow down every time he meets an obstacle. If you break every obstacle in his path, you will finish this race sooner.
- Kill 100 enemies: There are around 120 enemies in these levels, and you need to kill 100. The route in those levels were studied to kill the 100 the fastest possible while being close to where the emblem appears at the end. These levels are too slow to be in an any%.
- Save a friend: Your friend is in danger! You have 5 minutes to save them… But these levels are really easy to break, none of them take more than 1 minute. There are three missions of this type in the game, and each of them unlock one mission in each world.

Other Stuff

Iongravirei is cited as a co-author of this run because he was the one who motivated me to TAS this game. He found many shortcuts and gave me many ideas. He also checked each of my levels to tell me where I could improve it and gave other ideas. So, even if he didn’t make any input in this movie, the run would have been way, way worse if he didn’t help me.
This run is improvable because I made some silly mistakes. You can improve it by 3 seconds easily just with optimization. I realized that near the end (at +2hours of run) and didn’t want to restart. Also, since a week ago, tons of people are arriving in the Billy Hatcher scene, so new shortcuts/glitches may hopefully be found. For example, Overpamper, who’s been practicing Billy for a long time, recently found a new shortcut which would saves about 13 seconds in one level over my TAS. Which is why I will still work on this game, I really like it and will one day be able to do high quality long run on this game… Next one will be an any%.
I hope you enjoyed this run as much as I enjoyed making it. If you have any questions, don’t hesitate to ask! :D

feos: Accepting for Moons.

natt: processing


RachelB
She/Her
Player (129)
Joined: 12/3/2011
Posts: 1579
Is it a rule that each author must have contribute to the input ?
No, there's not. There is plenty of precedent for it too. There are plenty of ways to contribute without providing any input.
Player (213)
Joined: 9/14/2011
Posts: 349
There should be decent encode, my ears feel lonely...
Active player (322)
Joined: 1/15/2012
Posts: 343
RachelB wrote:
Is it a rule that each author must have contribute to the input ?
No, there's not. There is plenty of precedent for it too. There are plenty of ways to contribute without providing any input.
Ok thanks :) I will wait to see what feos thinks, since he's a judge....
Odongdong wrote:
There should be decent encode, my ears feel lonely...
I understand and I really wish I could make a better encode but... I don't know what to do, and now my Dolphin crashes randomly at the cutscene in the beginning (I guess downloading Dolphin again should solve the problem). I really hope somehow understand where does this audio desync comes from...
Emulator Coder, Skilled player (1113)
Joined: 5/1/2010
Posts: 1217
STBM wrote:
I really hope somehow understand where does this audio desync comes from...
Based on what I recall from seeing some videos, it looks like the audio desync is caused by errors in video capture (strange, given that video capture should be easier than audio capture).
Player (36)
Joined: 9/11/2004
Posts: 2630
Hi there, I'm trying to encode this movie, I'm looking for where you downloaded this version of dolphin originally. I am having trouble connecting this movie to a specific git commit.
Build a man a fire, warm him for a day, Set a man on fire, warm him for the rest of his life.
Active player (322)
Joined: 1/15/2012
Posts: 343
Originally 3.0-828, modified by RachelB here. The modifications are : - A/V hack - Memory Card Insertion option
RachelB
She/Her
Player (129)
Joined: 12/3/2011
Posts: 1579
It's based on 3a8e8af2d55255bceef83e96ec2e5f1efb62bd9b with the patch in the above link.
Editor, Emulator Coder, Site Developer
Joined: 5/11/2011
Posts: 1108
Location: Murka
dolphin "3825S" build https://github.com/nattthebear/dolphin-avsync/tree/3825S
  File: BillyHatcher.iso
CRC-32: d93ad446
   MD4: d118594c2561430344073ef6d52c2275
   MD5: b1e5d16e9d507727ffff234f2382c0ea
 SHA-1: 4bb7a5cb9a22d8bbcfb2b5d968535bb601db2dbd
Active player (322)
Joined: 1/15/2012
Posts: 343
So did anybody found a solution to encode this ? I'm not in a hurry of course, I'm just curious about the future of this run.
Joined: 2/3/2013
Posts: 320
Location: Germany
STBM wrote:
So did anybody found a solution to encode this ? I'm not in a hurry of course, I'm just curious about the future of this run.
I'm on it for 3 weeks already. Many problems arose, but it looks like I can come up with a publishable result in a few days. Thanks to Ilari, natt and Aktan for their help.
All syllogisms have three parts, therefore this is not a syllogism.
Player (34)
Joined: 3/8/2012
Posts: 398
Location: Windfall Island
I do not know if this would fix anything, but if you are to remake this TAS it may be worth looking into the new AX HLE stuff. Apparently it fixes audio problems in many games and it may change this. Of course it would need to be redone due to newer builds and the audio change. It can be found at https://code.google.com/p/dolphin-emu/source/detail?r=eb06c62a6e1f2c5b84a1a11cab269a5e81936f92. I recommend atleast testing it because it may change (or fix) the issue, although I know nothing on the subject.
IronSlayer wrote:
Your counterargument would be like me saying that the Earth is round and then you telling me that I need to show it's flat so I can "prove us all wrong".
Seems legit.
Emulator Coder, Skilled player (1113)
Joined: 5/1/2010
Posts: 1217
Abahbob wrote:
I recommend atleast testing it because it may change (or fix) the issue, although I know nothing on the subject.
The details of the problem: The video dump is correct, it is the audio dump that is wrong. This game programs the DSP chip to DMA (Direct Memory Access) the audio in 160 sample chunks. Pretty normal. However, it sometimes resets the audio DMA mid-transfer. Now, this mid-transfer reset caused previous versions of AVsync hack to lose audio. As this resetting happened quite often, this lead to noticeable desync quickly. But it gets worse: If one tries to read the missing audio on reset, one gets garbage. And if one inserts zeroes, the sound becomes choppy. The new AVhack does the latter. In the end, I wrote a program that identifies the missing chunks of the audio track and stretches previous audio over those chunks.
Player (34)
Joined: 3/8/2012
Posts: 398
Location: Windfall Island
Ah, there I go trying to act like I know stuff again. Sounds like a big pain in the ass to fix. Major props to you.
IronSlayer wrote:
Your counterargument would be like me saying that the Earth is round and then you telling me that I need to show it's flat so I can "prove us all wrong".
Seems legit.
Active player (322)
Joined: 1/15/2012
Posts: 343
Wow, I didn't though the problem would be this big. Thank you very much to all of you ! :D I'm working on an any% run, but should I redo it on the latest version of Dolphin ? Or should I wait an AVHack which can deal with this game ?
Joined: 2/3/2013
Posts: 320
Location: Germany
STBM wrote:
Wow, I didn't though the problem would be this big. Thank you very much to all of you ! :D I'm working on an any% run, but should I redo it on the latest version of Dolphin ? Or should I wait an AVHack which can deal with this game ?
I assume you have started it already using the very same emulator? It is currently not known what exactly causes the DSP problems, so you might as well just proceed, as the current method produces publication quality encodes (Ilari's sound fix is sufficient for now). Did you test if sound desyncs when you try to capture Billy Hatcher with a recent A/V patched version? (See Post #342633 for that)
All syllogisms have three parts, therefore this is not a syllogism.
Active player (322)
Joined: 1/15/2012
Posts: 343
RGamma wrote:
Did you test if sound desyncs when you try to capture Billy Hatcher with a recent A/V patched version? (See Post #342633 for that)
Still desynchs with this version the same way as before.
Joined: 2/3/2013
Posts: 320
Location: Germany
STBM wrote:
RGamma wrote:
Did you test if sound desyncs when you try to capture Billy Hatcher with a recent A/V patched version? (See Post #342633 for that)
Still desynchs with this version the same way as before.
This means the underlying issue still exists. Thus there's no need to restart for you.
All syllogisms have three parts, therefore this is not a syllogism.
Active player (322)
Joined: 1/15/2012
Posts: 343
Well, I actually have to restart this run since I found a way to improve my 1-1... So I was thinking about taking the latest version of Dolphin (3.5-367) since the emulation became more accurate. I would like to know if it was ok for the encoders or if they would have to do all the work again - in which case I would stick with the previous version of Dolphin.
Emulator Coder, Skilled player (1113)
Joined: 5/1/2010
Posts: 1217
STBM wrote:
Well, I actually have to restart this run since I found a way to improve my 1-1... So I was thinking about taking the latest version of Dolphin (3.5-367) since the emulation became more accurate. I would like to know if it was ok for the encoders or if they would have to do all the work again - in which case I would stick with the previous version of Dolphin.
Well, the AVsync changes would have to be ported to the newest version (presumably wouldn't be hard). Otherwise it would be the same for encoders. Also, this game is fscking nightmare to encode. Sound shuttering (which isn't that difficult to fix actually), and codec poison on scale far beyond anything I have ever seen before[1][2][3]... Oh, and given the time it takes to do another run and the nastyness of encoding, I would leave this submission alone (letting it be published)... [1] Back years ago, Flygon used to give Da Aztex (a PC Demo) as example of bad codec poison. This just totally blows that away... [2] Also, I tried to encode Alien Carnage HD with some funky upscaling and blending. That turned out to be so fscking poisonous I quickly aborted the encode... But even that is downright codec-friendly compared to this. [3] I wondered before Rgamma encoded this run if this would be first run with 2GB+ encodes... Turned out that the proposed encodes are all 4GB+...
Active player (322)
Joined: 1/15/2012
Posts: 343
Can we at least make a soundless encode then ? And (sorry for my poor English), what do you mean by letting this submission alone ?
Emulator Coder, Skilled player (1113)
Joined: 5/1/2010
Posts: 1217
STBM wrote:
And (sorry for my poor English), what do you mean by letting this submission alone ?
Publish it.
Active player (322)
Joined: 1/15/2012
Posts: 343
Oh ok. Thanks for everything :)
Warepire
He/Him
Editor
Joined: 3/2/2010
Posts: 2178
Location: A little to the left of nowhere (Sweden)
Also the current version of Dolphin is 3.5-1xxx, I guess you're looking at the old site, the new one is http://dolphin-emu.org/
Active player (348)
Joined: 3/21/2006
Posts: 940
Location: Toronto, Canada
At first I boked at the humongous file size of RGamma's encode, but in the end I chickened out and gave it a yoke. Let me tell you, as I sat poached on the edge of my chair, this run completely fried my brain, scrambling my sense of logic and leaving me sunny side up for the rest of the day. Yes vote.
My current project: Something mysterious (oooooh!) My username is all lower-case letters. Please get it right :(
Active player (322)
Joined: 1/15/2012
Posts: 343
Thanks + Amazing comment ! EDIT : Wait, RGamma finished his encode ? I know he was working on it but I didn't know he finished, can I get a link to download it ? :p