don't click here

Amy In Sonic 1

Discussion in 'Engineering & Reverse Engineering' started by E-122-Psi, Feb 28, 2010.

  1. Enzo Aquarius

    Enzo Aquarius

    20% Cooler. Member
    1,420
    0
    0
    Canada, eh.
    Sonic TV Scripts, Sonic Comic Wiki Work
    I would contemplate keeping the large pupils in the Sonic 3 sprite. The Sonic 3 eyes don't seem to fit her.

    So I played your hack, my comments:

    - The opening animation is absolutely adorable.
    - The reused sound bits for the hammer fit perfectly.
    - As Chimpo mentioned, may want to think about putting some blur effects with the hammer during the jump attack, or prolong how long the hammer is left out.
    - Amy closing her eyes to push, awesome. In fact, the whole sprite sheet is superb, though the hammer could be removed from the running animation since Amy typically only gets her hammer out from hammerspace when she needs it.

    Overall, good stuff!
     
  2. E-122-Psi

    E-122-Psi

    Member
    2,470
    612
    93
    I tried using $FC on the animation script but it just stays on the final frame of the first animation, is it like so?:

    Animation_name: frames......... , $FC, $otheranimation

    Where is this on both the wiki and the dissassembly? I can't find it anywhere.

    This glitch was due to the spin being activated by a press rather than holding buttons hense why you only bounce if you let go of the controls before you hit something. This has been fixed for the next revision, though it still has problems hitting monitors directly on top.
     
  3. GameboyHero

    GameboyHero

    The amount of bullshit he has to deal with...poor Member
    166
    0
    0
    TX
    So finally decided to download and I just love the sprites you used. Sonic 1's actually a challenge with this. Colors on Eggman are a bit weird, but with the limited palette is great.

    Having not played SAd1 Amy, it's taking a while to adjust to "jump > a to attack", but I'll manage.
     
  4. Cap.Z.

    Cap.Z.

    21
    0
    0
    That's a pretty cute hack, as said before, the hammer adds a new gameplay technique which is pretty neat, tough there are bugs like being able to go through the floor and the springs in the "hidden" part the start of of SLZ 1 if you do the Hammer Spin Attack, also, this is a bug you should keep, pressing a+b/c in a rapid succession you can have a really nice jump, useful when on small platforms when you cant have enough momentum, so you can start a jump with hammer's making some jumps easier...

    You might like to keep it and do something with it (it also has a drawback, you get that boost, but your jump's height is sightly lower, so it is cool to have it)
     
  5. Chilly Willy

    Chilly Willy

    Tech Member
    751
    11
    18
    Doom 32X
    I'm playing this on real hardware via flash cart. When you do the DOWN+A attack on an enemy, you get an address error. Actually, I got one on the plain hammer attack as well. Only if you actually kill an enemy. If you just use either attack, no error. The code for the last address error was $0001B3B4$FFFFFFEB.

    Probably have some "death" animation on an odd boundary. That's pretty common in hacks where emulators are used for testing.
     
  6. E-122-Psi

    E-122-Psi

    Member
    2,470
    612
    93
    Not sure about the first one but $FFFFFFEB is the HammerSpin's flag address, it's basically a refined version of Selbi's jump dash code.

    http://sonicresearch.org/forums/index.php?showtopic=972
     
  7. Aquaslash

    Aquaslash

    <The Has-been Legend> Moderator
    I just checked my files again. Mi mistake, it's $FD.

    Instead of the usual $FF, use FD and then the animation that you want to jump to.

    Here's one of mine:

    This being the CD style spring animation for Sonia. The $21 there at the end is the animation being jumped to, in this case, a falling animation.
     
  8. E-122-Psi

    E-122-Psi

    Member
    2,470
    612
    93
    Ah, okay then I'll try that. Thanx.
     
  9. Chilly Willy

    Chilly Willy

    Tech Member
    751
    11
    18
    Doom 32X
    Well, that's an odd address, so double-check that you're not doing word operations on it. You might want to consider printing a bit more info on crashes so that they can be found easier. Otherwise, I really like what you've done here! It's one of the best hacks I know. :)
     
  10. FireStar

    FireStar

    The ultimate lurker
    Yuck, sendspace, use willhostforfood or Google sites as a file uploader.

    On topic of the hack, I thought it was just as cool as your sally hack and pink being applied to nearly everything was hilarious. The title screen animation was good but I can't help but wonder why you didn't use an "Amy Rose in" thing above it, but I don't think you actually put that in the Sally hack. Also, were you meant to be able to stop the sega sound by pressing start? Making Amy play a bit more like her advance version would be nice, and personally I think amy should stop when she does the hammer attack when moving.
     
  11. E-122-Psi

    E-122-Psi

    Member
    2,470
    612
    93
    I actually have made a Amy title, I'm just not sure how to program new sprites and objects into the ROM, let alone animate them onto the title screen.

    If I remember correctly the SEGA sound could always be skipped by pressing start.

    I was thinking maybe of locking the +pad when she uses her hammer attack (would also solve that weird animation glitch when changing direction with it too I guess). Is that just a matter of putting in lock and unlock branches into the start and end of the coding like for say LZ sliding?

    Thanx, well I don't really have as much knowledge on memory addresses as I should do. I still need to look up VRAM addresses to fix that points sprite glitch.
     
  12. Chilly Willy

    Chilly Willy

    Tech Member
    751
    11
    18
    Doom 32X
    The thing to remember with hacking Genesis games is that words and longs cannot be on odd boundaries. It's good practice to put things like ".align 2" before the start of any code, or before any data that isn't bytes. That way you KNOW it's on the proper boundary and won't generate address errors.
     
  13. nineko

    nineko

    I am the Holy Cat Tech Member
    6,309
    486
    63
    italy
    Or "even", as it's often seen in the Sonic 1 disassembly. Some assemblers don't even support the align directive :v:
     
  14. MarkeyJester

    MarkeyJester

    Original, No substitute Resident Jester
    2,202
    432
    63
    Japan
    OK so I found the time to play it and what can I say? Holy crap, extremely brilliant quality of executed work here, this (for a simple S1 hack) goes beyond simple with not only sprite changes, but also unique moves and a few level gimicks such as having to use the hammer to smash through walls (Which I found to be very cool and fun to do), these special gimicks with the addition to very smoothly running animation, Also not forgetting the fact that these are amy sprites which seem to be (in my eyes) hard to work with for a start, are what make this hack extraordinarily amazing.

    The boss fights and the game in general was more challenging, what with having to hit them with a hammer while jumping.. OK point-blank.. You have done a brilliant job at giving life & spirit to this character, and I have the greatest respect for you because of that, keep up the fabulous work!
     
  15. Chilly Willy

    Chilly Willy

    Tech Member
    751
    11
    18
    Doom 32X
    Yes, quite true. And yet others use "cnop 0,2" - it all depends on the assembler you use to assemble the code. "even" is probably most common for anything besides GAS (the assembler from GCC, which uses .align).
     
  16. E-122-Psi

    E-122-Psi

    Member
    2,470
    612
    93
    Okay, I'll take a look at the coding things next up.

    Thanx, Markey and anyone else that has given nice comments on this that I forgot to respond to.
     
  17. Chilly Willy

    Chilly Willy

    Tech Member
    751
    11
    18
    Doom 32X
    Thanks. In the meantime, I was playing it in Kega. I keep forgetting that jumping doesn't protect you against bad guys, so I kept losing rings by jumping into bad guys. :)

    The one thing I miss is the speed dash, but that's not what this character is about. I need to relearn the game as this isn't Sonic, it's Amy. :eng101:

    It's a lot of fun!
     
  18. E-122-Psi

    E-122-Psi

    Member
    2,470
    612
    93
    You mean the spin dash, well that wasn't in Sonic 1 anyway.

    In Advance 2 and 3 she had a peel out/upward dash in place of it though. I could retool a spin dash code and implement that instead of her leap move (admitedly I thought it was more affective than the latter anyway, in Advance 1 she had weaknesses in both attack and accelleration which made her a dud in race mode).
     
  19. I can think of 2 ways to do it:

    Program a simple ASM routine to log the pressed keys to an unused location in RAM, then play the game and once you are done you dump that RAM section to a file that you can include in the next build, where you'll also disable the logging.

    The other option is to record a movie in an emulator (emulator movies are just lists of keypresses too) and code a simple script to convert the format used by the emulator to the format used by the game.
     
  20. E-122-Psi

    E-122-Psi

    Member
    2,470
    612
    93
    ..........................................

    Define 'simple'.