Crispy on 8/5/2005 at 11:17
I like that idea a lot, Rantako; but I'm still wary of organisation and technical issues. Sorry to be a party pooper, but... :p
Who's going to administer this thing? Who's going to compile everyone's different entrances into the city maps? What exactly are the technical limitations, and how will they be resolved? Who's going to implement this into Fleshloader or whatever? (Does it need special implementation? I think it does; you wouldn't want to have to reinstall an ENTIRE game month's worth of FMs when just one was updated or added. Which brings up yet another question; version management.)
str8g8 on 9/5/2005 at 09:15
Quote:
but I'm still wary of organisation and technical issues
Who's going to administer this thing
Earlier on I suggested a more open source approach. Rather then making it a City Admin's responsibility to put in portals and so on, the FM creator would put in their own, where they wanted. If someone is capable of creating a FM, they should be responsible enough to use this wisely. However, if they messed up, of overwrote something else, there would have to be some kind of moderator who could reinstate the earlier map/fix it etc. How does this kind of stuff work on source forge and so on? (I'm not a coder, can you tell? :) )
The idea of using time is brilliant, it's kind of like the way Day One, Day Two, worked in Deadly Shadows. We would need to establish some kind of calendar stretching from The Dark Project to Deadly Sahdows, as someone suggested, at monthly intervals or something. Again, I don't know too much about scripting, but could all this be achieved within single map files? Or would you need multiple versions of each map (this would be messy).
Imagine, say once a month, syncing up the city, downloading all the new FM content, and the associated updates to city maps, scripts and so on.
It's a daunting task, but I think the payoff would be amazing.
cheers
str8g8
Crispy on 9/5/2005 at 12:47
Programming teams almost always use some kind of version management system, such as CVS. Basically, the idea is that there's a "master" copy on a central server. Everyone downloads their own copy from the server, makes changes, and when they're done uploads it to the server for everyone else to subsequently download.
Here's the clever part: If two or more people make modifications to the same file, the version management software will figure out what they modified, and automatically merge their changes. If their changes conflict (i.e. they changed the exact same part of the file), the last person to submit their modification must manually resolve the conflict.
This wouldn't work for Thief maps, though. Firstly, the map format is (I'm assuming) binary; so normal plain-text management (the kind used for source code) wouldn't work too well. Secondly, if two people add an object to the map and then upload their changes, they would almost certainly be modifying the same part of the file. Boom! Conflict; and because map files are not human-readable, there's no easy way of manually resolving the conflict.
So I think it does need some kind of central administration; not to put in portals, but to prevent conflicts. Perhaps only one person could be allowed to edit a city map at a time. The admin gives the FM creator the map; the FM creator then modifies it and sends it back. The admin opens it up, makes sure it hasn't been mangled, and then sends it on to the next person. Public downloads of the map would be made available every so often, say every 2 weeks.
Daunting, but doable.
Distribution remains a problem, though. I imagine some kind of binary patching utility could be used to minimize the download size of city levels (only changed portions have to be downloaded). FMs, though... what if somebody wants to download FM A, but not FM B? Especially if they're on 56k, it could be very annoying to have to download both FMs when only wanting to play one of them. Do we just let the portals point to non-existent maps if the FMs aren't installed? That's the easiest option, but it's messy. Whoops, you clicked on the wrong portal! *crash*
Ideally, I suppose, the portalling would be handled using scripts. The city level downloads would be installed with stand-in scripts that just pop up a message: "Hey, go install this FM!" The FM installation itself would then overwrite the script with one that teleported the player into the FM.
I'm not sure how possible it is to add and overwrite individual scripts like this, though. Distributing individual files looks to be a pain at the moment.
str8g8 on 9/5/2005 at 13:50
Quote:
Perhaps only one person could be allowed to edit a city map at a time.
Sounds good, and this is essentially how version management works with binary files, one person "checks out" the file to edit it, and checks it back in when they're done. During the time it is "checked out" no-one else can edit it.
I think the Admin would only need to step in when there was a problem, as long as there were back ups available to step back through. Problems with the above, though; people hogging a map, or forgetting to check it back in and going on holiday etc, etc ;) so still lots for an admin to deal with ...
Incidentally, a similar setup could be used for other assets - static meshes, matlibs, textures, scripts, animations and so on ... assuming people wanted to "release" stuff like this into the community ...
You raise a good point about dial-up though ... but this needn't be the only way of getting FMs, after all. Perhaps those with dial-up would simply be limited to launching them directly through fleshloader in the traditional way.
I'd be interested in what any of the scripting gurus thought of all this, though.
cheers
str8g8
Rantako on 9/5/2005 at 19:46
I've been thinking a bit more on all this myself.
Quote:
you wouldn't want to have to reinstall an ENTIRE game month's worth of FMs when just one was updated or added
As far as I can see, you wouldn't need to do this. Here's what I thought.
When you download an FM made for the city, you simply unzip it into your T3 folder. Each month would have its own set of 'vanilla' city maps, with the appropriate portals to FMs. Rather than installing all a month's FMs each time you want to play that month, you would simply use Fleshloader (or whatever) to swap the city maps for the month set you want. So ALL the FMs would be installed ALL the time, and effectively the only thing the loader program changes is which ones you can access.
This of course leads on to what I consider the biggest problem - custom gamesyses. Each month set of city maps would have its own gamesys, which would be swapped by a loader along with the maps. Because it seems the only way to set which gamesys file a mission uses is through User.ini, all FMs for that month would have to use the same gamesys. The only way I can see to make this work without masses of effort is the 'checking out' method mentioned by str8g8, but this would mean only one FM author could make changes to the gamesys at a time (unless someone managed to make a program for merging changes to the gamesys, like Crispy mentioned). Trigger Scripts would pose a similar problem (has anyone figured out how to transfer them yet?)
As for downloading and version management, here's my idea:
Each month set of city maps is a separate zip file download. These would contain that month's city maps, gamesys, scripts, and common files such as Quotes.sch, Inventory.sch, etc. Hopefully these month sets wouldn't be
too huge, or, as you said, this city would be limited to people with broadband. These month sets would be handled in the same way Darkloader handles FMs - zip files put in a folder somewhere, swapped around by a program etc. These downloads would not contain any FMs, but would have the portals to them.
(By the way, does anyone know for certain what happens when the game tries to teleport to a nonexistant map?)
If the game does crash when that happens, then each month set would contain a map with the same name as each of the FMs for that month, but which would be an empty room, as Bardic suggested, and which would then be overwritten by the real FM map when you installed it. (Because such empty room maps should have a pretty small filesize, it shouldn't make the download that much bigger to include a heap of them).
FMs made for the city would be packaged a bit differently from normal. They wouldn't include a gamesys or any of the other common files in the month set - just stuff specific to that FM. It would then be unzipped straight into the T3 folder, overwriting nothing except its empty room map. There would never be problems playing the map with the wrong gamesys, because only the correct month set would have a portal to that FM, and would have the proper gamesys anyway.
Versions:
Whenever a new FM is added (or whenever a particular month set or any FMs used by it were updated or changed in any way) a new version of those city maps would be released, with the updated gamesys or whatever in place of the old one. To avoid confusion, people would only be able to download the current version of a month set, and when downloaded they would simply overwrite the older version with it. Both the authors and whoever controls the downloads would have to be pretty accurate with their version numbers, so that it is obvious which month set and version an FM needs to work.
I like the idea of checking out the city maps, too - because it won't take long to add a portal, this wouldn't be as restrictive as checking out the gamesys.
Well, that's my latest rant over with :D . I've probably forgotten something really important...
Krypt on 9/5/2005 at 21:47
Cool ideas, but I don't see them ever actually happening. It would be an immense amount of work to organize and get people to participate, and an immense amount of work to get a system going and integrate maps into it. Each month's city hub map would probably have to be a seperate download, which would add up after a while. All that just so people have to walk through a city map they've seen a million times to get to the new FM they just downloaded? Doesn't seem worth the effort to me, I think the time would be better spent making new FMs and getting them working :p
New Horizon on 9/5/2005 at 21:50
Quote Posted by Krypt
Cool ideas, but I don't see them ever actually happening. It would be an immense amount of work to organize and get people to participate, and an immense amount of work to get a system going and integrate maps into it. Each month's city hub map would probably have to be a seperate download, which would add up after a while. All that just so people have to walk through a city map they've seen a million times to get to the new FM they just downloaded? Doesn't seem worth the effort to me, I think the time would be better spent making new FMs and getting them working :p
Aye, I'm inclined to agree. The idea of a city hub just doesn't excite me. It's kind of like a glorified frontend. Keep it simple is what I say. :)
demagogue on 9/5/2005 at 22:23
I had a similar reaction to Kyrpt, not to be a stick in the mud ... but I still see a lot of potential, as well. So:
It seems to me the best outlet for these ideas is a team-campaign to enlargen the city and add some side venues -- and it doesn't even have to be so centrally planned, but (the point is) it should be on an up-front volunteer basis, traded among a queue of volunteers (with maybe some to and fro-ing), and with a definite ending point, to be released to the community when finished as-is (with maybe up-dates on occasion, with different version numbers) ... sort of like (or I guess exactly like) the chain-project going on in the Dromed forum on a larger scale.
Anything more ambitious and I'm afraid the project might end up DOA. But I think that's the most productive way forward anyway.
(This coming from the perspective of someone who'd actually like to get their hands on something like this in the not-infinitely-delayed future.)
str8g8 on 10/5/2005 at 09:32
Krypt, New Horizon, I realise what your are saying is correct, the FMs are the most important thing ... maybe we are getting a little carried away. I was imagining as decentralised approach as possible, something that could just grow organically, according to whether people liked the idea and chose to use it or not.
Just a quick question, though ... I realise I don't fully appreciate the limitations of what can and cannot be achieved with scripting, but why do we need multiple gamesys files and multiple maps? ... can't different teleport locations open and close according to a simple "date" vairable that is passed to the game via the loader? Doesn't Deadly Shadows have a day variable to decide when, for instance, enforcers appear? Isn't it the same principle?
demagogue, if all this is too ambitious, then yes, your suggestion sounds far more manageable. Kind of like a resource pack for the FM community, who can then go on to intergrate it into their work (or not) as they see fit.
cheers
str8g8
Maximius on 10/5/2005 at 15:18
The idea of a City with a history is still really exciting too, str8g8. Recurring NPCs, some with ties to specific areas of the City and its people, enrichen the "make believe" context we all step into when we play this game. So would FMs that made some sort of geographical and historical "sense." (Im not implying someone is not making sense on the list, I mean sense as in order, planned.)
The deeper the background of emotions, memories, desires, whatever we bring into the gaming experience the deeper every shadow we see will appear, the scarier every castle, the more thrilling every narrow escape. Classic Thief 2 example: Ominous Bequest. Who on this list did not feel real satisfaction when they slew that evil bastard who was sacrificing his family for immortality? Why did it seem so satisfying? Because you knew something of his history, the FMs storyline built up a revulsion in me against that character that was palpable. The FMs creator, who I forget now, seemed to realize the deep nature of his narrative. Thus the bonus objective of returning the the neices body to her sarcophagus, it felt good to give her some rest after that monster.
If its not possible to do it the ways you have discussed, lets keep the ideas alive. It may be possible to do much simply from a storyline point of view. Not every FM made would have to fit into the City's "Big Plan", but a small group of writers and editors could develop their own projects along these lines. example: My vampire again. Make an FM in which Garrett is introduced to the vamp. Then another, different story, same vamp, maybe only a brief cameo, two masters of the dark go bump in the night,nice to see ya. Then another FM, different story, delve into vamps history. And so on. Different editors using recurring characters, to greater and lesser degrees, with associations to specific parts of the city if desired. If another editor makes an FM without the character, big deal, he wasnt active that night. If the character appears across town, big deal, he took a little jaunt. As long as certain narrative restrictions are applied, cant kill em off, cant send em away forever, cant MAJORLY deviate from the general storyline of each one, anyone can use the characters and models.