Author Topic: A different modding paradigm  (Read 6257 times)

Bosola

  • Fire hazard!
  • *
  • Posts: 1752
    • View Profile
    • My YouTube Channel
A different modding paradigm
« 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:
  • it makes it a lot easier to combine mods. If a file or data section is compressed, simply applying two patches on top of each other could be disastrous. But with plaintext mod 'descriptors', it's a lot simpler. And when two mods clash in some way, it's a lot easier for the user to choose which parts of the mod he does or doesn't want (because he's comparing to plaintext configurations, not compressed binary data)
  • no issues around distributing complete mod files. They're just plain text. No proprietary data.
  • tools and their developers can specialize. Currently, if a particular tool is inefficient or buggy at compressing / opening data, but has a great feature, users are stuck with enduring the slowness and the crashing for the sake of the benefit. But when raw data handling and game manipulation are separate, tool developers can stick to their specialities
  • ensures open-source development. In the current model, if only one developer knows a data section well, but leaves the community / gets too busy / gets run over by a bus, the tool stagnates. By separating our tools, we spread our bets and reduce the risks of yet another tool being abandoned by its creator.
  • mods become compatible with all and any versions of the game. If the compiler / decompiler can export to a non-occidental release, I can send my own mod - developed for UK PAL - to, say, a friend in South Africa. No issues.
  • Very easy to document mods. If a mod is just an XML file, then all it takes is an XSLT file and a bit of CSS to create a full, glossy set of release notes
  • Easy-to-edit games. Even if a GUI tool doesn't exist, astute users can still fire up a text editor to make their changes
  • Single-sourced data. Imagine, as a translator, being able to go to a single resource file that lists all the terms consistently used in the UI. Imagine being able to transform all instances of the word 'dexterity' into a better translation. When we're producing a descriptive file with semantic, rather than binary data, we encourage those sorts of workflows.
That's my thinking, anyway.

The question is: is this really a better model of working, and is it even feasible?
« Last Edit: 2011-09-27 12:15:26 by Bosola »

Vgr

  • Global moderator
  • *
  • Posts: 2163
  • If it quacks like a duck, it must be a duck
    • View Profile
Re: A different modding paradigm
« Reply #1 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'.

Bosola

  • Fire hazard!
  • *
  • Posts: 1752
    • View Profile
    • My YouTube Channel
Re: A different modding paradigm
« Reply #2 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.
« Last Edit: 2011-09-27 01:31:59 by Bosola »

Tenko Kuugen

  • Public Enemy
  • *
  • Posts: 1416
    • View Profile
    • Twitter
Re: A different modding paradigm
« Reply #3 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

Covarr

  • Covarr-Let
  • Administrator
  • *
  • Posts: 3941
  • Just Covarr. No "n".
    • View Profile
Re: A different modding paradigm
« Reply #4 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.

Vgr

  • Global moderator
  • *
  • Posts: 2163
  • If it quacks like a duck, it must be a duck
    • View Profile
Re: A different modding paradigm
« Reply #5 on: 2011-09-27 12:02:22 »
I guess ePSXe can handle ISOs of many sizes. PSXjin can probably, too.

nfitc1

  • *
  • Posts: 3011
  • I just don't know what went wrong.
    • View Profile
    • WM/PrC Blog
Re: A different modding paradigm
« Reply #6 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.

luksy

  • *
  • Posts: 375
    • View Profile
Re: A different modding paradigm
« Reply #7 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.

Tenko Kuugen

  • Public Enemy
  • *
  • Posts: 1416
    • View Profile
    • Twitter
Re: A different modding paradigm
« Reply #8 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

Bosola

  • Fire hazard!
  • *
  • Posts: 1752
    • View Profile
    • My YouTube Channel
Re: A different modding paradigm
« Reply #9 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.

sl1982

  • Administrator
  • *
  • Posts: 3764
  • GUI Master :P
    • View Profile
Re: A different modding paradigm
« Reply #10 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.