Qhimm.com Forums

Miscellaneous Forums => Scripting and Reverse Engineering => Topic started by: Bosola on 2011-09-26 23:10:15

Title: A different modding paradigm
Post by: Bosola on 2011-09-26 23:10:15
One of the key paradigms to modding in this community is the idea of working with individual files. When we reverse engineer, we look to specific blocks of data. When we document them, we create articles for each file and directory. And when we build modding tools, we build them to manipulate these specific files.

There are advantages to this paradigm, but limitations, too. There are times where a specific mechanic (say, limit breaks) is spread over several files, and a user must co-ordinate several tools. Tools for particularly important files can become bloated or difficult to use, offering a range of functionality when a modder probably only wants to edit a specific mechanic or element of his game (unless he's a casual tinkerer, in which case, the more options the better). Mods usually have to contain a variety of small diffs and patches that end-users find fiddly to apply. Tools built to manipulate particular files usually support only a limited number of releases. Finally, the whole idea of working with individual files fails with games like FFIX, which completely strips filenames from the PSX iso (like many later PSOne games).

What I suggest is a completely different way of handling the process. Imagine a generic 'compiler / decompiler' (I use the terms loosely) that can transform PSX releases into plain-text files that 'describe' the features and the mechanics of the game. After modifying these plain-text files (perhaps XML-based?), our 'compiler' can turn them back into a playable PSX ISO.

Why would this offer advantages?
The benefits aren't obvious at first sight, but think about it:
That's my thinking, anyway.

The question is: is this really a better model of working, and is it even feasible?
Title: Re: A different modding paradigm
Post by: Vgr on 2011-09-26 23:52:03
My idea would be to make a BIG tool that can edit everything in the game. It could have several tabs and a user-friendly interface. A compiler/decompiler is too much of a hassle IMO. Just sayin'.
Title: Re: A different modding paradigm
Post by: Bosola on 2011-09-27 01:24:18
Such a tool would be unwieldy. It would also be very difficult to co-ordinate a large development team for that sort of project.

As for usability, surely a great way to ensure this is to keep file-handling and game-modification applications separate, so that all editors can offer the same basic functionality, and users can choose the individual tools that best suit their workflow and needs? If you're turning raw data into simple, well-documented plain text, the barrier to entry for new tool developers is extremely low.

But anyway,

Quote
A compiler / decompiler is too much of a hassle

But the alternative is manually reinserting files into an ISO - surely, that's far more hassle than an automated 'compiler'?

Also, another thing to throw out there: the user needn't encounter the compiler as a discrete application. It could just be a set of open-sourced libraries or application framework.
Title: Re: A different modding paradigm
Post by: Tenko Kuugen on 2011-09-27 02:11:13
does it actually matter what size the ISO is if you're only going to play it on a emulator?

also, it's always, ALWAYS a matter of effort to gain with everything
the question here is now how much work this'd be to realize
Title: Re: A different modding paradigm
Post by: Covarr on 2011-09-27 02:37:25
does it actually matter what size the ISO is if you're only going to play it on a emulator?
Presumably it depends on how accurate the emulator is. Since a real PSX can't access that, it wouldn't surprise me if a decent emulator can't either.
Title: Re: A different modding paradigm
Post by: Vgr on 2011-09-27 12:02:22
I guess ePSXe can handle ISOs of many sizes. PSXjin can probably, too.
Title: Re: A different modding paradigm
Post by: NFITC1 on 2011-09-28 02:56:59
Presumably it depends on how accurate the emulator is. Since a real PSX can't access that, it wouldn't surprise me if a decent emulator can't either.

Logically, if the address existed that it was looking for it wouldn't matter. Granted, the size would need to be limited to the 32-bit pointer architecture, but if it exists, there shouldn't be a problem looking up a cluster starting at 0x7FFF0000. Anything past 0x80000000 is RAM.
Title: Re: A different modding paradigm
Post by: luksy on 2011-09-28 03:14:09
Speaking of standards there would probably be some agreement if everyone released their source, I know I've had to reinvent the wheel a few times already.
Title: Re: A different modding paradigm
Post by: Tenko Kuugen on 2011-09-28 06:17:43
I was just asking about this because it'd be indeed possible to make some decent FF9 hacks if the ISO size was not limited to the original
I'm gonna go on a stretch here and say most people that play these hacks play them on their pc, ( ff7, ff8 ) or emulator ( ff9 ) anyway
that said, ff9 has close to nothing to mod right now.

/derail off
Title: Re: A different modding paradigm
Post by: Bosola on 2011-09-28 20:43:43
OK, so building a compiler would have less to do with building large ISOs than providing a common access layer for all modding efforts. That's the real issue here.
Title: Re: A different modding paradigm
Post by: sl1982 on 2011-09-28 21:10:53
It would only really applly to gameplay mods would it not? I dont think it would be too hard to accomplish.