News: 11 March 2016 - Forum Rules
Current Moderators - DarkSol, KingMike, MathOnNapkins, Azkadellia, Danke

Author Topic: Modifying hit stun and collision detection in fighting games (Genesis/MD)  (Read 1128 times)

TS-

  • Newbie
  • *
  • Posts: 1
    • View Profile
Short version: More or less new to ROM hacking, have never done this sort of thing- how difficult/time intensive is it to alter hitboxes (collision detection) and hit stun (the reaction of the character being hit/blocking)?  I'm specifically thinking about Genesis games, fighting games in particular. 

A lot of the 90s fighting game boom was shovelware (imitators of Capcom and SNK/Neo Geo and Mortal Kombat clones), I was wondering how practical it would be to poke around in the game engines and tweak them to make them more sense.

FAST6191

  • Hero Member
  • *****
  • Posts: 3052
    • View Profile
Assuming it is not a basic sprite collision detection affair (generally if you are asking this it is not, not to mention it kind of went away from the hardware side of things as time went on) then as with most things it varies.

I assume you have at least read something like https://www.eventhubs.com/guides/2009/sep/18/guide-understanding-hit-boxes-street-fighter/ before.

For DS games we have seen nice almost coordinate lists you can edit like so much spreadsheet, this will probably not happen here.
The next one of some kind of simple list within a ROM I could see.
You can of course get compression and whatever else messing that up but I will leave that for now.
After this you can get some kind of non obvious encoding, or encoded within the assembly (code run on the processor as opposed to ending up encoding graphics or something) which gets fun.
After that you get some kind of run time created hit box setup. This can make for some of the better stuff and was hard to code originally but spend any length of time pulling apart games and you will come to know that you never know what cowboys are out there.

The trouble will come if you are going to want to radically redefine games (either many more boxes to narrow things down a bit or make a bunch of new ones for certain animation frames if it normally just uses a stock/basic one) as that could take something a bit more special.

I don't know how I would want to teach this to someone not already versed in hacking. For someone that is I would say it is going to be tied to health so find that (should be fairly basic cheat finding), when something changes that have it trigger a breakpoint and follow that back up the chain. That probably made no real sense to you if you are just starting.
At the same time if someone pulls apart the game for you and it is a fairly simple setup you can probably tweak individual boxes to yield useful changes far more easily than even someone learning text editing (generally the first step in learning to hack after the very basics like hexadecimal) being given a description of the formats involved.
I don't know how well one of the good games (streets of rage, street fighter...) have been pulled apart and whether there are listings there. If there is and you can make sense of those then show you can do that and someone might be inclined to help more.

Stunning I can't see being anything other than a full bore assembly hack session, probably on the more basic side of things (from the health you can find the hit, which will likely set a flag and accordingly how to respond to control inputs).