Author Topic: id like a couple new functions in scripting  (Read 6876 times)

0 Members and 1 Guest are viewing this topic.

Offline Nuke

  • Ka-Boom!
  • 212
  • Mutants Worship Me
Re: id like a couple new functions in scripting
i personally like the way quake mods (2 and 3 mainly, some source ports of q1 and im not sure about the doom 3 engine) work. if you join a mod (with auto-download enabled) server first it downloads the mod binary, the game then sticks placeholder models and textures in the places of any missing data. then it downloads them while gameplay is in progress. it even makes sure to put everything in a certain folder for that mod.

that model of mod xfer applied to freespace it would work something like this. on load the playing mission, tables and scripts are transfered. gameplay relevant pof data (gunpoints, gocks, moi ect. everything but geometry) are transfered and appended to a compatable place holder model (geometry data only). you could use a model alias for a particular shipclsss, defined in a table. so for fighter it would use ulysses geometry and for a bomber it would use ursa geometry. as the game is played the full models are sent out one piece at a time on ny excess padding of the currently used packets. textures would also be trancfered one mip level at a time starting with diffuse maps before doing glows and specs. of course the idea is to keep a running server going. and that anyone can hop on and eventually anything custom would take the place of the placeholder models, gameplay uninterupted.

that said i must take into account what kara said. that not many people play online and that its a huge undertaking and wouldnt add that much to the engine. i think it might be a better idea to implement a simple mod versioning system. create a table or some kind of config file, with a mod version number a list of all required files, the crcs for relevant files. theese could be generated by the engine for a mod release. you could have a required list and an optional list. the optional list is for alternate versions of things, like high or low res versions of textures for different system capabilities. stack that with the ability to run an alternate stats trackers and you got a viable solution for multiplayer mod compatability.
I can no longer sit back and allow communist infiltration, communist indoctrination, communist subversion, and the international communist conspiracy to sap and impurify all of our precious bodily fluids.

Nuke's Scripting SVN