Update on Multiplayer
Hey everyone!
As you know we've been working hard on multiplayer implementation and so we wanted to give you an update as to where we are in that regard and what some of the next steps are going to look like!
In-Game Chat System
Friends List and Inviting
Of course, to chat with friends you're going to want to invite them. So we've implemented the ability to see your friends list and invite players to your game.
Other Players
Say hello to the ghost pirate. Don't worry, we're just using him as a fun placeholder to test other player's characters in the world. You will have a fully formed pirate body when it's all said and done!
Currently we have it to where you can see other players moving around in the world. You can also see other player's boats and ride them. This was a big milestone for us to hit and while we've still got a lot of kinks to work out, it's coming along well.
An Overview of the Networking System
After these systems are written and in place, the next step is to write code to use these systems to sync the worlds of players playing together. The goal is to provide a seamless multiplayer experience while sending as little data between computers as possible. Everything that syncs across the network must be told when and how to do so. This includes things like the positions of players and boats, what animation to play for a character, the health of an enemy, time of day, ocean waves, etc.
Salt is going to use a server/client model. The player who invites other players into their group is the server host. All players must wait on them to join a game. Once the host joins a game, all other players can then choose any of their created games play as long as it uses the same world seed as the game that the host just entered. You can also choose to create a new game with the correct world seed if you want. All player’s progress is stored locally and not on the host’s computer. This means that you can play single player or multiplayer interchangeably as you desire in any of your games.
The next steps are more polishes and bug fixes on the networking systems, and work on syncing more and more things in the world such as enemies, items, and player animations. Also any multiplayer related UIs will need to be created or polished.
7 comments: