Author Topic: We should stop having multiple MVP versions.  (Read 16323 times)

0 Members and 1 Guest are viewing this topic.

Offline mjn.mixael

  • Cutscene Master
  • Moderator
  • 212
  • Chopped liver
    • Steam
    • Twitter
Re: We should stop having multiple MVP versions.
You cannot install 3.6.10, 3.6.12, and 2014 to 'mediavps' without breaking almost everything. The best idea with the tools we have now would be to require a legacy mod folder 'mediavps_3612' that contains a small rollback VP. However.. that still requires mod authors to update or end users to alter the mod.ini.
Cutscene Upgrade Project - Mainhall Remakes - Between the Ashes
Youtube Channel - P3D Model Box
Between the Ashes is looking for committed testers, PM me for details.
Freespace Upgrade Project See what's happening.

 

Offline General Battuta

  • Poe's Law In Action
  • 214
  • i wonder when my postcount will exceed my iq
Re: We should stop having multiple MVP versions.
Something I haven't seen discussed yet is that even if we did change to a sole 'MediaVPs' install folder now. We have just about 4 years of mods that now rely on 'mediavps_3612' and 'mediavps_2014'. These are, arguably, the mods that most players will be playing and until the mod authors update them, we'll have the same issues as now.. just in reverse.

Yeah, this is a huge obstacle.

Quote
Also, I have continued to follow the thread that spurred this.. and I'm not convinced the guy is even following instructions correctly. It makes me wonder if this issue has only presented because of one loud user having issues where 40 quiet users are enjoying the game already.

It looks like he may have been the victim of an installer glitch.

 
Re: We should stop having multiple MVP versions.
I also have a feeling I know the answer, but I think the option should be mentioned, what about compatibility packs, something that sits on top of the current media vp to replicate the old version.

I really don't like this idea, but I wanted to hear how it stacks up.

How about turning it the other way around, and turning the MediaVPS into an iterative process with updates, so that you have a

1) Base set of MVP's, let's say the 3.6.12 MVPs
2) An Add-on set called 2014, which is dependant on 3612, containing only what has changed.
3) Another add-on set called 2015, which is dependant on 2014, containing only what has changed.
etc.

That way we have an excuse to stick all the MVPs into one thread, thus simplifying it a bit (download all of these files, extract them, select latest or mod of choosing). It also deals with bandwith issues.

Basically - Backwards compatible delta patching.

 

Offline AdmiralRalwood

  • 211
  • The Cthulhu programmer himself!
    • Skype
    • Steam
    • Twitter
Re: We should stop having multiple MVP versions.
Then you run into the mod.ini problem where a mod depending on "2015" won't automatically get "2014" and "3.6.12" in the -mod list; your mod.ini would have to refer to all of them in the SecondaryList to get all of them. After a few of these "upgrades", the standard SecondaryList entry starts to get a little ridiculous.
Ph'nglui mglw'nafh Codethulhu GitHub wgah'nagl fhtagn.

schrödinbug (noun) - a bug that manifests itself in running software after a programmer notices that the code should never have worked in the first place.

When you gaze long into BMPMAN, BMPMAN also gazes into you.

"I am one of the best FREDders on Earth" -General Battuta

<Aesaar> literary criticism is vladimir putin

<MageKing17> "There's probably a reason the code is the way it is" is a very dangerous line of thought. :P
<MageKing17> Because the "reason" often turns out to be "nobody noticed it was wrong".
(the very next day)
<MageKing17> this ****ing code did it to me again
<MageKing17> "That doesn't really make sense to me, but I'll assume it was being done for a reason."
<MageKing17> **** ME
<MageKing17> THE REASON IS PEOPLE ARE STUPID
<MageKing17> ESPECIALLY ME

<MageKing17> God damn, I do not understand how this is breaking.
<MageKing17> Everything points to "this should work fine", and yet it's clearly not working.
<MjnMixael> 2 hours later... "God damn, how did this ever work at all?!"
(...)
<MageKing17> so
<MageKing17> more than two hours
<MageKing17> but once again we have reached the inevitable conclusion
<MageKing17> How did this code ever work in the first place!?

<@The_E> Welcome to OpenGL, where standards compliance is optional, and error reporting inconsistent

<MageKing17> It was all working perfectly until I actually tried it on an actual mission.

<IronWorks> I am useful for FSO stuff again. This is a red-letter day!
* z64555 erases "Thursday" and rewrites it in red ink

<MageKing17> TIL the entire homing code is held up by shoestrings and duct tape, basically.

 
Re: We should stop having multiple MVP versions.
Then you run into the mod.ini problem where a mod depending on "2015" won't automatically get "2014" and "3.6.12" in the -mod list; your mod.ini would have to refer to all of them in the SecondaryList to get all of them. After a few of these "upgrades", the standard SecondaryList entry starts to get a little ridiculous.

TBH, a little ridicilous SecondaryList entry (which can be copy pasted anyway) seems like a small issue compared to the user usability, bandwith, and that sorta things mentioned here.

 

Offline swashmebuckle

  • 210
  • Das Lied von der Turd
    • The Perfect Band
Re: We should stop having multiple MVP versions.
Other than ugliness in the mod.ini (which the end user hopefully won't be messing with), what are the drawbacks of doing it this way? Is it a pain in the ass for the FSU team? It seems like that method (combined with the installer checking for and downloading dependencies) would be the minimum bandwidth/maximum compatibility/minimum hassle option for the end user. I guess changing over to that sort of system could be a rocky experience, but that's a one-time difficulty.

 

Offline jr2

  • The Mail Man
  • 212
  • It's prounounced jayartoo 0x6A7232
    • Steam
Re: We should stop having multiple MVP versions.
Ha, how about if we do decide to do that, then we move the secondary list from mod.ini to mod-secondary-list.ini to avoid user confusion? I dunno, just a thought.

 

Offline m!m

  • 211
Re: We should stop having multiple MVP versions.
The best solution would be to completely deprecate mod.ini and use a more powerful and modern format to specify mod dependencies. The launcher could then resolve which mods need to be enabled to play a specific mod.
For example, if a mod requires the 2014 mediavps it would only say that it needs the MediaVPs with version "2014" (or something else, depends on how the versioning works).

 

Offline Kolgena

  • 211
Re: We should stop having multiple MVP versions.
That sounds a lot like how MS dotNET framework works. You have dozens of versions of the thing, and essentially none of them are compatible with each other. However, the MVPs aren't a couple megs in size, and it could get ridiculous after a few iterations when people run 10 gigs of Mediavps in different versions just to keep their game working.


...and I have no idea how a unified MVP package could be accomplished. I'm leaning towards saying that it can't.

 

Offline Fury

  • The Curmudgeon
  • 213
Re: We should stop having multiple MVP versions.
"mklink /j mediavps fsu2014" would create a junction point to a directory called fsu2014 from link called mediavps. Unlike symlink, creating junction points do not require admin privileges. This however means that something would actually need to create the junction point, like Goober's installer. Only Vista and newer supported though. XP and older would have to use 3rd party tools or plug into Win32 API for same effect.
« Last Edit: June 10, 2014, 07:04:01 am by Fury »

 

Offline jr2

  • The Mail Man
  • 212
  • It's prounounced jayartoo 0x6A7232
    • Steam
Re: We should stop having multiple MVP versions.
Make an empty mod called <new MVPs name> and have the mod.ini primarylist point to the mediavps mod?

 
Re: We should stop having multiple MVP versions.
Doesn't work because mod.inis aren't recursive.
The good Christian should beware of mathematicians, and all those who make empty prophecies. The danger already exists that the mathematicians have made a covenant with the devil to darken the spirit and to confine man in the bonds of Hell.

 

Offline jr2

  • The Mail Man
  • 212
  • It's prounounced jayartoo 0x6A7232
    • Steam
Re: We should stop having multiple MVP versions.
Add a [+recursive] flag?

 

Offline Mongoose

  • Rikki-Tikki-Tavi
  • Global Moderator
  • 212
  • This brain for rent.
    • Minecraft
    • Steam
    • Something
Re: We should stop having multiple MVP versions.
Honestly ideas along those lines all seem hideously complex and prone to massive failure, at least compared to what I was trying to articulate earlier.  I don't know if I ever got it out clearly, but my main thought here wasn't that we should come up with some system that tries to mash previous MVP versions into one massive ball, but that we should establish protocols that allow for mods to reference MVP content with the reasonable expectation that said content will be available in the future.  In other words, say something like, "Okay, we're calling these weapon effects X, and these ship models Y, and these sounds Z."  That way, even if the individual files are edited to some upgraded version in the future, there will still be a file with the same name in the same place that a mod can reference down the line.  And if for some reason a whole category of files were to be removed, like the upgraded tilemaps were, they could be included in a theoretical "MV_Compatibility" pack, something that wouldn't directly be referenced anymore by the MVP's own tables, but that would still exist for the sake of backwards compatibility with third-party campaigns.  If that system were set up, then we could tweak all of the prominent mods out there to conform with it, and have them continue working indefinitely, without needing to re-release them every new MVP version when something breaks.

 

Offline Fury

  • The Curmudgeon
  • 213
Re: We should stop having multiple MVP versions.
Mediavps compatibility with other mods is much bigger in scope than just file names. After compatibility comes the issue of consistent user experience. Even if new major mediavps is technically compatible with a mod in a way that it does not cause any prominent errors, it does not mean user experience is consistent and what the mod creators intended. Naturally errors are the biggest cause for concern, but user experience is not something to forget about.

User experience is something we've had to take into account since mediavps_3612, as that was the first release to use scripts. As mediavps become more complex in enhancing user experience of retail FS2, the harder it is to keep user experience consistent in mods that depend on mediavps. Let's take Blue Planet as an example, it has lots of ships that were not in retail FS2 and even completely new faction (or race, however you want to put it). If Blue Planet had been designed to work with mediavps version X and then suddenly end-users upgrade mediavps to version Y, user experience could be severely uneven and inconsistent even if there are no errors.

This can be avoided if both FSU team and mod creators work together to ensure compatibility and user experience work out with newer mediavps. In a perfect world. In reality, I doubt this is going to happen without significant headaches on the part of FSU and mod creators, potentially leading to many issues and even delaying mediavps releases. It's much better for the community if FSU can work in their own timetable without having to excessively worry about other mods and mod creators can work in their own timetable without having to worry about upcoming mediavps releases. After all, why would FSU have to worry about other mods when their task is to upgrade retail FS2?

I really do not believe one mediavps to rule them all is going to happen. If you want to do away with having to keep multiple versions of mediavps around, then there is really only one solution. Mod creators bundle mediavps contents into their own mods instead of depending on mediavps like they do now. This has the side-effect of increasing mod sizes several times because of duplicate assets as well as additional headache from mod creators having to manage mediavps assets in their mod mod. Managing these assets and somehow keeping them separate from the mod's own assets is extremely difficult and time consuming. Upgrading these assets from newer mediavps release even more so. To make such a situation workable, there would be need for multiple data directories. I don't think fs2_open and fred2_open supports that at this time.

Renaming mediavps to something more approachable and understandable is completely separate issue and I agree with others that better name would be a good idea. As for the name, changing the project name to The FreeSpace 2 Upgrade Project and mod directory name to freespace2_upgrade would be my suggestion. Likewise the FSPort version would be freespaceport_upgrade. Upgrade as a word covers all assets, not just visuals.
« Last Edit: June 11, 2014, 03:41:26 am by Fury »

 

Offline General Battuta

  • Poe's Law In Action
  • 214
  • i wonder when my postcount will exceed my iq
Re: We should stop having multiple MVP versions.
Dependency control in the installer will resolve many issues raised in this thread.

 
Re: We should stop having multiple MVP versions.
Many of the rest could be solved if mod authors were encouraged to use good hygiene when sourcing their assets, rather than using potentially volatile ones.
The good Christian should beware of mathematicians, and all those who make empty prophecies. The danger already exists that the mathematicians have made a covenant with the devil to darken the spirit and to confine man in the bonds of Hell.

 

Offline Dragon

  • Citation needed
  • 212
  • The sky is the limit.
Re: We should stop having multiple MVP versions.
No, that would not solve anything. Every asset in MVPs is volatile, improvements are made all the time, and there's no telling what will change next. Something seen as a peak of quality one day will, after a time, get old and probably get remade. Also, we need to consider realistic solutions - those that can be implemented by MVP team and they alone. Relying on people following a directive is a shaky assumption at best.

 

Offline FelixJim

  • 28
  • User 11092
Re: We should stop having multiple MVP versions.
I feel like the launcher being able to tell the difference between a mod which requires a specific version of the mediaVPs, and a mod which would like to use the latest mediaVPs available but doesn't need them would be useful. I suppose this goes back to what m!m was saying. This and a big push to get content creators to stop treating the mediaVPs as a "community repository", which places a horribly unfair burden of responsibility on the FSU team, sounds like the right direction to me.
In-Mission Techroom Script v0.4 - See information from the techroom in game
Simple Animation Script v0.2 - Make your own on-screen animations for FSO
Visible Waypoints Script - Makes waypoints visible in-game
Run From File Script - Get around the pesky 31 character limit for script-eval

 
Re: We should stop having multiple MVP versions.
are you suggesting to make the mediavps work like windows? XD all that backward compatibility is going to cause a lot of bugs, but I agree this is the best choice, it would be better to fix each other mod in a case by case basis until everything works with a single Mediavp system.

Personally I use the mediavps 2014 with all the mods, and rarely do I get crashes, mostly when stuff like shaders come up do I get some issue. tho I do remember having to edit one or 2 mods to make them work with this files.