Author Topic: Mod in new software types and features  (Read 5171 times)

0 Members and 1 Guest are viewing this topic.

March 17, 2015, 03:30:36 PM
Read 5171 times

woubuc

  • *
  • Information
  • Member
  • Posts: 41
    • View Profile
As the title says - is it possible to mod in new software types and features? I'd love to create a whole mod pack with new types of software and features, set how much difficulty and quality each feature adds, how popular each type of software is, select dependencies (which software is required to make other software, like how you currently need a visual tool to make pretty much anything else and sometimes an audio tool), etc...

EDIT: I found the software types in the test mod now (sorry!) but if I just put the SoftwareTypes folder inside a subfolder inside the Mods folder (so it's Mods/TestSoftware/SoftwareTypes/Test.xml) it screws up the game. What do I need to do to make it work?

EDIT2: I see the XML file has <Needs> for a software type and <Dependencies> for a feature, but both of these are blank. How should I format these if I want to add needs or dependencies?
« Last Edit: March 17, 2015, 03:42:41 PM by woubuc »

March 17, 2015, 05:10:15 PM
Reply #1

woubuc

  • *
  • Information
  • Member
  • Posts: 41
    • View Profile
So I figured out what was causing the problem, I needed to copy the name generator along with the softwaretypes. How exactly does a namegen file work?

PS: Sorry for the many questions, it's just that I can't seem to find a modding guide anywhere.

March 17, 2015, 06:04:47 PM
Reply #2

khornel

  • Dev
  • *****
  • Information
  • Member
  • Administrator
  • Posts: 369
    • View Profile
    • Software Inc
My bad, I updated the example mod zip to include an example on how to use dependencies and needs.

Here's an article I wrote on the name generator: http://softwareinc.coredumping.com/randomization-super-sausage-corp/

I'll put a modding guide up at some point, probably after I've implemented error messages for the mod loading code.

March 17, 2015, 08:22:52 PM
Reply #3

woubuc

  • *
  • Information
  • Member
  • Posts: 41
    • View Profile
That answer helps a lot, thanks :D

Is it possible to 'override' or disable any of the default software types? For instance, if I wanted to add software types like 'Image editor', '3D modeling tool', 'Video editor', 'Vector drawing tool' but then remove the 'Visual tool' and replace the other default software types with more specific needs, could I do this (and how), or are these fixed in the game?

March 17, 2015, 08:48:59 PM
Reply #4

khornel

  • Dev
  • *****
  • Information
  • Member
  • Administrator
  • Posts: 369
    • View Profile
    • Software Inc
Currently no, it is the plan, but as it is implemented right now, the game will throw an exception if two software types are named the same.

Some software will be not be overridable, like Operating Systems, when I have enforced this in the code, I will release all overridable in-game data in the release so you can override software types by basically replacing them with a modified version.

However, needs are currently required, so if you made 'Games' have a need for an 'Image editor' and a 3D modeling tool, they would both have to be supplied, even if it did not use 3D. Maybe I should add a "Depends On Feature" attribute to needs  :P

March 17, 2015, 09:05:54 PM
Reply #5

woubuc

  • *
  • Information
  • Member
  • Posts: 41
    • View Profile
However, needs are currently required, so if you made 'Games' have a need for an 'Image editor' and a 3D modeling tool, they would both have to be supplied, even if it did not use 3D. Maybe I should add a "Depends On Feature" attribute to needs
That is actually a great idea, I'd love that. It would open up possibilities for so much more complex and varied development. For now I was thinking to just have a separate "3D game" software type with a "3D modeling tool" need.

About software not being overridable, is it possible to add features to it without overriding the rest of the software? Or will this be the case in the future? I'd love to be able to add some additional features to operating systems.

Additional suggestion: "unlock after year xxxx" for software types / features. Fancy 3D game engines really didn't make sense back when computers were only about as powerful as a potato, but nowadays everyone uses them.

Also I'd like to mod in some additional distribution channels. Including (suggestion time) specialised distribution channels. For instance, "bob's analog and digital camera shop" could sell software at a price higher than what you'd get in generic stores, but he'd only sell photo editing tools.

March 17, 2015, 09:37:30 PM
Reply #6

khornel

  • Dev
  • *****
  • Information
  • Member
  • Administrator
  • Posts: 369
    • View Profile
    • Software Inc
Nope, you have to override the entire software type, but that should be simple if I include it with the game. I have however added it on my list, maybe have an override flag in the xml file that says whether it should override an existing type additively.

Time locks are already on the list, scheduled for alpha 2, didn't think about having it for entire software types, but makes sense.

Added specialized stores to the list.

March 18, 2015, 03:12:11 PM
Reply #7

woubuc

  • *
  • Information
  • Member
  • Posts: 41
    • View Profile
Will overriding a default software type allow for safely changing its name? For instance, if I wanted to replace the "visual tool" with a series of more specific software types but still retain compatibility with other software or mods that require "visual tool", could I override "Visual tool" and replace its name with "Graphics editor", so other software types that previously needed "Visual tool" would now require "Graphics editor". Would this be possible with the override functionality?

March 18, 2015, 03:17:30 PM
Reply #8

khornel

  • Dev
  • *****
  • Information
  • Member
  • Administrator
  • Posts: 369
    • View Profile
    • Software Inc
No, you would have to replace all software that shouldn't depend on the Visual Tool anymore, which would only require a search/replace for Visual Tool in the software type files.

In any case, when you are this deep in mod inter-compatibility, you could have overrides that replace each other multiple times and at that point you might as well deem them incompatible.
« Last Edit: March 18, 2015, 03:19:44 PM by khornel »