Hey everybody. I’ve been spending a few hours looking over information on networking in Unity, and have come to the conclusion that I need some personal input before I can make a decision on what I’m going to do. I’m not sure what I should use for networking: The built in Unity networking features, or a 3rd party networking feature set. So you can better understand what I need, here’s some information about the game I’m working on.
The game is a 2D sidescrolling action-rpg. The core mechanics are similar to the post 16-bit 2D castlevania games. The bulk of the game will be spent slashing and blasting your way through randomly generated dungeons. The game could yet go in one of two directions: A roguelike, in which players will make their characters and be pretty much immediately dropped into a dungeon, and the game ends when either all players or the final boss are dead. OR: A full-blooded rpg, in which players explore many smaller dungeons over the course of their adventure.
The game will feature 4-player Co-op, both local and online. If possible, I’d like to be able to mix the two, and have any combination of groups of players adding to 4 be able to play together. (4 people playing online, 4 people playing locally, 1 person connected online to 3 people playing together locally, etc.) The important thing here, though, is that there will never be more than four people playing in a single game.
There may be a hardcore mode, in which players can attack one another. Doubt this matters to the question at hand.
I’d rather not have to pay for servers. Players should be able to connect directly to one another, or at most, ping a server for a list of people accepting other players into their game. If I go the second route, passwords would need to be implementable.
I’m not worried about cheating. My game will likely not have paid dlc or microtransactions, so if hacking makes the game more fun for players, more power to them.
EDIT: I forgot a few very important things. Not sure how I managed to do that.
I’m currently using Unity Free. Once I have art assets and a majority of the game built, I will attempt a kickstarter to fund the acquisition of Unity Pro, but I do not expect to be successful, as I have not built up my name in the gamedeverse and I am not a master of marketing.
The game will be launched on PC, and most likely Android as well. Launching the game on Android is lower priority than getting online co-op.
I’m not entirely set on using online multiplayer, but the game WILL have local co-op. Online multiplayer is very high on my list of priorities, though. I’ve been doing some tests with Unity Networking on a generic game (not my current project), and more often than not, I’ve found myself unable to connect with people, and them unable to connect with me. These tests were all done with a web build, though, because that was the most convenient format to send to people, and the test was made as a copy of a video tutorial I built along with. So I don’t know too much about unity’s networking yet.