Quote from: Vas on January 26, 2016, 02:32:38 AM
Method 1: Co-op Multi-Map
Alright, I know this is a survival game. So what about a co-op survival game where two colonies land on the planet on two different parts of the world file so each has a different map basically. Like one can land in a desert, and one can land in a forest.
Anyway, the way this would work is both colonies are able to send supplies to each other using the trade beacons as the available tradable supply list and they open an interface that lets you send supplies or offer a trade. The trade offer is received on their end and they can accept, edit, or reject the trade. If you don't request anything, it instead of sending an accept or reject thing, sends a notice that "A gift was delivered by player x".
You would also be able to aid them in a dire situation like their colony is under attack. You can do this by clicking request aid, and the other player accepts or rejects, during this time the game is paused on both sides and you specify who you want to send to help them, and depending on your distance it takes that long to get there and you arrive at the appropriate side of the map too from where you came. Now you are both looking at the same map and your colonists are in full on military mode and your choices of buildings are limited and such where you can't make anything but sand bags or mortars, maybe a turret or such. When you leave, you can leave the buildings or deconstruct them to take back as much of your material with you as you can. The other player will have to "claim" the structures to take them down for you. You return to your map, and your colonists return later on when they walk back (takes 40% more time than it took to get there).
When you both start to get to the late game point, and are ready to build a ship to get out, you can invite the other player to join you on your ship, assuming you have enough pods available. It will tell them on the invite how many pods are available and they can click a button saying "need more pods" or even just chat to you saying it's not enough pods yet. Then they can send you resources you need to make more or whatnot if they want. You work together on two different parts of the map to accomplish the same goal.
As for the speed of the game, to increase the speed you must both vote to increase the speed, but speed can be reduced by either player without a vote and auto decreases for both in the event of raids or other game speed reducing things. Both players get a speed cross out line like normal. Otherwise both or all players must consent to a speed increase (in the event of more than 2).
In the event of a modded game, all players must have the same mods. Can be verified by making an MD5 hash of all the files, who knows.
I also has some similar ideas. I think that there should be some way to make this work in a mod. I was thinking along these lines:
- Player 1 starts a game with a random access key. This creates a file (probably xml since Rimworld loves those) and puts it in a place accessible to others (probably would need a server or a good filehost or something for this part) in the mods folder a script could be posting and reading the files. This file would keep a modOrder so that save games would work together only if they modOrder was the same
- Other players join and can either enter a key, or view a list of all available keys. It will then read the associated xml file and the script would keep a copy of the main file stored in the mods section
- players can then go into their game and have an option in the trade beacon or comms console to put items up for sale or view purchasable items. This would run the script to grab the most recent file, upload it into rimworld, and so each time you look it could be a little bit different. as soon as you click buy or sell, it saves the file and the script uploads the file back up to the server. I would think that javascript would allow a lock to be placed on the file so only one person could be editing/uploading the file at a time
- players can now buy and sell between others who are using the same access key
Any other thoughts on this?