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

0 Members and 1 Guest are viewing this topic.

Offline General Battuta

  • Poe's Law In Action
  • 214
  • i wonder when my postcount will exceed my iq
We should stop having multiple MVP versions.
After considerable thought, a lot of time spent helping users, no little dabbling in psychology, and some light discussion with user research guys at Bungie, I have a proposal.

We should remove a major obstacle to new user comprehension of FreeSpace Open by unifying all the MediaVPs as one product, 'the MediaVPs'. We should consciously avoid having '3.6.12 MVPs', '2014 MVPs', '2015 MVPs', or any other form of version tagging. All new MediaVP releases should replace old ones and be fully drop-in backwards compatible with all past campaign releases.

The reason is twofold. First, numbers and versions are intimidating and confusing. Players should not be told they need the 3.6.12 MVPs for this campaign, the 2014 MVPs for that campaign, and the plain ol' MediaVPs (no number, but those ones are WAY out of date!) for that campaign. It is an overwhelming environment for new users to navigate.

Second, it will cut down on tech support issues. If we have a single set of MVPs that are infinitely backwards compatible, we will never need to tell users to edit mod.inis. This is a significant source of confusion, especially for new users. New players will never select an old campaign, only to get mysterious errors and learn that they have 'the wrong MediaVPs.'

The closer we can get to 'click install, click run, and you're off' - as with professional game products - the more we can expand our userbase and make people happy.

I'm open to feedback. Thoughts?

 

Offline mjn.mixael

  • Cutscene Master
  • Moderator
  • 212
  • Chopped liver
    • Steam
    • Twitter
Re: We should stop having multiple MVP versions.
Summary from IRC response...

This is complicated.

Infinitely backwards compatibility is a whole separate and increasingly complex issue. Mods are just too complicated these days.

But I hear you and am interested in others thoughts.
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 deathspeed

  • 29
  • i can't think of a good avatar
    • Steam
Re: We should stop having multiple MVP versions.
I personally love the idea.  Even as a person more experienced with FSO than someone who never heard of FreeSpace until they saw it on Steam, I get somewhat confused at times, and I have not even had to edit a mod.ini yet. 

I'm no coder, but I had always assumed that there was a reason it is not already done that way.  Wouldn't it get more and more difficult to maintain backward compatibility over time, especially when some things are coded to take advantage of a specific MVP feature but then that particular feature is improved or otherwise changed?  Who would be responsible for all the regression testing?  But as I write this, I guess those are the same hurdles faced by any SCP upgrades?  Those seem to be handled OK, with actions such as relying on some of the user base to test by using nightly builds.
Maybe someday God will give you a little pink toaster of your own.

 

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.
Yes, it would get harder to maintain compatibility over time. And without old MVPs to pair with old campaigns, they would be more likely to break without any easy solution.

 

Offline AdmiralRalwood

  • 211
  • The Cthulhu programmer himself!
    • Skype
    • Steam
    • Twitter
Re: We should stop having multiple MVP versions.
I personally love the idea.  Even as a person more experienced with FSO than someone who never heard of FreeSpace until they saw it on Steam, I get somewhat confused at times, and I have not even had to edit a mod.ini yet. 

I'm no coder, but I had always assumed that there was a reason it is not already done that way.  Wouldn't it get more and more difficult to maintain backward compatibility over time, especially when some things are coded to take advantage of a specific MVP feature but then that particular feature is improved or otherwise changed?  Who would be responsible for all the regression testing?  But as I write this, I guess those are the same hurdles faced by any SCP upgrades?  Those seem to be handled OK, with actions such as relying on some of the user base to test by using nightly builds.
I do not think it would be practical to generate or use "nightly MediaVPs"...
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.

 

Offline mjn.mixael

  • Cutscene Master
  • Moderator
  • 212
  • Chopped liver
    • Steam
    • Twitter
Re: We should stop having multiple MVP versions.
Nightly MediaVPs simply won't happen. We just don't have the bandwidth to allow for that kind of traffic every day.
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 jr2

  • The Mail Man
  • 212
  • It's prounounced jayartoo 0x6A7232
    • Steam
Re: We should stop having multiple MVP versions.
Would it be possible to select MVPs that satisfy dependencies of selected mods in the installer automatically?

Eg,

"You've selected Transcend, which requires MVPs 3.6.10. I'll go ahead and select that for you now, or you can press cancel to deselect Transcend."

Also, have Installer check for dependencies of mods already installed.  Maybe scan mod.ini to be sure the user didn't customize the dependency folder name? Nah, if they do that, they know how to manually fix stuff I'm sure.

As well, how about moving all MediaVPs into their own subdirectory under one folder, maybe called all_MediaVPs ? Or just MediaVPs and put the old old MediaVPs as legacy_MediaVPs?  Eg,

\MediaVPs
       |-legacy_MediaVPs
       |-MediaVPs_3.6.10
       |-MedisVPs_3.6.12
       |-MediaVPs_2014


But idk if that would be so necessary if installer was handling dependencies automatically. But it would clean up the root directory some.
     

 

Offline jr2

  • The Mail Man
  • 212
  • It's prounounced jayartoo 0x6A7232
    • Steam
Re: We should stop having multiple MVP versions.
Nightly MVPs would probably require the ability to post a sort of diff update where only the changed data was downloaded, and patched on the end users machines. Like use QuickPAR or similar.

 

Offline mjn.mixael

  • Cutscene Master
  • Moderator
  • 212
  • Chopped liver
    • Steam
    • Twitter
Re: We should stop having multiple MVP versions.
It's still not going to happen. When things change in the MediaVPs SVN, it's not usually just table file changes. It's bulk model and texture uploads.. usually untested. I am strongly against the idea of Nightly Mediavps.. if not because of bandwidth size, because of the amount of nightly "this is broken" posts we'd receive, and how mods may rely on things in the nightly that aren't tested and refined until closer to release. Meaning that suddenly they get stuff "unexpectedly" changed on them.

Nightly mod releases are in no way comparable to nightly code releases.

EDIT: And even then.. Nightly MediaVP releases would not solve the issues brought forth in the first post.
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.
Nightly MVPs are a terrible idea, and they would make this problem worse, not better.

 

Offline jr2

  • The Mail Man
  • 212
  • It's prounounced jayartoo 0x6A7232
    • Steam
Re: We should stop having multiple MVP versions.
Makes sense. What about putting dependency handling into the installer, or improving it if it's already there and doesn't always catch everything?

 

Offline Black Wolf

  • Twisted Infinities
  • 212
  • Hey! You! Get off-a my cloud!
    • Visit the TI homepage!
Re: We should stop having multiple MVP versions.
We basically went through this prior to 3.6.14 being released. If memory serves, there were lots of ideas, but mostly they were impractical, and the consensus was more or less thatthe system we have now (multiple versions required) is bad, but that there's nothing practical that would be any better.
TWISTED INFINITIES · SECTORGAME· FRONTLINES
Rarely Updated P3D.
Burn the heretic who killed F2S! Burn him, burn him!!- GalEmp

 

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.
I followed that discussion. I think enough time has passed - and enough new experience has come to late with respect to end user experience - that it's time to discuss this proposal.

 

Offline jr2

  • The Mail Man
  • 212
  • It's prounounced jayartoo 0x6A7232
    • Steam
Re: We should stop having multiple MVP versions.
Could the installer be used to mitigate this problem like I posted earlier?

 

Offline deathspeed

  • 29
  • i can't think of a good avatar
    • Steam
Re: We should stop having multiple MVP versions.
Sorry; I wasn't suggesting nightly MediaVP builds and I didn't mean to derail the topic at all.  I was just using the nightly code releases at an example of how this community has found ways to deal with testing.  I agree that it totally gets away from the original point of not having multiple versions of MediaVPs.
Maybe someday God will give you a little pink toaster of your own.

 

Offline niffiwan

  • 211
  • Eluder Class
Re: We should stop having multiple MVP versions.
tl;dr: a single mediavps version makes it easier on users, but makes it much harder on content creators, will this kill off new/updated content? I think an installer with dependency management is the solution.

----

The issue I see is that maintaining backwards compatibility "forever" is going to eventually make it impossible (or just very difficult and time consuming) to move forward.  It'll put an incredible burden on the mediavps maintainers to ensure that nothing breaks, which will introduce a chilling effect.  Who wants to make a model for 6 months (for example) and then have to spend 18 months testing it to ensure that it hasn't broken any one of a hundred mods? I'd wager that modellers would stop upgrading models, OR the testing wouldn't get done (which is *perfectly* understandable) and then you have backwards compatibility issues anyway, and those issues won't have any solution apart from the mod creator updating their mod (which shifts the maintenance burden onto mod creator instead, and they get to experience said chilling effect). For products produced by a professional game company this is not an issue - they don't support games / updated content for that long. They can make a clean break and toss out backwards compatibility when they make the sequel / next title.  (Can quake4:2005 read quake1:1996 data?)

My *opinion* is that the best way to manage this is to have the installer handle all mod dependencies, if someone wants to install a mod that requires mediavps (3.6.10) then the installer will also install mediavps (3.6.10) without further user interaction.

(I hope that's all clear, I drank too much wine at lunch today...  :nervous:)
Creating a fs2_open.log | Red Alert Bug = Hex Edit | MediaVPs 2014: Bigger HUD gauges | 32bit libs for 64bit Ubuntu
----
Debian Packages (testing/unstable): Freespace2 | wxLauncher
----
m|m: I think I'm suffering from Stockholm syndrome. Bmpman is starting to make sense and it's actually written reasonably well...

 

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.
I don't think rigorous testing with every past mod is possible or realistic. I think that some breakage will simply have to be accepted and dealt with as it occurs.

 

Offline niffiwan

  • 211
  • Eluder Class
Re: We should stop having multiple MVP versions.
Doesn't that breakage lead to an equally poor user experience? Or.... iunno - maybe they've had more time to enjoy the game and would be willing to spend more time working to fix the problem?  i.e. shift the issue from initial impressions (where bad == don't play, don't go back) to "halfway" through a campaign, which might induce them to continue working to fix it?

(I must admit that my experience is obviously more with the code side rather than assets... I guess that asset issues are less likely to be a game breaker than code issue are)

Anyway - what about the better mod dependencies idea - do you have any comments/thoughts on it?
Creating a fs2_open.log | Red Alert Bug = Hex Edit | MediaVPs 2014: Bigger HUD gauges | 32bit libs for 64bit Ubuntu
----
Debian Packages (testing/unstable): Freespace2 | wxLauncher
----
m|m: I think I'm suffering from Stockholm syndrome. Bmpman is starting to make sense and it's actually written reasonably well...

 

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.
If the process can be reliably automated that sounds like a decent solution...though it does not improve the end user experience if we ever actually have to talk through how to fix the MediaVPs.

 

Offline Mongoose

  • Rikki-Tikki-Tavi
  • Global Moderator
  • 212
  • This brain for rent.
    • Minecraft
    • Steam
    • Something
Re: We should stop having multiple MVP versions.
Speaking theoretically, even though I recognize the massive danger in doing so, the majority of campaigns out there shouldn't have fundamental issues with incremented MediaVP versions, should they?  I mean by far the biggest change between versions has historically been the addition of new models, which as far as function is concerned are drop-ins for the retail models anyway, which most campaigns don't touch.  If a campaign adds a few custom models or effects, they should generally do their own thing, since they're separate from the now-upgraded retail assets.  I know one of the major problems in the past was the removal of the upgraded tilemap textures that some older mods relied on, but those were compiled in a handy .vp, which would be trivial to include in the Installer.  I know there are some more esoteric cases involving scripts or .tbm files or the like that I don't entirely understand, but those tend to be found in more recent releases that could presumably be updated for the general compatibility standard.  I think the middle-ground campaigns are where I'd expect the most trouble: those with more complex modding than a couple of added ship classes, but not new enough to still have the creators around to work on them.  Even there, as the FSCRP has shown, the more popular of those could be fixed by the community, and as for the less-popular...well, newer players probably wouldn't be playing those right off anyway.

But like I said, this is all theoretical, and there are probably at least twenty good reasons why most of what I said is utterly wrong.