/software-inc-multiplayer

A multiplayer mod for Software Inc written in C# for Unity.

Primary LanguageC#OtherNOASSERTION



Software Inc Multiplayer Mod

A multiplayer mod for the game "Software Inc"

Contents

Installation

Manual Installation (Windows/Contributors/Developers only)
  1. Head to the "Utilities" folder and run as administrator the batch file called "setSoftwareIncFolder.bat";
  2. It will ask you to copy and paste the game's directory installation path (usually something like "A:\SteamLibrary\steamapps\common\Software Inc", to find it quickly, right click on the game on Steam->Manage->Browse Local Files);
  3. The batch file will then execute the following batch command to set an Environment variable called softwareincfolder:
    setx softwareincfolder "%pathyoutcopypasted" /m
  4. All the references in the various projects inside the solution use the environment variable to point at the game root folder in order to avoid having to overwrite those references path at every push from a different person.
  5. There are also post-build events that automatically move the required DLL to the proper game's folders so everything you need to do is just build and play the game to see the mod!

To remove the environment variable use the following batch command in an administrator prompt window:

REG delete HKCU\Environment /F /V softwareincfolder

And then a full computer restart for the changes to take effect.

How it works

The multiplayer mod is based on the Peer To Peer system currently, with dedicated servers coming soon.

First, the client connects to the server and sends their "GameWorld", which is their company, their stocks, etc. Secondly, the client will recieve a collection of GameWorlds from the other clients and merges them with theirs, showing other players companies and their stocks etc. Lastly, any changes will be sent to the server to be sent to the other clients and vice versa.

Bug Reports and Feature Requests

Anyone can submit a bug report via the issues tab on GitHub, please provide as much infomation as possible. Same for feature requests.

Contributing

See CONTRIBUTING.md