Jump to content
The Dark Mod Forums

Mod distribution system


MirceaKitsune
 Share

Recommended Posts

I have been wondering about this since discussing extra NPC's and weapons. I think it's an idea worth considering, especially since the functionality is there and all that's needed should be a new menu.

 

My issue is this: Some TDM missions include their own scripts and assets, so they can have content not existent in the default data (like unique NPC's). This leads to good extras which are distributed with specific missions, although they could be used by other missions too. It made me wonder whether we should have a system to install mods separately from missions, in order to make the distribution of generic stuff easier and further encouraged. Missions would obviously require installing all mods they depend on, and mods which rely on other mods would too.

 

To use a real scenario as an example: I've recently played Breaking out the Fence. It contains a camera which sounds an alarm and alerts guards if a player enters its field of view. Needless to say this camera is a separate script and uses a custom model. It's unlikely the developers will include it as part of TDM... so what if I also want to make a mission with it? The only way now is to unpack the mission, extract the model and scripts, and copy them over. This works but is more difficult, leads to the files being copied between missions and stored multiple times, and also makes it hard to update the camera since every mission would have to manually integrate the changes. If the camera was distributed as a mod instead, I would simply install this mod in my local copy of TDM once, open up DarkRadiant, add the prefab provided by it, and that's it! My mission and others using the camera would also not have to carry copies of it for no reason, and updates to it would be effective in all missions automatically.

 

The good part is that this is already possible as far as the engine is concerned! Anyone can currently create a custom script or model, zip it as a pk4, upload it somewhere, and instruct others to place the file in their darkmod directory. The problem is that this isn't practically possible with the current mission installation system: Nobody wants to install a mission from the main menu, notice that it crashes, go to the forum to ask why, and be told "you need to download this pk4 from this website and put it in your darkmod folder". There needs to be a new menu like the mission installation window but for mods. Or the existing menu could show missions in one list and mods in another, which might be better so we see which mods a mission requires and will install with itself. What are your thoughts?

Link to comment
Share on other sites

There is nothing that hinders mission authors from reusing stuff from other fms. And while it might be a good idea in general the question is as always how high the benefits are in respect to the amount of work needed. Most missions do not really erly a lot on custom stuff, if even.

 

BTW.: The security camera is a doom entity. The alarm entity is stock TDM.

FM's: Builder Roads, Old Habits, Old Habits Rebuild

Mapping and Scripting: Apples and Peaches

Sculptris Models and Tutorials: Obsttortes Models

My wiki articles: Obstipedia

Texture Blending in DR: DR ASE Blend Exporter

Link to comment
Share on other sites

My view: it's a good idea, and there's nothing to stop you or anyone else from starting that library. I've suggested something similar myself when it comes to models and textures, that aren't quite good enough to make it into the core mod but that would be very desirable in certain situations. Again that's a good idea but it hasn't taken off yet. I suspect that part of the reason is that the effort that goes into making a map is so big that the effort of copying something from another pk4 is vanishingly trivial, especially if it's going to be a key gameplay feature. And that people want to be original in the spots where they depart from the stock assets. And of course that I suggested it but I didn't actually do it, and the target audience who might be interested in it are the people who are busy on maps right now!

Link to comment
Share on other sites

It made me wonder whether we should have a system to install mods separately from missions [...] Anyone can currently create a custom script or model, zip it as a pk4, upload it somewhere, and instruct others to place the file in their darkmod directory. The problem is that this isn't practically possible with the current mission installation system

I'm not sure I follow. Is the proposal to establish an FTP and in-game GUI specifically for a very select few people to download and use in their maps? I think a forum-based hub for it is the best alternative, that or a webpage open for everyone to download from. As Steve said, extracting an archive into the root darkmod folder and refreshing DarkRadiant is incredibly trivial when in the middle of mapping. It's way, way more effort to integrate a Dark Mod Workshop.

 

There've been a few attempts to start up hub threads where people link to assets, but they've never really taken off. I have a ton of prefabs I'm planning on posting in a "Merry's Stuff" thread not long from now, but I'd make a general "Stuff" thread and host everything in a public Dropbox folder if it's actually in demand.

  • Like 2
Link to comment
Share on other sites

There is nothing that hinders mission authors from reusing stuff from other fms. And while it might be a good idea in general the question is as always how high the benefits are in respect to the amount of work needed. Most missions do not really erly a lot on custom stuff, if even.

I know. Like I said, the only way currently is to unpack the FM in cause and copy the extra assets over to yours. But like I said, this has several disadvantages. Main one being that if this extra content is a large file (like a high-poly model with a high-res texture) too many missions doing this will cause the mission server as well as every TDM installation to lose disk space pointlessly.

 

But to be honest, another reason is that I think this would encourage more unique missions and creativity. For example, if someone was to model and rig an orc character only to include it as an NPC in a mission, people will play that mission and say "I love the unique character you made", but it's unlikely that someone will unpack the mission and extract the models to use it in their own. Whereas if someone was to model an orc character and explicitly put it in the mod database, many people would probably jump to create a new FM that uses it! That and someone is less likely to bother modelling an orc just for one mission, whereas knowing that it will be used in many missions to come is a lot more motivating.

 

This actually makes me suggest an additional feature: When selecting a mod, one could see which fan missions use it. So if you see a mod that adds a new NPC and are excited to see this NPC, you would also notice which missions include it and download these. Of course this is less important, and would be a simple list filter that could be added later or something.

Link to comment
Share on other sites

know. Like I said, the only way currently is to unpack the FM in cause and copy the extra assets over to yours. But like I said, this has several disadvantages. Main one being that if this extra content is a large file (like a high-poly model with a high-res texture) too many missions doing this will cause the mission server as well as every TDM installation to lose disk space pointlessly.

 

You would have to have dozens of high poly models with hi res textures to have any noticeable impact on the size of the mission. And if the models and textures were good quality and suitable for general use they'd be integrated into the mod anyway.

 

 

if someone was to model and rig an orc character only to include it as an NPC in a mission, people will play that mission and say "I love the unique character you made", but it's unlikely that someone will unpack the mission and extract the models to use it in their own. Whereas if someone was to model an orc character and explicitly put it in the mod database, many people would probably jump to create a new FM that uses it!

 

I think you've got it backwards, actually. The work in creating and maintaining a distribution system for such assets would be MORE work than just copying the relevant files from one mission pk4 to another. And the chances of people making assets for a website where mappers might look and might use it (as opposed to mappers making assets that they actually need for their mission) is quite low.

Link to comment
Share on other sites

I think it is not too difficult for an FMA to copy few files from a mission .pk4 to include content made by others.

 

It is extremely easy and handy if the .pk4 author made it easy, like putting all def stuff in an entity-specific file.

Clipper

-The mapper's best friend.

Link to comment
Share on other sites

I think the idea for a prefab library first came up in 2010. It is now 2015, so you do the math how it turned out. ;)

 

That said, if someone makes it, I will contribute my stuff to it.

Come the time of peril, did the ground gape, and did the dead rest unquiet 'gainst us. Our bands of iron and hammers of stone prevailed not, and some did doubt the Builder's plan. But the seals held strong, and the few did triumph, and the doubters were lain into the foundations of the new sanctum. -- Collected letters of the Smith-in-Exile, Civitas Approved

Link to comment
Share on other sites

I don't say that it only has disadvantages, or that the currents system is optimal. My main concern is the time it would take to implement such a feature. People who make suggestions always seem to underestimate it.

 

I mean, everyone is free to download the source code and play around with it. And if anything good comes out, it may end up in the core mod anyway. But you will fairly convince anyone else from doing this me thinks. We are simple lacking people, especially coders. Besides grayman and steve I think there is noone who is continuosly working on the TDM source code, and if you take a look at the bugtracker, you can see that there is still a lot of work left.

 

Well, I'm just happy you didn't suggest to port TDM to the CryEngine :P But honestly, if you really want such a feature and other ones that requires coding, I would suggest you grab yourself a C++ tutorial and start learning the language. :)

FM's: Builder Roads, Old Habits, Old Habits Rebuild

Mapping and Scripting: Apples and Peaches

Sculptris Models and Tutorials: Obsttortes Models

My wiki articles: Obstipedia

Texture Blending in DR: DR ASE Blend Exporter

Link to comment
Share on other sites

You would have to have dozens of high poly models with hi res textures to have any noticeable impact on the size of the mission. And if the models and textures were good quality and suitable for general use they'd be integrated into the mod anyway.

 

I think you've got it backwards, actually. The work in creating and maintaining a distribution system for such assets would be MORE work than just copying the relevant files from one mission pk4 to another. And the chances of people making assets for a website where mappers might look and might use it (as opposed to mappers making assets that they actually need for their mission) is quite low.

Although it depends on the format, I think models + animations are not that huge when it comes to file size. Textures however can be, if a character has diffuse and normal and specular textures in png / tga format at a resolution of 2048 x 2048 or greater. Then if the character has a voice package of its own, dozens of wav / ogg files are then added to the mix. I can see a high quality character easily going over 100MB... meaning that if 5 missions were to include copies of one, over 400MB of disk space would wasted for anyone who installs all of them.

 

As for why I think extra content being installed separately would make maintaining it easier: Imagine that for some reason, the guard NPC wasn't part of TDM, and every mission that contained guards had to distribute a copy of the model and script. Then someone makes an important update to the script or improves the appearance. All missions using guards would have to add the new files to the pk4 and re-upload the mission, while every user would have to update dozens of missions in a few days. Also if some missions are unmaintained, they would not get the update, so they'd be stuck with an outdated script or uglier model / texture. Thankfully the guard NPC is part of TDM and gets updated separately... this issue would however exist for any content that wouldn't be accepted.

I don't say that it only has disadvantages, or that the currents system is optimal. My main concern is the time it would take to implement such a feature. People who make suggestions always seem to underestimate it.

 

I mean, everyone is free to download the source code and play around with it. And if anything good comes out, it may end up in the core mod anyway. But you will fairly convince anyone else from doing this me thinks. We are simple lacking people, especially coders. Besides grayman and steve I think there is noone who is continuosly working on the TDM source code, and if you take a look at the bugtracker, you can see that there is still a lot of work left.

 

Well, I'm just happy you didn't suggest to port TDM to the CryEngine :P But honestly, if you really want such a feature and other ones that requires coding, I would suggest you grab yourself a C++ tutorial and start learning the language. :)

One reason why I was quick to suggest this is that most functionality is already there. I'm not the type who imagines that anything can be magically coded by a developer ready to make everyone's wishes come true :) I think the only thing needed is some extra menu code... and even that code should be possible to copy-paste from the existing mission installation screen, which already does all this with FM's.

 

Actually, I think mods could even be distributed as FM's in the existing menu, without any need for an extra list. This would make sense since missions are technically "plugins" for TDM as well. But in this case, the list would have to prefix and sort mods and missions accordingly, so people can easily see the difference between the two. Allowing this should however be a simple tweak to the menu code.

 

As for CryEngine, no thanks. idTech 4 is awesome and has all the features I could possibly want... except voxels :P Could use a few extra shaders if anything, like Motion Blur or Depth of Field.

Link to comment
Share on other sites

Then if the character has a voice package of its own, dozens of wav / ogg files are then added to the mix. I can see a high quality character easily going over 100MB... meaning that if 5 missions were to include copies of one, over 400MB of disk space would wasted for anyone who installs all of them.

 

 

That's a highly unrealistic scenario. In the 6 years since we went public, not a single mission has even come close to doing what you describe.

Link to comment
Share on other sites

 

That's a highly unrealistic scenario. In the 6 years since we went public, not a single mission has even come close to doing what you describe.

That is true. The most I've seen in regard to custom characters in missions so far is a steampunk cyborg guard, but even that used existing models / textures from on a custom character definition file.

 

Part of why I'm poking into this is that I have plans to create some stuff in the future. For example custom weapon sets, or assets for modern worlds, and likely more. Some of these would go against TDM's style and likely wouldn't be accepted as part of it, while being content not planned for a specific mission but for anyone to use in any mission. If I get around to modelling / coding any of my ideas, distributing them in a way that's easy for missions to use will be tricky, and keeping them updated even more so.

Link to comment
Share on other sites

A discussion of exactly how to cross that bridge might be more useful after the bridge is built.

Link to comment
Share on other sites

I think the only thing needed is some extra menu code...

You think wrong :)

FM's: Builder Roads, Old Habits, Old Habits Rebuild

Mapping and Scripting: Apples and Peaches

Sculptris Models and Tutorials: Obsttortes Models

My wiki articles: Obstipedia

Texture Blending in DR: DR ASE Blend Exporter

Link to comment
Share on other sites

You think wrong :)

Well, there is already a menu to get a list of missions, plus click them to download and install their pk4. I don't know the code, but I assume we could simply prefix missions as "mission -" and mods as "mod -" and have both use the same system at worst. The most complex thing would probably be dependencies, so that a mission can require the installation of its relevant mods. But again I don't know enough to speak with certainty, a developer would know the exact changes needed.

Edited by MirceaKitsune
Link to comment
Share on other sites

So you suggest that if you add prefixes to the pk4's the game automatically knows what to do with them?! :huh:

FM's: Builder Roads, Old Habits, Old Habits Rebuild

Mapping and Scripting: Apples and Peaches

Sculptris Models and Tutorials: Obsttortes Models

My wiki articles: Obstipedia

Texture Blending in DR: DR ASE Blend Exporter

Link to comment
Share on other sites

So you suggest that if you add prefixes to the pk4's the game automatically knows what to do with them?! :huh:

No, of course not :P Was thinking that prefixes could be added to the name of the package, as in the name that appears in the list. Or more correctly, the pk4 definition could contain a flag which specifies what that file is... which would of course require a code change to understand it.

Link to comment
Share on other sites

  • 1 year later...

So I know this is a rather old thread. The reason I decided to revive it is because earlier today, I posted something that's relevant to what has been last discussed. More specifically one of the first examples of a TDM mod, which explains why I suggested a mod management mechanism. You can get the character set over here. It meets what I consider the three essential criteria:

  • It's large (about 400 MB), complex (lots of entity definitions and texture combinations) and will be further updated in the future.
  • It's meant to be used by fan missions.
  • It's unlikely to be accepted as part of TDM by default, mainly due to thematic reasons.

Obviously this is not to suggest that such a system should exist for just one mod! It's only one example I can offer right now, in response to the "let's think of a mod system once there are mods" argument. There might be more on the way too... someone seems to be working on a Martian character for instance.

 

For now, the installation instructions I included suggest cloning the repository and copying the directories into the FM in cause. This will work but has the problems I mentioned at the time: Every FM that includes it will become huge, whereas any update I make will have to be manually integrated by each FM in part.

Link to comment
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

 Share

  • Recent Status Updates

    • duzenko

      CPU benchmark time - compiling DarkRadiant (2nd run)
      i5 8600K 6C/6T@4.4GHz DDR4 2x2133MHz 9MB cache
      Parallel builds: 1. 3:57 Parallel builds: 6 (default). 2:28 r5 1600AF 6C/12T@3.3GHz DDR4 1x2666MHz 16 MB cache, temp folder on HDD
      Parallel builds: 1. 5:05 Parallel builds: 4. 2:47 Parallel builds: 6. 2:55 Parallel builds: 12 (default). 2:57
      · 2 replies
    • nbohr1more

      Status updates are back so it is also a good time to return to contests!
      https://forums.thedarkmod.com/index.php?/topic/21095-christmas-connections-contest-2021
       
      · 0 replies
    • freyk

      Having seen the new scifi stuff from bladeghost/scythwraith, want to continue the cyberpunk project. Only one problem, can't map.
      · 1 reply
    • jaxa

      Behold, the brand new RTX 2060!
      NVIDIA ponders GeForce RTX 2060 re-release with 12 GB VRAM to paper over RTX 30 scarcity
      · 1 reply
    • thebigh

      There are those who are afraid of greatness
      · 2 replies
×
×
  • Create New...