First game, recommended single or do multiplayer works?

Hello!

I’m making some studies how to start and build my first 2D game in Unity and I wish to build a online rpg game, even though I at first aim just to make a simple map, characters and one or more enemies.

My thoughts now are at if it’s realistic to start building my first game with online features or if you, unity community, would advice me to think twice about this.

Will it make it a lot more difficult this way, is it doable or do you strongly recommend try to build a single player game at first?

If I build a single player game, is it hard if not planned for multiplayer, to implement this later on?

I’m new to C#, though I’ve been programming in Python and Perl for a while, but I thought this would be a great way to start off my C# journey while having a lot of fun doing it :). I could mention here that I started of as a networkengineer consultant so I do have some knowledge in networks.

Thanks ahead for your answears!
Bill

Multiplayer will cost you x2 time of the development. x3, if you’re new. x4, if you’re not familiar with your multiplayer framework.

I’d say, always go for the singleplayer, if you’re new to the game dev, or Unity, or C#.

Integrating multiplayer is a pain if the game is not design around it. So, either dump it completely, or build around it.

9 Likes

If you want todo a MP game, do a MP just know it will double or triple the workload (not included time of writing a MP framework or learning a existing SDK).

I wouldn’t recommend retrofitting network, we did that and it was a breeze but we are two Devs with decades of experience so our code was already very well designed for MP once we decided to ditch single player. If your code does not have well defined boundaries and aggregate roots it will be a pain to network it.

4 Likes

Yes. You would be looking at massive rewrites to add multiplayer support to a game that wasn’t designed to be multiplayer.

2 Likes

I wouldn’t recommend adding online multiplayer support to your game if it’s your first time.

But what might be more approachable is local multiplayer on the same screen. It might be a good stepping stone to learn how to implement that first as it’ll help you learn how to handle multiple playable characters in the same scene.

But if you’re still learning, maybe even hold off on that for now, but still try it in one of your future games before jumping into networked games.

1 Like

When you are new you should start with a single player game. Don’t try to convert a single player game to multiplayer. After you have experience with single player games, then try to build a multiplayer game.

1 Like

To be honest, you should start with something small first. Even if it’s just a Flappy Bird clone. Don’t do multiplayer just yet.

If you got enough knowledge about C# and how Unity works, feel free to create the game you’ve always dreamed of :slight_smile:

2 Likes

Thank you all for you answers! It’s been quite some help when deciding how to start off :slight_smile: I’m gonna start with a single player and keep it simple and just try to produce something!

Thanks you all again for your advice’s!
//Bill

Most likely it’ll be very difficult to translate a single player game into a multiplayer game. The biggest reason is that if you have any kind of AI in your game, you really have to think about how it needs to work and define exactly what creates the “state” of your game and what can be calculated on the client. Syncing the position and rotation of a hundred NPCs across 4 computers is simply not going to happen. You’ll need to look at your system and boil down the minimal information needed to recreated behavior in two places with possible lag between them.

Oh and network engineering and network programming are extremely different skillsets. I’m a network programmer and I know literally nothing about network engineering. Most of the stuff you’re familiar with (routers, firewalls, switches…) are invisible to the programmer, so it’s certainly good to have that experience, but it won’t help you much for this.

1 Like