Author Topic: [Bug Report] Software removal breaks Market Simulation  (Read 1245 times)

0 Members and 1 Guest are viewing this topic.

February 03, 2016, 06:02:27 PM
Read 1245 times

smudge202

  • *
  • Information
  • Member
  • Posts: 88
    • View Profile
EDIT: So I took another look at this and corrected the post title. The issue is that removing any software types using the method described in the wiki (with <Delete> tags on an Override="True") breaks the market simulator.
The market simulator is really cool, so although I can turn it off through a scenario, I'd really rather not.
I can work around this issue by overriding the base software and increasing the Unlock date to 2050 (which I imagine most players won't play to). Because I can workaround it, it's not such a big deal. Would be good to get it fixed though.

Everything about Forced OS features breaking stuff in the post below is incorrect; since implementing my workaround I've managed to confirm that forced OS features work as intended (and allow you to provide features with software category filters, essentially giving yourself the ability to add features that are platform dependent).

Hope that all makes sense. I'll leave the original report below.

I had a quick look at this, drock. Here is a possible solution:

Code: [Select]
<SoftwareType Override="True">
<Name>Operating System</Name>
    <Needs></Needs>
<Features>
        <Feature Forced="True">
            <Name>PC Drivers</Name>
            <Category>1</Category>
            <Description>Drivers for running PC hardware.</Description>
            <DevTime>0</DevTime>
<Innovation>0</Innovation>
<Usability>0</Usability>
<Stability>0</Stability>
            <Unlock>1970</Unlock>
<CodeArt>1970</CodeArt>
            <Dependencies></Dependencies>
            <SoftwareCategory>Computer</SoftwareCategory>
        </Feature>
        <Feature Forced="True">
            <Name>Console Drivers</Name>
            <Category>1</Category>
            <Description>Drivers for running Console hardware.</Description>
            <DevTime>0</DevTime>
<Innovation>0</Innovation>
<Usability>0</Usability>
<Stability>0</Stability>
            <Unlock>1970</Unlock>
<CodeArt>1970</CodeArt>
            <Dependencies></Dependencies>
            <SoftwareCategory>Console</SoftwareCategory>
        </Feature>
        <Feature Forced="True">
            <Name>Phone Drivers</Name>
            <Category>1</Category>
            <Description>Drivers for running Phone hardware.</Description>
            <DevTime>0</DevTime>
<Innovation>0</Innovation>
<Usability>0</Usability>
<Stability>0</Stability>
            <Unlock>1970</Unlock>
<CodeArt>1970</CodeArt>
            <Dependencies></Dependencies>
            <SoftwareCategory>Phone</SoftwareCategory>
        </Feature>
    </Features>
</SoftwareType>

I'll be adding this to the OS override in the repo shortly.

The problem with it however, is it utterly destroys market simulation; the game crashes when you try to start. You can work around this by disabling simulation with a scenario:

Code: [Select]
<Scenario>
<Name>Recommended</Name>
<Money>
<Amount>1666</Amount>
<Amount>5000</Amount>
        <Amount>10000</Amount>
        <Amount>20000</Amount>
        <Amount>50000</Amount>
        <Amount>500000</Amount>
</Money>
<Goals></Goals>
<Years>
<Year>1970</Year>
</Years>
<Events>
</Events>
<Simulation>False</Simulation>
</Scenario>
note the <Simulation>False</Simulation> attribute.

I can't get a crash report for this issue, the game simply stops responding.

I see on the wiki regarding CompanyTypes:

Quote from: wiki
If you pick a name of one of the built-in company types, you can override it.

If I can work out the name required to override the operating system company type (perhaps I should just try "Operating System"?) then I may be able to tweak something to get around this issue. However, I suspect the actual issue will lie in the Company files themselves; we know the game seeds companies at the start of the game, and despite there being no wiki documentation, the format for companies (according to the test mod) is as follows:

Code: [Select]
<Company>
<Name>Test Company</Name>
<Money>10000000</Money>
<Reputation>3</Reputation>
<Founded>2-1975</Founded>
<Products>
<Product>
<Name>Test OS</Name>
<Release>1-1980</Release>
<Type>Operating System</Type>
<Features>
<Feature>GUI</Feature>
<Feature>QA</Feature>
</Features>
<Quality>0.5</Quality>
<OpenSource>TRUE</OpenSource>
<InHouse>FALSE</InHouse>
<Reception>1</Reception>
<Popularity>1</Popularity>
<SequelTo></SequelTo>
<OS>
</OS>
<Needs>
</Needs>
</Product>
<Product>
<Name>Test product</Name>
<Release>5-1985</Release>
<Type>Test Software</Type>
<Features>
<Feature></Feature>
</Features>
<Quality>1</Quality>
<OpenSource>FALSE</OpenSource>
<InHouse>FALSE</InHouse>
<Reception>1</Reception>
<Popularity>1</Popularity>
<SequelTo></SequelTo>
<OS>
<Name>Test OS</Name>
</OS>
<Needs>
</Needs>
</Product>
</Products>
</Company>

Note that products are seeded with features in these files. The operating system company will be trying to seed software according to the base features for operating systems, but by introducing a new Forced feature, the game freaks out as the seed tries to add a product without the feature.

Hopefully that makes sense, and hopefully Khornel sees this message!

Any advice anyone has on any of the above is hugely appreciated.
« Last Edit: February 04, 2016, 06:00:35 AM by smudge202 »


There are no comments for this topic. Do you want to be the first?