S1 Homing Attack

Discussion in 'Showroom Archive' started by vladikcomper, Dec 16, 2009.

Thread Status:
Not open for further replies.
  1. vladikcomper

    vladikcomper Well-Known Member Member

    Joined:
    Dec 2, 2009
    Messages:
    415
    I didn't plan to write Homing Attack code, because it seemed to be impossible for me. But after I had read Selbi's Jump Dash guide, and added normal Jump Dash with Bouncing, I finally decided to try.


    I've been working for 4 days and succeeded! It was really difficult for me because I know ASM bad.


    Of course, it has some bugs. For example attacking monitor from bottom can bring Sonic down, though it's normal reaction of game's engine.


    Here's my test ROM: http://vladikcomper.narod.ru/download/s1ha.zip


    Mirror: http://hadouken.hostoi.com/vomit/s1ha.zip (old version)


    It also features water skimming in LZ, again by me. :)


    BTW I heard some hacks had stolen Homing Attack from Sonic Megamix. Why did they do so? I think writing Homing Attack code is far more easy than ripping it.
     
    Last edited by a moderator: Dec 17, 2009
  2. Selbi

    Selbi The Euphonic Mess Member

    Joined:
    Jul 20, 2008
    Messages:
    2,429
    Location:
    Northern Germany
    Pretty good work, though I'm wondering about one thing: Did you used CalcAngle and CalcSign with to do this?
     
  3. vladikcomper

    vladikcomper Well-Known Member Member

    Joined:
    Dec 2, 2009
    Messages:
    415
    Yes, I did.


    I couldn't set X and Y velocities without them.
     
  4. amphobius

    amphobius spreader of the pink text Member

    Joined:
    Feb 24, 2008
    Messages:
    970
    Location:
    United Kingdom
  5. Qjimbo

    Qjimbo Well-Known Member Member

    Joined:
    Feb 27, 2008
    Messages:
    850
    Location:
    Vancouver, BC
    FYI: There's one m in "homing", I fixed the title for you but you put it back again :)
     
  6. vladikcomper

    vladikcomper Well-Known Member Member

    Joined:
    Dec 2, 2009
    Messages:
    415
    Ops, I didn't notice that you fixed the title, but used to think it's two "m" in "homing" :)
     
    Last edited by a moderator: Dec 17, 2009
  7. MarkeyJester

    MarkeyJester ♡ ! Member

    Joined:
    Jun 27, 2009
    Messages:
    2,867
    That's pretty well done, and almost bug free.


    It's amazing what one can archive in 96 hours =)
     
  8. SaunicBoom

    SaunicBoom Well-Known Member Member

    Joined:
    Sep 14, 2007
    Messages:
    324
    I noticed that in Labyrinth Zone where you can skim the water, this can only be achieved if you're spinning. Running to the water at high speeds still results in sinking. Was that intentional or was it something overlooked? Either way, this is some great work. =)
     
  9. vladikcomper

    vladikcomper Well-Known Member Member

    Joined:
    Dec 2, 2009
    Messages:
    415
    I've fixed some bugs in my Homing Attack.


    - Bug with monitors fixed.


    - Homing Attack targeting fixed.


    - Homing Attack now doesn't target bosses.


    - The Speed Cap removed, so Sonic can homing attack in-water perfectly.


    Download link is the same, except for the mirror, it contains older version.

    It's intentional. My water skimming works the same way as it does in 8-bit Sonic 2. LZ levels wasn't designed for fast walkthrough, there are very few long straight ways. That makes adding running to the water useless and I think, it will be difficult for me.
     
  10. Animemaster

    Animemaster Lets get to work! Member

    Joined:
    Mar 20, 2009
    Messages:
    1,229
    Location:
    UK
    Thats some great work.... and you say you don't know much asm? I have been learning asm for over a year and still can't do the homing attack... I really need to up my game, otherwise I will be kicked to the curve by other fellow hackers. :)
     
    Last edited by a moderator: Dec 17, 2009
  11. Qjimbo

    Qjimbo Well-Known Member Member

    Joined:
    Feb 27, 2008
    Messages:
    850
    Location:
    Vancouver, BC
    Creating a homing attack is more of a programming, problem solving and math related challenge, rather a than "knowing asm" one. The best comparison I can think of is that everyone knows how to stick lego bricks together, but not everyone knows how to build a spaceship out of them.


    Anyway back on topic: Nice work vladik :)
     
  12. Selbi

    Selbi The Euphonic Mess Member

    Joined:
    Jul 20, 2008
    Messages:
    2,429
    Location:
    Northern Germany
    Addition to Qjimbo's post:


    "Not knowing ASM" is also one of the most stupid excuse a programmer can have (no offense here, btw). My father told me something a really long time ago:

    Hopefully you guys get what he means by that. :)
     
  13. Qjimbo

    Qjimbo Well-Known Member Member

    Joined:
    Feb 27, 2008
    Messages:
    850
    Location:
    Vancouver, BC
    I don't think he was trying to create an excuse, many people do genuinely believe that to make a sonic hack all you have to do is "know asm", when the reality is there's a great deal of imagination, problem solving and programming skill involved which is a separate issue. Once you know how to program, it doesn't matter what language you write in, be it VB, Delphi, C++ or whatever, since you have the basic concepts down and know how to go about achieving certain things.


    Not to put everyone off of course, once you know some assembly commands you can start to learn these skills straight away just by investing time in trying things out and thinking about exactly how things like the x and y coordinates in the game are changing and relate to each other in a mathematical way. It's not something you can just learn right away, and some people have a natural ability for it more than others.
     
    Last edited by a moderator: Dec 17, 2009
  14. vladikcomper

    vladikcomper Well-Known Member Member

    Joined:
    Dec 2, 2009
    Messages:
    415
    Don't mix "knowing ASM" with "programming". I really know few ASM commands, but I can compose algorithms for solving different programming tasks. I think there are people who know every ASM command, but don't know what to do with them (as Qjimbo said about Lego bricks)


    I just look for what ASM commands does, choose the right command. Of course, I had to know out how Sonic Engine works, copy some pieces of code to insert into my one.


    But all in all, I know ASM badly. I just give myself a task and try solving it. While solving, I learning ASM a little.
     
  15. Spiritmaster

    Spiritmaster Megadrive-kun Member

    Joined:
    May 11, 2009
    Messages:
    61
    Location:
    Krasnodar, Russian Federation
    How 'bout "Sonic Rush"-esque HA? It would suit better that usial SA Homing.
     
  16. vladikcomper

    vladikcomper Well-Known Member Member

    Joined:
    Dec 2, 2009
    Messages:
    415
    I haven't played Sonic Rush, so don't know what kind of HA is there.


    However I don't plan to work on my HA code until I do some stuff for my hack.
     
  17. MrSpade

    MrSpade It's meant to be Mr_Spad3 but y'know... Member

    Joined:
    Dec 5, 2009
    Messages:
    172
    Location:
    The UK
    In Sonic Rush, the homing attack is no different to a normal homing attack, except you have to jump and then hit 'R' to do it.
     
  18. Selbi

    Selbi The Euphonic Mess Member

    Joined:
    Jul 20, 2008
    Messages:
    2,429
    Location:
    Northern Germany
    I never knew about this (I didn't need help on how to get through the hotels how to beat the game, so I didn't read the enclosed instrucion book :U). Thank you for telling me that. ;)
     
  19. Spiritmaster

    Spiritmaster Megadrive-kun Member

    Joined:
    May 11, 2009
    Messages:
    61
    Location:
    Krasnodar, Russian Federation
    Actually there are also difference in range of attack.
     
  20. MrSpade

    MrSpade It's meant to be Mr_Spad3 but y'know... Member

    Joined:
    Dec 5, 2009
    Messages:
    172
    Location:
    The UK
    Usually it's a jumpdash, but when your in close vicinity of an enemy, it then becomes the homing attack.


    I think it's double the size of the enemy which is the homing attack range, it seems like that anyway.
     
Thread Status:
Not open for further replies.