After a solid 5 months of work, the co-op multiplayer is now finally ready for testing with a wider audience! It was written from scratch with many of the game's logic needing to be reworked to factor in host and client game instance concepts.
Gameplay wise nothing has really changed much since the last updates in April. Almost all work has gone into getting multiplayer working smoothly. One exception was the hostile creature AI, it's been reworked a bit to add an aggressiveness factor that slowly increases as the creatures get more infected day by day. A lot more work still needs to be done on the AI of course, it will come with time.
Note: Single-player is disabled in the current playtest to emphasize co-op testing, please use the "Co-op multiplayer" button on the main menu to host or join a game. Don't worry though, single-player is still the main focus for the game and will come back for the release!
How Co-op works:
Getting started:
- One player can "host" a game for their friends to join. Starting a game is similar to starting a new single-player game, but with a few more options. Currently single-player games and multiplayer games are separate - a single-player game can't be converted to multiplayer and vise versa. This may change in the future
- The host can choose between it being private or discoverable to Steam friends, along with an optional password. There is no ability to host a public game at this time
- Other friends can launch the game and then see the host's game show up in the "Join Game" menu if it's not set to private. If the game is private, the host needs to select "Invite Friend to Game" in the main menu when ingame. Needs the Steam overlay to be enabled.
- Current max players is 4, this may go up in the future as the performance is tuned
Gameplay:
- Sleep is still required to refill energy, so all players need to sleep at the same time to speed-up the 8 hours properly. Sleeping will always take 8 hours in co-op regardless of energy level
- Speeding up various interaction like crafting or chopping is unfortunately not possible in co-op, so it may be a bit tedious. The interaction times will be tweaked during the testing phase
- Creatures aren't scaled up to account for more players, but hunger and thirst requirements are implicitly scaled, so be aware. 4 players would require quite a bit of water and food if all at the same camp
- Each player will have randomly chosen colors for their player character's clothing for slightly easier differentiation. This is just a temporary measure, there will be customizable characters in the game's release
- The objective system has been changed a bit to handle multiple players. Some tasks like placing or building structures are shared amongst players, others like collecting certain items have to be done per player. The tasks will tweaked as testing continues
- There is no friendly fire
- There is only one main save for co-op games, you can't save to different slots like in single-player games. The host needs to click "Save and Exit Game" to save the game before shutting it down for others
- After dying you can respawn and this will place you at the world's starting area again but with low hunger/thirst and low condition hatchet. The respawning system will be enhanced in the future so that there is an option to force a reload of an older save if any player dies (probably exclusive to the more realistic gameplay setting)
Some things to note:
- This co-op implementation was written from scratch and is still very new so bugs are likely to be found, especially in networking setups with large packet loss chance or large latency due to physical distance
- Co-op is host/client exclusive right now. One player needs to host and play the game for others to be able to connect. Dedicated servers will come later
- The underlying networking is done via Steam Networking Sockets with Steam Datagram Relay. Basically this means that when a player joins a game, they connect to Steam first, Steam routes the traffic to the host via the Steam internal network. The host will receive data and respond via the same network. This means that one game won't see any direct connections or IP addresses of connecting players. Read more here: https://help.steampowered.com/en/faqs/view/1433-AD20-F11D-B71E (see section named "What about games that use Steam Networking APIs?")
- Performance on the host computer may be lower depending on your CPU. There is extra load on the host due to handling connections, relaying messages to all clients, and simulating more of the world at the same time compared to single-player, especially if there are 4 players all in different parts of the world
- Most of the internal testing was done with 2 player co-op setups, there may be undiscovered issues present when more than two players are present
- To reduce bandwidth and facilitate faster game joining, less of the world is loaded around each player. You may notice parts of the world pop in as you get close to the edges of what's currently loaded. This will be worked on in the future
Other changes:
- Updated Unity version to 2021.3.30f1
- Finally fixed the crashes in the Mac version of the game! There was a Unity setting in the Mac build that was causing instability, turned it off and haven't seen a single crash during testing
- Linux default Graphics API was set to Vulkan as performance seems better. Please report any issues you may see!
Head to the Discord server to discuss any issues you may see with co-op!
https://discord.gg/P3nAV7UJWX
Changed files in this update