ChrisViral / RealChute

Realistic parachutes for KSP
47 stars 38 forks source link

add KSP-AVC version file for auto-module checking #3

Closed vosechu closed 10 years ago

vosechu commented 10 years ago

Dearest stupid_chris,

I just started working with @tyrope on a project to add a version checker to KSP modules. I know that it would help me a lot! He said that helping him contact module authors would be really helpful so here I am! If you would be willing to accept this patch we would really appreciate it!

The KSP Addon Version Checker is my attempt at trying to have some sort of version checking available for people who play KSP with lots of mods. more information and source available right here on github

Note: I think I got this in the right place. It needs to live somewhere online and also somewhere in the GameData folder for users.

PS. Since you're a mod on the forum I would particularly like to hear your feedback on the mod. We tried to make it very general so someone like blizzy could use these version files to implement version checking. We have a python script but I don't envision that most people will be able to run python immediately. Do you think this will help out the community at large?

ChrisViral commented 10 years ago

Hm, thing is, I /already/ have a version checker that works in game, works with other similar systems, shows an in game warning, doesn't require any third party dependancy, and allows me to block some features of my mod. I'm not sure what this has over Majiir's system :/

vosechu commented 10 years ago

Ah, I'm glad to finally have links to the "other version checker" that I've heard about. I completely agree, his system is better in almost every way except for discovery; both for other modders and for players. Also, I believe the Majiir checker doesn't check a remote server to find out if there are new mod updates available.

When a player sees a version file, they begin to think about how one might use it to automatically check. In addition, they don't need to understand c# in order to gain access to versioning information. Furthermore, this would play very nicely with some future spaceport (which very likely also won't be able to access the c# api to gain this information).

Now that I finally have the name of the actual version checker I'm going to contact Majiir and see if we can make something work where his in-game version loads up a version file and gets the info from a more readable format instead of from inside the assembly or the version object.

Does that seem compelling to you? We've had some big successes like FAR and blizzy's toolbar, but I'd love to know if I'm explaining the value well or if the attempt is just misguided. :)

ChrisViral commented 10 years ago

Hm, I firmly believe keeping it in game is probably a better solution. Even if the end user doesn't understand C#, what he knows when a mod is incompatible is that he gets a very nice popup in the main menu saying "hey, that thing is not updated to the new KSP version, better update"I think integrating a new "hey, that mod has a new version" shouldn't be too hard and is preferable to having to run an off-game script. The only obvious advantage I'm seeing right now is that it does tell when I updated.

vosechu commented 10 years ago

I think it'll be best then for me to talk to Majiir about whether he could use this type of file to do the internal game checking. I'm not advocating that we move it out of the game at all, I think we should absolutely use the in-game notifications. That's actually preferable! But I need some way to access this info in plain text as well. And to do update notifications some version file like this one is going to have to be uploaded somewhere.

But I'll talk to Majiir first and see if I can convince him to keep version information somewhere outside of the source (which feels like good developer hygiene anyways).

tyrope commented 10 years ago

I actually saw Majir's versioning solution when I had the original idea, and was hoping on co-operation but never actually contacted him for it. I'd love to somehow combine our efforts.

ChrisViral commented 10 years ago

I speak with Majiir on a regular basis, I'll bring this up for sure next time I see him in the modding channel. I'll merge this commit for now as this /does/ do something CompatibilityChecker doesn't, but eventually I'd rather phase it out in preference for an in game system. Thanks for the clarification and such :)