I have always been interested in MOBA games. I myself is a League of Legends player for 5 years. That brought me into a long time thinking how a MOBA game is designed and implemented from scratch. The task seems rather complicated and demanding. You not only need to design it so that everything works but also need to make sure all the communication between clients and servers are fast enough to meet the requirements for intense gameplay. Any thing that makes a player feels laggy will cause the loss of players.
Material I Used
I found some courses on Udemy, namely the “Unreal Multiplayer Master: Online Game Development In C++” will be the one that gives all the contents in this note.
Multiplayer Under the Hood
There are couple of major conponents for a MOBA game.
The process goes like this:
- Unreal loads the Map
- The Map specifies a GameMode
- The PlayerController joins the Map
- It ask the GameMode to spawn a Pawn
- The Pawn is linked to the PlayerController
Launch a Server and Some Clients
[UE4Editor.exe_LOCATION] [.uproject_LOCATION] /Game/[MAP_LOCATION] -server -log
[UE4Editor.exe_LOCATION] [.uproject_LOCATION] [IP_ADDRESS] -game -log