Newbie on the project of multiplayer

Hi, I’m a teacher, teaching foreign languages through Zoom meeting. I wanna do some activities with my students, like Offline course. Now I plan to make my virtual classroom. That’s why I now I’m learning UE, taking several online course how to make a game on UE. But my final goal is not to make a big triple A game, but just simple multiplayer-game with just 6(maximum) or 3(minimum) clients. In the game, I plan to do some activities with my students, for instance, flipping card, puzzle, role playing, etc…

As I wrote above, I’m a newbie about Networking and I overheard some of words (listen server, dedicated server, web server, steamcode, Gamelift etc…) I don’t know what they are and what they do, but I need to select among them, right? It seems Dedicated server is for the game like making session and Listen server is P2P? so it’s like for Fortnite?(Not sure). In my case, what kind of server should I choose? Sometimes, I think I better make my server on my computer and host it, because it’s not a big scaled-game joining many client. I need your feedback or advise. Thank you.

When it comes to servers in Unreal Engine, you either use a dedicated server or a listen server.

A dedicated server is an instance of the game with no player, just the server. Dedicated server is a good choice if the host isn’t going to play the game. Fortnite, as you mentioned uses a dedicated server, since someone in Epic Games isn’t probably gonna play on every single Fortnite match.

A listen server on the other hand is an instance of the game where the one of the players is the server, this way no external server instance is needed if the host is going to play the game. Listen server is not actually a P2P connection since one of the players is still the server (but also a client) and all the other players are just clients. In all my multiplayer games, a player is able to host a game from the main menu and they became the listen server, the other players can find that server and join there as clients. That way I don’t need to host any servers in my computer when I’m not playing.

It can also be a good idea to make your game support both of the options. So for instance you could have a matchmaking system in a game, but also give players the possibility to host a custom match themselves.

Hopefully that clarifies your understanding of networking in Unreal Engine :slight_smile:

1 Like

First of all, I appreciate for your reply.
Okay then, eventually, the option are only two of them(Listen, Dedicated), right?
I wanna activate physics(which is called now Chaos physics in UE). I heard that activating Physics in Multiplayer game would occupy so much bandwidth, so lagging would happen much. Throwing the ball, flipping card, etc… are impossible in Multiplayer?
And, depending on either of Listen and Dedicated, the size of bandwidth is different?

Well first of all, based on what I know about the project you are going to make, I’d recommend focusing on getting it working with a listen server. The only real reasons of using a dedicated server are:

  • Your game needs so much processing power or so much network bandwidth that it wouldn’t just be reasonable to assume that some random player has a good enough computer host a game
  • You want no actual player hosting the games so that no player has the authority to do whatever they want to (for instance if in let’s say a Fortnine match some random player would be the server, they could literally do what they want, instantly kill every player and win for example)

So unless you need one of those benefits (and also have access to a machine with great processing power and network bandwidth) supporting listen servers should be enough.

For the physics stuff, the network bandwidth your physics simulation needs just depends on: how much physics simulating objects you have, and how often do you need to replicate the movement of them. I you don’t have a ridiculous amount of physics stuff, and you implement the replication well (not too frequent net updates, client side predictions, interpolation, etc), you shouldn’t have any network problems with a decent internet connection.

And finally the type of server you use doesn’t limit your resources in any way, so was it a listen server or a dedicated server, your network bandwidth is the same!

What’s the goal ultimately… Something to support the teaching side, or a product you hope to sell maybe? If the later, any plans to get funding / get a rama coder onboard? Reason for asking…

In film / movie production, there’s a saying that goes something like don’t ever work with animals / mirrors / kids if you want an easy life. :stuck_out_tongue: Game dev equivalent? IDK, but avoiding mega-large-worlds / MMO-scale-players / multiplayer-physics is probably a good start. Maybe you don’t care if this is just an educational tool. But if you’re thinking something more then check-out this.

Feel like saying which languages? Plus how do you locate / motivate customers to sign up?

Hi, AntiGravity Thank you for your attention.
Currently, my ultimate goal is to motivate my student to keep learning the language.(I’m teaching several langauges, including English by the way). It seems like, a new unprecedented path of using UE, because everybody learns UE for the goal of making games and movie, cinematic scenes, …etc.
When it comes to learning languages, no one wants to study, they always want to acquire it by playing games hanging out, doing some activities. Since the pandemic, we can’t go back to the classroom for offline class. So I want to take advantage of this situation. I made a decision to make a program where we can join in and enjoying learning for a fun. As for now, I’m not expert of UE or programming so I wanna go for a VERY VERY small scaled-multiplayer game. No gun, no grenade, but maybe activating physics: throwing objects, trading cards, …etc. Later, if I affort to make a very well-made game, maybe, I might go for it, then. But, not this time. :grin:

No worries. Always interesting to hear how others are using or plan to use the engine. :+1:

^This^ is often a lot harder to do in most game engines versus just shooting a gun (search on non-deterministic physics and so on). So overall, if you can keep things simpler for now (think kinematic / interp’d movement) or how the character system works (CMC), life will be easier. :wink:

Otherwise what seems easy might actually be harder than you think (think client-side prediction / physics rewind). Recommend searching for related posts by Blueman / TheJamsh to get a better idea (if this is all new ground). There’s also obvious but still commonly frustrating things like NAT punch to consider (if you’re hosting the server and students are connecting remotely).

So what can you do now? Well you could start by getting students to remote to a machine you control via VNC or something. Then everything is just running locally and you just have to figure out different input systems for different players. Split-screen gameplay is also very simple to setup in UE. There’s even a livestream on it. So I’d suggest just starting there and if the sample games become winners then the much bigger investment into online multiplayer will be worth it.