News:

11 March 2016 - Forum Rules

Main Menu

New to the mod scene

Started by TKDKurisu, May 10, 2023, 10:28:48 PM

Previous topic - Next topic

TKDKurisu

Ok, so as the topic title says, I'm new to this. I do have a lot of general programming experience, but not in this respect. I've got a project id like to see come to life. I haven't been able to find this anywhere, so I'm assuming it doesn't already exist.

What I'd like to do it make a modified arcade ROM of Street Fighter Alpha 3, adding in the characters that are in SFa3MAX on PSP. I'd very much appreciate some pointers on where to start. I'll need to better understand the structure of both the CPS2 ROMs and PSP ISOs to do this. Further, I'm not sure how to go about making this into a patch program that will add this data to said CPS2 ROM, since uploading the game itself is illegal.

Please assist, oh benevolent modding community! :laugh:

FAST6191

Cross platform, especially so far apart in history and possibly hardware (don't know the CPS2 that well), porting of something like a fighting game character is a rather ambitious project.
Might be easier to take something from the general programming world and break it down into milestones. In this case might be worth changing characters, possibly even going a bit artistic and doing a palette swap if there is a suitable candidate.

Modifying PSP stuff is not so bad. Umdgen is the tool most will use to pull things apart, PPSSPP is also getting some limited but not insignificant debugging options.

Arcade stuff gets a bit more annoying, not least of all because MAME builds tend to be very concerned with running only the official version. If you are a programmer though then easy enough to compile something with a bit of functionality stripped or commented out.

Indeed I would almost look to see if any of the mugen engines, fan made engines or decompilation efforts (we have mostly seen N64 decompilations but anything in the C world is pretty much a target) would be a suitable base for this.

Back on topic looking at https://www.spriters-resource.com/arcade/streetfighteralpha3/ then you get an idea of the amount of sprites in the average fighting game, you will also want hitboxes if different, move damages, animation orders, inputs, any unique character abilities... to recreate for the arcade effort. This also assumes there is space on the arcade board, or you could twist it to another (CPS3 being a nice CD by the looks of things but different CPU). Oh and that for both games/systems, though you might be able to go more read only for the PSP as it were (also want to hope the PSP is of the same resolution or a suitable multiple to scale back down, don't think they had gone vector for this yet). This is also why overwriting existing characters tends to be the choice taken by many. AI might also be a problem but most things like this are less concerned with that, or the AI might be primitive, or you could go really fancy ( https://www.csail.mit.edu/news/ai-beats-pros-super-smash-bros ).

Patching is the least of concerns here, give or take what state the CPS2 ROM is in vis a vis encryption (encryption confusing the average patching program as it will see changes possibly everywhere). If something is encrypted then most hackers will provide a tool to unpack/decrypt, patch and then rebuild, and/or instructions for said same if this is 20 years from now and PCs are dead because everybody has powerpc rise from the grave and used in brain chips or something (or more generally see the fun around here when people started to want to use their phones or non windows PCs for this).

xenophile

Yeah, not exactly aiming low with this one. You'll be breaking new ground for sure. Challenges:

1. Understand SFA3 arcade including how characters are structured, the code for character select, and where any free space is located. My default answer to many potential projects is "work on a disassembly first", and, yeah, spend some (a lot of) time disassembling, decoding character data, and labeling animation frames. Looks like it's on CPS2, which is great news because there should be some good tools 68000 disassembly.

2. Find the character data/graphics in the PSP game. Once you have characters decoded for the arcade, cross your fingers and hope they didn't change the format (much) for the PSP. Finding the common characters should give you enough info to find the new ones.

3. Shipping. As @FAST6191 pointed out, this game is (I believe) at least partially encrypted, so you're going to be writing a tool. Shouldn't be too hard (compared to earlier steps). Prepare for Mac users (me) to whine if your tool requires WINE, but you can probably ignore them.

There's also the mentioned issue of MAME checking CRC32s, which I've been giving a little thought to since I'm pondering a Neo Geo hack. It should be possible (easy, even) to compute a collision attack so MAME accepts your hack as the original. (See https://stackoverflow.com/questions/1515914/crc32-collision)

That said, this won't work if you have to expand the rom in any way.

Oh, and it'd also be nice if your patching tool supported zip files, but that's less important than any of the other issues.

Jorpho

The first thing you need to do when it comes to things like this is to look around and see what other people have already done.  It does seem like there have been a couple of hacks of CPS2 games:
https://www.romhacking.net/hacks/6890/
https://www.romhacking.net/hacks/6122/
https://www.romhacking.net/hacks/3690/
https://www.romhacking.net/hacks/3678/

So, arcade ROMs usually being distributed as zipped collections of files, it seems the usual instructions are to unzip the ROM, apply an IPS to the relevant files, and then zip it again.

But that's the last concern with something like this – it's like building an airplane and deciding what in-flight movies you're going to show. You will notice that none of these hacks do anything nearly on the scale of adding an entirely new character.

I say this a lot, but it's undeniable that Capcom's fighting games are massively popular and there are absolutely enthusiasts with enormous amounts of coding and reverse-engineering experience – and yet evidently no one, in all these decades, has ever gone so far as to add substantial new characters. Someone would have done it by now even if it was a massively difficult undertaking. That no one has done it by now should indicate that it is unthinkably difficult.

(I was going to say that the usual HK bootleggers who would stand to benefit financially from such modifications would have particular interest, but then I suppose the CPS2 encryption would have held them off; I think that was only truly cracked relatively recently.)
This signature is an illusion and is a trap devisut by Satan. Go ahead dauntlessly! Make rapid progres!