Mod installer & auto-update tool - would you use it?

Started by KingOfAwesomnia, December 23, 2014, 12:20:19 PM

Previous topic - Next topic

KingOfAwesomnia

Quote from: SubZeroBricks on December 27, 2014, 05:59:29 PMThis is super cool!
Thanks! I love the support so far.


Quote from: SubZeroBricks on December 27, 2014, 05:59:29 PMOut of interest, what are you writing this in or is that a stupid question?
There's no such thing as a stupid question :)
I'm writing the program with Javascript and Node.JS within a Node-Webkit app container (https://github.com/rogerwang/node-webkit). I could write it in .NET or in C# (which are more native to the OS, and I know them both quite well) but there are 4 major things I love about NW that .NET and C# don't give me:
1. The flexibility and consistency in terms of interface design (no crappy Windows-powered buttons that change their appearance across OS'es and never look exactly right)
2. The possibility of cross-platform deployment (I could use virtually the same codebase to make a Mac and a Linux version as well)
3. The fact that error reporting is much more accurate in Javascript and there's no compiling needed for testing (this makes development go a lot faster)
4. It takes exactly one line of code (and no additional libraries or imports) to request data from a server. This is incredibly simple to do compared to the hassle it is in .NET or C#, making it a lot easier to develop things like the mod gallery with online database.

The only real downside (if any) is that the file size of the app will be a bit larger than a native .NET or C# program (60-70MB vs what would be around 30-40MB). The memory usage will also be slightly higher compared to e.g. an optimized C# app, but still not much more than an average google chrome web browser window. Any pc that can run RimWorld should be able to handle it without a problem.


Quote from: Evul on December 27, 2014, 06:17:15 PMIf you need a test mod or something you can use project armory. :)
I'm simply using the mods I already had in my game, switching between various mods to see how well the system works with them all and if it doesn't screw up anything in-game.


Quote from: Evul on December 27, 2014, 06:17:15 PMAlso we are in need of a guy/girl that cab update the kit switcher
I have no idea what the kit switcher is (To be honest I don't use project armory myself) but if my assumption is correct and it's something that allows the player to switch between different versions of the mod, I already have the idea to build something like that into the mod manager itself. Take a look at my Trello board https://trello.com/b/DeIEWPC2, "mod settings" (in the "possible ideas" list) is something along the lines of what you were thinking of I think?

Evul

It is used to turn on and off weapons in the game so you can use only one or two instead if all. :)

KingOfAwesomnia

Quote from: Evul on December 27, 2014, 06:39:26 PM
It is used to turn on and off weapons in the game so you can use only one or two instead if all. :)
That's exactly the functionality I'm targeting with the "mod settings" idea :)
Except that instead of just making it for one mod, I would provide the functionality as a settings window built into the launcher, for any mod maker to implement in their mod.

Evul

Allright :)
If you whant to take a look on our current it's located in the download directory :)
It add and removes a
.deAct
Tag on the end of the files to make the file unreadable so it deactivates the weapon :) we looking on expanding it so you can save and share a kit.

Igabod

Quote from: KingOfAwesomnia on December 27, 2014, 12:10:05 PM
Quick question: what's the path you guys put the RimWorld game in?

I always put mine in D:/Program Files (x86)/RimWorld but I know that there's probably a lot of people who put the game in a different folder. You'll be asked to set the path if the program can't find the game files, but I want to add a number of possible and often used paths for the program to check automatically so you don't have to input it manually.

I have all the various alpha versions installed onto my desktop. So the current alpha version is located at Desktop/RimWorld651Win (I am still using the very first alpha 8 release)

KingOfAwesomnia

Quote from: Igabod on December 28, 2014, 01:20:39 AMI have all the various alpha versions installed onto my desktop. So the current alpha version is located at Desktop/RimWorld651Win
Hm, I see. Accounting for all alpha build versions is not really a good idea (this would cause the program to hang upon first start while it's scanning all the possible directory names, possibly causing a program crash) but I can add the alpha 8 build versions to the directory check since that is the latest version.

Igabod

Quote from: KingOfAwesomnia on December 28, 2014, 08:55:00 AM
Quote from: Igabod on December 28, 2014, 01:20:39 AMI have all the various alpha versions installed onto my desktop. So the current alpha version is located at Desktop/RimWorld651Win
Hm, I see. Accounting for all alpha build versions is not really a good idea (this would cause the program to hang upon first start while it's scanning all the possible directory names, possibly causing a program crash) but I can add the alpha 8 build versions to the directory check since that is the latest version.

Yeah, don't need the program to do anything with the older versions. They're just there because I never delete anything off of my desktop except things that were only meant to be temporary (like backups of files that I only need while I test changes or reminder notes). Just wanted to be sure it scanned for more than just RimWorld as the directory name so that issue with possible crashing doesn't happen.

KingOfAwesomnia

Quote from: Igabod on December 28, 2014, 09:16:34 AMJust wanted to be sure it scanned for more than just RimWorld as the directory name
I'll see how I can best balance things.


Furthermore, I designed a "mod info" screen for the app. For the example, I got  the Project Armory mod data from the forum and checked out the kit switcher, and used that information to design this screen. I think it works pretty well, though it's not really complex - just a bunch of on/off switches. I didn't want to go into too much detail since I don't want to lose focus on the main goal - the auto-updater.



In the actual app, the mod information for this screen will be retrieved from the About.xml file.

Thoughts / ideas / suggestions?

[offtopic] I never downloaded project armory cause I don't play for the fighting, I play mainly for the building (so pretty much all my mods are tech research, furniture, and loads of plants and animals) but I must admit this mod looks cool.. Might give it a go in a bit :)

mrofa

Looks awsome atm :D
I was wondering 2 things , when you get stuff working correctly and all would it be possible to
1. do styles for the window look, mainly only background since its white X_X?
2. Project armory got kit switcher, would it be possible to implement similar funcionality thrugh mod manager ?
All i do is clutter all around.

KingOfAwesomnia

Quote from: mrofa on December 28, 2014, 02:19:52 PM1. do styles for the window look, mainly only background since its white X_X?
I won't add this into the initial app, since it would be quite a lot of work to customize it all, and it would distract from working on the main functionality. But, I've added it to the ideas list on my Trello board, so once the main app is finished I'll evaluate the ideas in that list and one by one add these ideas to future releases.


Quote from: mrofa on December 28, 2014, 02:19:52 PM2. Project armory got kit switcher, would it be possible to implement similar funcionality thrugh mod manager ?
Already working on something like this, that's what the on/off switches on the lower part of the screenshot in my previous post are for. It will allow mod makers to easily turn on or off parts of their mod, using a simple list structure inside the about.xml file (that's where I put all the additional mod settings that my launcher will support).

mrofa

Quote
2. Project armory got kit switcher, would it be possible to implement similar funcionality thrugh mod manager ?
Already working on something like this, that's what the on/off switches on the lower part of the screenshot in my previous post are for. It will allow mod makers to easily turn on or off parts of their mod, using a simple list structure inside the about.xml file (that's where I put all the additional mod settings that my launcher will support).

Yes i think im blind :D

About.xml is a part of the game and it will make errors if you put them there, even thrugh this will be yellow errors that dont do anything it would be better just for mod creators do another xml in mod folder or atleast it would be cleaner :)
All i do is clutter all around.

Igabod

Quote from: mrofa on December 28, 2014, 03:31:35 PM
About.xml is a part of the game and it will make errors if you put them there, even thrugh this will be yellow errors that dont do anything it would be better just for mod creators do another xml in mod folder or atleast it would be cleaner :)

I wouldn't mind putting an extra .xml file in my mods specifically for this. And as long as the format is simple and it doesn't require too many lines I'm sure new modders wouldn't find it too difficult to pick up.

KingOfAwesomnia

Quote from: mrofa on December 28, 2014, 03:31:35 PMit would be better just for mod creators do another xml in mod folder
Quote from: Igabod on December 28, 2014, 03:44:15 PMI wouldn't mind putting an extra .xml file in my mods specifically for this.

I guess the concensus is that I'll use an additional xml file for the launcher data :)

Evul

This look so amazing! (This also saves me mayor of time on making my own switcher. O.O )
How the manager work with that do you have a auto detect system or do you have a XML desising what contains in the mod deactivation and activation. Cause I like to have a way for the author to decide what can be activated and not :)
Unless you've already done that :)


EDIT:
I'm also blind.
How is it defined in the about.xml?

KingOfAwesomnia

Quote from: Evul on December 29, 2014, 12:49:13 PMThis also saves me mayor of time on making my own switcher
That's the idea, to make this one tool that will make it easier for everyone else :)

Quote from: Evul on December 29, 2014, 12:49:13 PMHow is it defined in the about.xml?
I won't put it in about.xml since the game throws notices / errors when I do. The extra data will go in /About/Launcher.xml and I'll tell you how that file will be structured as soon as I finish with the settings function.