View Full Version : Idea on Multiplayer Mod
Shelnutt2
26th Dec 2007, 11:19 PM
First I will say that I have not made any mods for Sims 2 before. Only modding experience I have is with the Source Engine (Half Life 2).
Now I've searched around and read and what I'm about to propose seems do-able, but I'm missing some pieces, that I hope someone can help me fill in. Also when I am thinking mutiplayer I am not thinking real-time as I don't think we have enough to work with for that, we would need an SDK, but what I am thinking is simply merging neighborhoods every so often. Meaning that on a LAN setup, a program will launch The Sims 2, and then at the specified intervals re-sync with another computer and auto merge changes to each other's neighborhoods. To me this seems do able.
I've looked into the SimsPE and it has the ability to open up the neighborhood files. I have not gone in depth with this program yet but with the ability to open the files it is possible to sync them. Now when I say sync I mean make it so that everything between them is updated. The relationships, the jobs, the lots, the families.
Obviously there are challenges, such as both people can't be playing the same family, the game will have to go into a suspend mode will the data is being copied as I don't see a way to write the merges if the files are in use. Also the files must be synced to start off with, so before the game is started a sync is necessary that way both people start in the same boat. Also the sheer size of neighborhoods can be large size wise so transfers might take time.
My question to you guys, is has anyone ever tried this? Is there a methods already known to merge neighborhood files into one? And any pointers?
Thanks
HystericalParoxysm
27th Dec 2007, 12:08 AM
Well, you could do this -anyway- really... just share both My Documents\EA Games\The Sims 2\ folders on both computers on the LAN and then copy one to the other when you want to sync them. You can't copy files from one to the other while the game's running - it won't let you replace files that way. I suppose you could have some sort of utility that would read last-modified dates but since you can't do any sort of live multiplayer at all or do so while the game is running... simply copying the files to sync them is really your best (and easiest) bet.
Echo
27th Dec 2007, 12:15 AM
As far as I know it has not yet been attempted, but it may be somewhat trickier that you're anticipating. A couple of reasons why:
* TS2 uses pretty extensive caching. When it first loads a family or lot or sim then the data is read from the disk, but with a couple of exceptions it does not get written back to the disk or re-read from the disk until either (a) The sims leave the current lot, or (b) the user saves the game. That is why making changes at runtime with SimPE mostly has no effect on the sims themselves. (Newly born/created sims are written to disk pretty quickly, but other than the fact that they exist there is not much is saved against them).
* The game data is locked by TS2 at runtime. Of course, you could get around that, but you could cause the game to have conniptions, especially if it's storing file offsets or mappings. (Not sure if it does, just speculating.)
* The generation and update of data is highly unfriendly towards merging. New characters and objects get created all the time, and are numbered sequentially. If you have two players, and they both add a sim independently (or the game creates a new NPC, or anything like that), then those two sims could potentially have the same neighbour ID, which is supposed to be a unique identifier for a single sim in game. That number should never change. This is a huge mess to merge, since that ID is used in all the relationships, family structures, pretty much everything. Very similar problem with objects, although to a slightly lesser degree since they're not guaranteed to persist between lot loads.
So merging while the game is running is unlikely. If you want to merge between loads, that's slightly more plausible, but still tricky. If you just want to make a complete copy of the other person's data every time that'd be fine, but you can't both play at the same time. :)
J. M. Pescado
27th Dec 2007, 06:16 AM
This idea is fundamentally impossible without full source modification, and even then, the basic underlying design of the game makes this fundamentally unlikely. There are simply far too many issues to make this practical. I place the odds of this happening as a modification only slightly above that of Total Existence Failure.
niol
27th Dec 2007, 02:00 PM
Until Maxis would make TS2 like Spore?
Probably in TS3?
When a lot is opened in simpe to lock it from any other over-writing during the game play. A temporary file will be made visible after saving in-game. That file will replace the original file if the original file is no longer write-protected by a programme that can open it and lock it. "just making it "read-only" can still be overwritten by the game for package files.
It seems to me that the game will create temporary files for the involved character files and lot files before saving. The computations will be on those invisible temporary files (not shown in the windows normally unless you've got some partition utilities to show them up.)
A compression suite like Winuha2 can compress the TS2 running files. so I'm pretty sure files can be copied during game-play.
In my opinion, the safest way to sync and share game data for maximal simultaneous gameplay is still only that one is playing a different neighbourhood from the another person while syncing the latest versions of other unused but read neighbourhoods.
Although theoretically merging data together is possible but I don't see how it is possible to inhibit all other running game engines from giving out potentially different outcomes for events that in turns causes different computations without having the game source codes re-innovated.
But I don't think Maxis or Will Wright would want players to have a chance to compete in-game simultaneously that can piss off most people who would lose and are afraid of losing. One another thing is that those who started the online empire earlier and become successful will most likely carry on to stay dominant as their empires are too big to compete down by newbies as in the real life possession wars. That in turns may harm their sales. WW will the game to adapt the users' abilities to give them the sense of success so that they'll play on and on without feeling bad and giving up the game. So, in a long term. that's a reasonable selling point for a game business.
Interestingly, the custom content creation and modding in TS2 scene can cause competition as well as co-operations and co-ordinations. :D
But, this unlikely affects the game-play satisfaction.
If TS3 will adapt Spore's sharing system, players can still only share custom in-game contents but not game-play or custom materials until modders break it through. :D
vBulletin v3.0.14, Copyright ©2000-2013, Jelsoft Enterprises Ltd.