Post subject: Eggman Hates Furries
Joined: 1/11/2009
Posts: 44
Eggman Hates Furries is a Sonic fangame by Oddwarg. It's basically a boss rush with some short platforming sections thrown in. It also has a story with its own... quirks... but all in all, it's entertaining, if a little frustrating. It runs pretty well under Hourglass. I've only had one desync so far, and aside from an odd problem with static playing over the last bit of the intro and MIDI notes occasionally sticking in fast-forward, the only major issue I've had is that it sporadically renders my computer unable to open any new programs or shut down properly. There doesn't seem to be any specific cause. At any rate, I made a quick test run of the first few levels -- .wtf and encode. The encode is missing MIDI music for whatever reason, and you should probably just skip to 2:50 because the intro's boring and unskippable. The physics are weird and floaty compared to regular Sonic games, and all the odd angles make it very different from the Mega Drive games and probably tricky to optimize. I'll finish up the test run and then see what I can come up with.
Joined: 1/11/2009
Posts: 44
Finished the test run. .wtf is here, encode is here (no MIDIs and sound is desynced, sorry). I take back what I said about the game running well because it's been crash after crash today. The basic issues seem to be: - Weird graphic artifacts sometimes block the screen for a few frames when loading savestates - Pausing with Hourglass sometimes freezes the game - Random freezes when loading states - Fast-forwarding MIDIs almost always causes a note to stick for as long as the game is running - Loading states when the final boss swoops at you often seems to cause a crash - Some weird problem I had a couple of times where the game would suddenly start running uncontrollably fast and stop responding to input. Usually seemed to cause a desync afterwards. - Just running the game occasionally seems to keep Windows from opening any new programs. It can't shut down either, so I have to manually cycle the power to get it working again. But other than that, the game seems perfectly TASable. The platforming sections will probably be a pain to get right, though. Spin dashing in particular is weird. It takes something like 15 frames to duck and start charging a dash, but you can fully charge it in about 6 frames (and it's really powerful). Hitting corners with it sends you flying, which you can abuse in the lava cave to skip the rotating platforms and rising lava. I'll get to work on this, but it'll probably be slow, especially since the game runs fullscreen and I can't play it and see the frame counter at the same time. I'm thinking of turning on Zero Ring Mode, but it would cost some time on the third-to-last boss -- any opinions on that?
Emulator Coder, Skilled player (1311)
Joined: 12/21/2004
Posts: 2687
(Can you say what version of Hourglass you used and what your OS is?) You're supposed to always disable multithreading before starting the game when TASing it, if the game has stability problems. If you don't do that, then that's the most likely reason for any given crash you get. (Hopefully this is a temporary situation until some more bugs get fixed.) If that option doesn't work at all... well, it's supposed to work, and it works for me on this game on XP at least. (There are some fallback options you could try such as disabling DirectSound in the sound menu or using some of the other options in the multithreading menu.) But, this game isn't really supported yet, and even if the above suggestion helps it won't fix all of the problems you're getting. This game has its own unique set of problems, and while some of those might be easy to fix, I haven't looked into fixing them yet (and I'm surprised it runs at all, considering that). Although, if you're able to work well enough to produce a TAS in the meantime and you're sure you want to focus on this particular game... I guess the only thing that's actually required would be support for capturing MIDI to AVI, which is something needed for Eternal Daughter as well.
Joined: 1/11/2009
Posts: 44
It's r35 on XP SP3. I do know about disabling multithreading, but I decided I'd rather have the sound than the stability, plus there's the rather large problem that disabling it crashes the game at the main menu. Disabling DirectSound seems to work, though I haven't tried it out much. I'll probably just go on as I have since the issues aren't preventing progress, just making things take a bit longer.
Joined: 1/11/2009
Posts: 44
I'm going to be away for the next couple of weeks, so here's a WIP. I'm up to the third boss, which I'm currently redoing because I found a way to beat it much faster. There are some spots in the tutorial and one of the underwater levels where there might be simple improvements, although I haven't checked for sure and I have no idea if it would be possible to hex them in. Currently, I'm about 50 seconds ahead of the test run, and probably much more than that after the next boss. I've also been looking for useful RAM addresses, with little success. I found a few locations that clearly have something to do with Sonic's movement (they're 0 when he's standing still and they're usually other things when he's moving), but I can't make heads or tails of them. Whatever the system is here, it's beyond my very limited knowledge.
Joined: 7/2/2007
Posts: 3960
It may well be that Sonic's velocity is stored in floating point. You can try poking around with converters (e.g. this one) to test that theory.
Pyrel - an open-source rewrite of the Angband roguelike game in Python.
upthorn
He/Him
Emulator Coder, Active player (392)
Joined: 3/24/2006
Posts: 1802
It is probably better just to use MHS instead of the built-in ram search right now.
How fleeting are all human passions compared with the massive continuity of ducks.