Update on Multiplayer

7:29 AM Will Sterling 6 Comments


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


One of the first aspects of multiplayer we implemented was an in-game chat system. We felt important to be able to communicate with other players so we've added a nice little chatbox. It even gives you your own unique text color!

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


Salt is making use Steam’s API in order to provide networking functionality. This make it easy to connect and play together with your Steam friends. Steam’s API provides the ability to send simple messages between two Steam clients. We have to write systems within Salt to use this messaging ability in an organized and efficient way that will result in a multiplayer experience within the game. We have now got a lot of these systems written and mostly working. Bug fixes and efficiency tweaks with them are still common at this point in the development.

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.

6 comments:

  1. Good job guys. Looking forward to try the multiplayer update myself!

    ReplyDelete
  2. Are character customization, third person camera, and female models planned for future updates?

    ReplyDelete
  3. I honestly believe that once multiplayer comes along, and hopefully works well, this will be one of the best games I've played. I've fallen in love with the game but in single player after awhile the content runs a bit dry, but I cant wait to be able to talk friends into getting the game to play with!

    ReplyDelete