Hi, sorry for the delayed response, work has been madness.
Alright, I can see why you're getting confused Squeek, let me take a moment to explain. I was at work fixing software bugs till 2am last night, so if I make spelling/grammar mistakes, please forgive me.
It comes down to the difference between
data files, and the software that runs data files. A data file is a collection of data in some format which tells the software how to present something to the user.
Examples of this :
- Winamp (software media player) : .mp3 file (data file)
- Notepad (software media player) : .txt file (data file)
- Web browser (software media displayer/player) : .html file (data file)
- Windows media player (software media player) : .wma file (data file)
Easy to understand, right? The software is the "record player" and the data file is the "record". Changing the record doesn't change the software. No matter how many mp3s you load into Winamp, no matter what order they are and no matter what they are, the software that is running those mp3s is the same. Not only that, if you crack the software that runs that file, you crack it. Doesn't matter how many data files you load afterward, it's cracked.
What you don't understand is that this is the same relationship as mod files.
- TES (software media player) : .esm file (data file)
No matter how many esm files you loaded into TES, the software that runs them was the same version. If Morrowind was cracked, Morrowind was cracked. No matter how many .esm files you loaded into it, no matter the order. The "record player" has had it's wires fiddled with, regardless of how many "records" you try load into it.
The misconception you're experiencing it that you think data conflicts in loaded .esm files are actual conflicts in software, as in the software has changed and that is why things are going funny. Not so. The software is the same.
Coming back to the record player metaphor, imagine a record player that could play a number of CDs simultaneously. You load one and start it playing, cool. Now you load and play another. If the tunes are "compatible", it sounds harmonious. But if they aren't then it "clashes", the sound/data presented to the listener is in conflict. But it's not the record player that has changed or is in conflict, it's the data being presented to the player. If someone messes with the wiring in the "record player", it doesn't matter whether "the record" playback is conflicting or not. The wires remain messed with.
Do you understand? .esm files are essentially just data files telling TES how to lay out the world and respond to user interaction. TES cunning composites the data by layering each on top of the other to create a single whole. But this method isn't perfect. Conflicts arise in cases like the following :
Mod file A indicates that NPC Bob should wear a red hat. It also adds a Quest where NPC Sally says "Find Bob, he is wearing a red hat".
Mod File B indicates that NPC Bob should wear a yellow hat. It doesn't modify Sally however.
End result : Sally tells you to go look for Bob in his red hat, but Bob isn't wearing a red had, he is wearing a yellow hat. Confusion ensues!
This is why ordering makes a difference in .esm files, if you'd done them in reverse order it would have been fine, the last change to the hat colour would have been the one to take effect, and Bobs hat would have been red.
Do you understand, Squeek? Mod files aren't software patches, they don't work in the same way. They don't stop piracy at all.
However, I feel you might want to argue "well then, why not make them work like patches then huh?". Patches modify software directly and conflicts in patches simply result in the game crashing/breaking horribly. Also, patches need to be applied in the right order. So 1.1 follows 1.2, etc. If you get a 1.8 patch that doesn't require the 1.7 patch to be installed first, it's because the 1.8 patch contains all the changes from the previous patches too. Which means the latest file contains all the changes the pirates need to work it out.
This is why, coming back to Morrowind, people didn't need to crack each mod. They simply needed to crack each expansion, because it was the expansions that actually changed the underlying software. Mods designed for Tribunal often couldn't work on plain vanilla MW, they required changes introduced in Tribunal to run properly. But Tribunal installations could read vanilla MW mods. Because the later version of the software player could read all older data file versions, but not vice versa.
Squeek, I know you really like your idea and it's easier to believe that I simply don't "get it" than that there may be fundamental flaws in your technical understanding, but please take a moment to read what I'm saying here.
Besides, your point about "game logic sitting on a server" is a reference to server-side client-server software, and that has nothing at all to do with my suggestion.
I was trying to explain to you how this type of architecture is the only one that has a chance of directly stopping piracy. Please don't latch onto it and try to imply that I don't get your concept because I tried to explain this.
The updates I'm suggesting wouldn't be labeled or come with readme files.
Sigh, dude, you have a significantly flawed understanding of just what it is that pirates do. The way they crack software isn't dependent on it coming with labels or readme files. Once they understand how the format works it's completely trivial. And they figure out the format by analyzing the way the software runs when it does it's thang. Damn man, do you really think devs are getting their software pirated because they haven't tried such a simple strategy? It barely slows pirates down.
Even then the game they would get would only fit a single iteration, a response comforming to the sum of one player's choices.
No, they would watch how the game alters according to those choices and quickly figure out how the system works. This is how they figure out how to crack anti-piracy schemes, by analyzing differing code paths. It reveals to them the underlying architecture of the system and how to circumvent it.
My dream CRPG would be set in a world full of intrigue and uncertainty where unexpected mystery would creep in every dark place, lore would linger in forgotten ruins, and legacy would embody distinct artifacts that could only be found by reckless opportunists willing to try to cheat death.
The challenge would be to properly perceive and evaluate the endless possibilities of a complex world, one where I had an unclear but certain destiny. Adventure would lie waiting but not be easily found. And the quest to find it would be chock-full of peril.
Each step of my progress through it would face resistance but would be accompanied by a satisfying sense of significance, a feeling that the part I was playing in the vast muddled drama unfolding around me was worthwhile.
Sigh, we all have these dreams Squeek. But there is a difference between imagining them and implementing them.
The RPG I would make would have a constant flow of that kind of hard-to-find good stuff packed inside, waiting to be discovered.
No, it wouldn't have a "constant flow". You imagine it would, because you've never had to implement that. This is why I called it a pipedream, I don't want to be insulting to you but everyone, every gamer and every dev (who are also gamers) have this kind of dream. But please try to consider that the reason you haven't experienced it yet may not be that devs are just closed-minded, it may be because it isn't technically possible at this time.