Emulator Discussion Master Thread
3 years ago
Netherlands

Hey folks! I know there are a bunch of you that'd like emulator to be allowed for this game. The other mods and I are not not promising anything as of yet (I'll start the discussion with the other mods based on the results of this thread), but let's at least open up the discussion.

There are a few points that I think are important to consider before allowing emulation. Some of these require thorough testing and I'd like this thread to be the hub for posting said tests.

This will mostly be focussed on the Dolphin emulator, but if there are any other options that I'm unaware of, do bring them up if you think they're viable.

  1. Does emulator load faster? And if yes, does this loading effect the loading speed of the score screens as well, which would effect IGT? The results of this test would show which timing methods emulator would be on equal footing for, if any at all.

  2. To more easily detect pre-recording with save states or submitting TASes, I personally think it'd be wise to include the window bar of Dolphin in the game capture. The "Input frame/total" counter shows whether a recording is playing or not. Also makes it even easier to spot performance issues. Thoughts on this? http://puu.sh/GuYUa/f0c6b8330c.png

  3. Are there performance differences between different builds of Dolphin? This is important to know in case we'd need to regulate specific builds that we know work well.

  4. Any known differences in physics and if there are any, whether they impact the run at all. Obviously all mods/cheat codes will not be allowed, but it's important for the main game to run as correctly as possible.

I do not have the spare time (or tbh, motivation as I'd still like most people to run on actual hardware) to look into stuff like this, so I'd appreciate your help in this. If anyone else has any other points of discussion, please do post them.

Kokunsderp, NachoTheAdventurer and 2 others like this
Argentina

Count on me for whatever test you need, I'd be glad to help. At least I can say I've been testing and exchanging a lot of strats with Deku the last month and atm nothing different except our hands. About info related with the IGT I really don't know. About other issues like lag spikes, I can tell my PC is very far from a really good one and it works smoothly, I sometimes get a lag spike but it's very rare.

Netherlands

Someone named Hydrus from multiple communities that allow Dolphin actually gave some pretty good insight in regards to point 3, the builds (and something I didn't think of, settings). What they generally follow for ruling is:

Runs on Dolphin emulator must use version 5.0 or later. -> most consistent build thus far "Speed Up Disc Transfer Rate" must be turned off. -> makes loads faster "CPU Clock Override" must be set to 100%. -> makes the game itself run faster or slower

So any further testing and comparisons should be done with those settings in mind imo.

Deleted
, revolucion, and NachoTheAdventurer like this
Netherlands

So something I'd personally still like to see for this is a confirmation that all loads are equal to (or slower than) console. A side by side video taking all the parts that don't have a stage timer. For me personally that's the only part I'm still unsure of atm.

(If anyone does do that, don't use Deku's runs as the console example, his stage loads are slower than most Wii's for some reason. Only top runner with that problem afaik).

Argentina

So I was doing some science on dolphin looking for visual cues attempting to make more doable a specific bop boost in Frog Forest for Team Dark and for it I decided to use the Dolphin Memory Engine, that for those unfamiliar, is a complementary application similar to Cheat Engine that using a specific file for the Sonic Heroes ISO allows you to display some very useful info such as speed, position, etc in the current gameplay.

Allowing usage of emulator for the leaderboards is a very good initiative in my opinion considering how hard is to get the original hardware nowadays (and how harder it will become eventually) and it's being taken carefully giving priority to guarantee fair and legit competition. Previous posts have been explaining what countermeasures we could take in order to prevent any way of cheating, so now when using this tool for labbing I noticed there could be a hole that would need to be patched.

Basically the info in the top of the dolphin emulator window indeed is useful to see if a TAS is being played or a state is being saved or loaded, but it does not say if there is an auxiliar window with DME open, which could allow the player to check some data that could influence the gameplay, for example, looking at position values while falling in a long and complicated bop boost like the one I'm testing now.

This screenshot as example shows how both windows are looking on my PC (hopefully it is visible?) https://cdn.discordapp.com/attachments/287951682116255744/777427417588563998/unknown.png

I would suggest thinking about a solution to prevent this or any other inconvenient that could show up

Nova Scotia, Canada

Dead discussion I'm sure but I'd like to chime in here for a minute since I actually did the thing and like, learned and ran the game full-time.

I'm sure the idea is floating in the air but I'd like to just express in words how important this would be in progressing the game and community. Accessibility is an incredibly important argument in the context of modern speedrunning (maybe THE most important thing period?) and I can say with pretty strong assertion that the leaderboard would accelerate in growth if emulator use was allowed. Not only because of some non-zero number of runs currently in existence that simply can't be submitted, but because reading "emulator use is banned" in the game's rules has 100% caused someone out there to decide not to run this game and I completely guarantee that.

Coming from my own experience, any potential accuracy issues would be incredibly small (if they even exist at all) and it certainly doesn't feel like I gained any unfair advantage at the top end when comparing my runs to other people's. (This point is just my own experience and obviously doesn't stand in place of any sort of detailed analysis.)

Netherlands

Wouldn't call it a dead discussion. I feel like I was pretty clear from the start that I expect the people who want emulator to begin with to do the work. I've mostly been waiting to see if anyone had a solution to the issue Revo posted about as well as actual timing videos.

So on that topic, Avikaielef was kind enough to do some minor timing tests, but I guess he didn't actually post them here so I'll post them in his stead.

Score screen loading seems equal. Don't mind the fact that he didn't hit A to progress the score screen itself, he doesn't actually play this game :P what's important here is the inital time it takes for the score screen to pop up https://streamable.com/ca9k83

Unskippable cutscenes seem equal in length too. https://streamable.com/we14u5

Personally that's my worries about IGT being equal gone. If it turns out to not be the case we can always reverse decisions. As for the thing Revo posted, I'd love to have a good way to spot if that's being used, but since we lack that it'd have to just be on trust basis. I'll ask the other mods for their take.

Netherlands

Alrighty, looks like it's happening. We'll be allowing emulator for IGT categories and IL's with the restrictions below.

Emulator rules:

  • Only NTSC versions are accepted.
  • Dolphin version 5.0 (or up) must be used.
  • Please use a stable build of the emulator, no development or beta builds.
  • "Speed up Disc Transfer Rate" must be disabled in the properties of the game iso.
  • "CPU Clock Override" must be set to 100% or turned off completely.
  • Under the graphics settings, in the hacks tab, please uncheck "Skip EFB Access from CPU". The rest of the defaults are fine.
  • Emulator must run at full speed. An occasional lag spike is fine, but consistent slowdown is not.
  • The window's title bar showing the emulator version, framerate, etc. must be visible in the video.
  • Modifications, cheats, editing .ini files and emulator exclusive functions are not allowed.
  • Emulator is only allowed for Game Time categories and Individual Levels.

Note: Any of the emulator rules shown above may be changed and retro-actively applied if new information about emulation is found that would require a rule change.

Some explanations for the decisions:

Why only Gamecube / Dolphin?

  • It is the easiest console to emulate and with the right settings, consistent enough that there aren't major differences. We want to strike the right balance of accessibility and accuracy. The research needed to allow PS2 or Xbox emulation doesn't really have any payoff as the accessibility of Dolphin more clearly aligns with the goals of allowing emulation to begin with.

Why only NTSC?

  • With the existence of PAL60, a lot more timing and researching would have to be done to make sure they run equally. Not worth doing for this initial test run since there is no payoff. 60hz gets no benefit on IGT categories, as the file timer also gets the 20% speed increase. Allowing PAL at the regular 50hz doesn't have any added benefit either as it loses a small amount of time (10-ish seconds) to slower score screen loading anyway.

Why no RTA categories?

  • For starters there is the abovementioned PAL60 testing that would have to be done. I'd also want a side-by-side of all non-gameplay aspects of the game to make 100% sure no RTA advantage is gotten by running on emulator. Considering this only applies to Super Hard Mode & All A Ranks, the least accessible categories, we decided to leave them out of this initial test run entirely.

What about the memory watcher issues Revo brought up?

  • After discussing it with one of the game's TASers THC98, the likelihood of this giving any advantage during runs is very low, especially at the speed bop boosts happen. No clear advantage can really be gained from it that can't otherwise be gotten from visual cues. We're just gonna have some trust in y'all not to use it.

The reasoning for the rest of the rules are either found in this very thread, or should be obvious by itself.

Edited by the author 3 years ago
MatiXD153 likes this
Netherlands

Made some slight adjustments to the rules and updated the post above accordingly.

It seems Dolphin 5.0 automatically has "Speed Up Disc Transfer Rate" disabled and it's not even an option in the settings anymore like it was in 4.0. You could still adjust it by messing with .ini files, so instead I added to the rules that it's not allowed to mess with .ini files.

I also found some info from the Dolphin devs themselves about the "Skip EFB Access from CPU" options in the graphics settings. Having it checked on hurts emulation accuracy, so we should make sure that's turned off. All other defaults as pictured in this image are fine. http://puu.sh/H8g6w/f36191b5b1.png

Also here's an image of the CPU Clock Override setting. http://puu.sh/H8g84/6c9b68f7bf.png

Chile

The "Speed Up Disc Transfer Rate" setting was apparently moved to the properties of the game in Dolphin 5.0 so if you want to see if it's disabled right click Sonic Heroes go to properties and you should find the option there (this aplies to any GC/Wii game) https://media.discordapp.net/attachments/750011520703922186/801207393786265652/Screenshot_148.png

CriticalCyd likes this
Netherlands

Ah sweet, thanks Mati!

Thanks to anyone who offered advice or help with navigating emulator stuff throughout all this btw. I'm not the most familiar with emulators, but learned a lot of important stuff to make this happen, while still making it as fair as possible.

Edited by the author 3 years ago
revolucion likes this
United States

Question: If using an emulator would it be allowed to be using the widescreen hack and the HD Texture pack?

Netherlands

No, all of those fall under "Modifications" in the rule below

  • Modifications, cheats, editing .ini files and emulator exclusive functions are not allowed.
Nytro_ likes this