How to Make a MOBA Game

A MOBA game is a Multiplayer Online Battle Arena game. In a MOBA game, players control characters that battle it out in an arena against other players. The objective of most MOBA games is to destroy the enemy’s base.

MOBA games are typically team-based, with each player controlling a character with unique abilities. Players work together with their teammates to try to take down the enemy team. There are typically three lanes in a MOBA map, with each team trying to push down the lanes and take down the enemy’s towers. The first team to destroy the enemy’s base wins the game. Some popular MOBA games include League of Legends, Dota 2, and Heroes of the Storm.

If you’re interested in making a MOBA game, you’ll want to check out this curated list of resources. It includes everything from design docs to tutorials on how to create the various elements of a MOBA.

Key Elements

  • Map: The map is the playing field for a MOBA game. It is typically divided into three main lanes, with a jungle area in between them. Each lane has a set of towers that players must defend, while also trying to take down the towers of the enemy team. The map also contains various neutral objectives that players can choose to capture, such as buff camps and shrines.
  • Heroes: Heroes are the playable characters in a MOBA game. Each hero has their own unique set of skills and abilities, which they use to battle against the other team. Heroes level up as they gain experience from killing creeps and heroes, and can learn new abilities or upgrade existing ones as they progress. Players must carefully choose their hero before each match, as they will have a significant impact on the outcome.
  • Minions: They are lower-level creatures that spawn at set intervals and march up each lane towards the enemy base. They are controlled by the game itself, and will automatically attack any enemy players or structures they come across. Minions are often used as cannon fodder, soaking up damage and providing a distraction for players to focus their efforts on.
  • Creeps: Creeps are higher-level minions that spawn less frequently than regular minions. They are also controlled by the game, but often have more powerful attacks and abilities than regular minions. Creeps can be found in the jungle areas of the map, and provide a valuable source of extra experience and gold for players who kill them.
  • Items: Items are purchasable items that heroes can use to improve their stats or give them new abilities. Items can be bought at the shop, which is located in each team’s base. Items are an important part of a hero’s build and must be chosen carefully to suit the needs of the player and their team.
  • Hero Skills: Heroes in a MOBA game often have unique skills and abilities that set them apart from the other heroes. These skills can be used to deal damage to the enemy, heal allies, or disable enemies. Players need to familiarise themselves with the abilities of their hero before each match, as they will need to use them to their full potential to win.
  • Lane: A lane is one of the three main paths on the map that minions follow as they march towards the enemy base. Lanes are typically guarded by towers, and players will often stay near their towers to farm creeps for gold and experience. Players must carefully balance their time between farming and pushing their lane, as spending too much time in one place can leave them vulnerable to enemy attacks.
  • Tower: Towers are a key part of each lane in a MOBA game. They are powerful defensive structures that can deal a lot of damage to enemies who try to attack them. The towers must be defended at all costs, as losing too many of them can quickly lead to a team’s defeat.

Design Considerations

  • Team Balance: You’ll need to carefully consider the design of your heroes to make sure each team is balanced and no one side has an unfair advantage.
  • Game Length: MOBAs are typically designed for matches that last around 30-45 minutes. If it is on mobile, 3-5 minutes a match is recommended.
  • Lane Design: The layout of the lanes on your map will have a big impact on how the game is played. You’ll need to strike a balance between making the lanes too easy or too hard to travel down.
  • Jungle Design: The jungle is typically filled with neutral monsters that players can kill for extra gold and experience. You’ll need to decide what kind of monsters to include and how difficult they should be to defeat.

Steps to Get Started

Choose Your Platform 

The first thing you need to do when making a MOBA game is to decide which platform you want to develop. PC is by far the most popular platform for MOBA games, but there are also mobile MOBAs like Vainglory and Arena of Valor.

Select an Engine 

Now that you know which platform you want to develop, you need to choose a game engine. For PC development, Unity and Unreal Engine 4 are popular choices for many developers.

For mobile development, Unity is again a popular choice. Once you’ve chosen your engine, you can start building out your game world. 

Create game world 

The next step in developing your MOBA game is to create the game world itself. This includes everything from the environment design to character models and animations. For inspiration, take a look at some of your favorite MOBAs and see what elements you like best. You can also find assets online that can be purchased and used in your game world. 

  • Create Your Maps: MOBA games take place on large maps with three lanes. Each team tries to push down the lanes and take down the enemy’s towers. You’ll need to design your maps so that they’re balanced and interesting to play.
  • Choose Your Art Style: The next step is to choose an art style for your game. This will be the overall look and feel of your game. Do you want your game to be cartoonish or more realistic? What kind of color palette do you want to use?
  • Design Your Characters: After you’ve chosen your art style, it’s time to start designing your characters. Each character in a MOBA game needs unique abilities that help them contribute to their team’s success. You’ll also need to balance the characters so that no one is too powerful or too weak.

When creating your game world, be sure to keep performance in mind. MOBAs are typically played on lower-end PCs, so it’s important to optimize your assets accordingly so that the game runs smoothly for all players. 

Implement gameplay mechanics 

After your game world is complete, it’s time to start thinking about gameplay mechanics. This includes everything from movement to combat to abilities and items. There are countless ways to implement gameplay mechanics, so be creative and experiment until you find something that feels fun and balanced.

Remember that MOBAs are meant to be team-based games, so encourage players to cooperate. After all of your gameplay mechanics have been implemented, congrats! You now have a fully functioning MOBA game.

Test and Iterate

As with any game, you’ll need to test your MOBA game extensively before releasing it. Playtest your game with friends and family to get feedback.

Of course, there’s always room for improvement, so don’t forget to seek feedback from friends, family, and fellow developers. Then, make changes based on that feedback. Rinse and repeat until you have a polished final product.

Resources

Tutorials

MOBA Game UI design

Game UI design is a process of planning, creating, and testing user interfaces for video games. The goal of game UI design is to create an interface that is both easy to use and intuitive. A good game UI design will make the game more enjoyable to play, and can even improve the gameplay experience.

In this course, you will learn the basics of designing a MOBA game user interface or concept inside Photoshop. We will cover the use of layer styles and how to create your concept/design.

This course will help you learn the uses of certain Photoshop tools, shortcuts, and layer styles at a beginner level. With this knowledge, you will be able to create your own game UI designs that are both easy to use and enjoyable to play.

New Amateur Game Dev Looking To Make A MOBA Prototype

As a game developer, you are always looking for ways to improve your skills and broaden your horizons. One way to do this is to read discussion threads on forums like r/gamedev. This particular thread is about prototyping a MOBA game. The poster has fallen in love with the eSports scene and MOBAs, so he and his friends came up with an idea for a MOBA themselves. They want to make it, but they have no experience making games. However, with the right advice and guidance, they could be well on their way to creating a hit game. So if you are new to game development or simply looking for some good advice, be sure to check out this thread. You never know what you might learn.

Unity

Tutorials & Courses

Create Your First MOBA Game With Unity Game Engine

If you're looking to create your own MOBA game, Unity is a great place to start. With Unity, you can create a professional-quality game with all the bells and whistles that players have come to expect. And best of all, you can do it all yourself, without needing to outsource any development. In this tutorial, they will show you everything you need to know about creating your first MOBA game in Unity.

You'll learn how to use Unity's interface, import assets, organize your project, and more. We'll also cover basic and advanced C# programming, AI, pathfinding, nav mesh agent, character animations, camera animations and cut scenes, sound FX and music, particle FX, melee battle systems, boss fights, special in-game attacks, pooling techniques, and how to use Unity's UI system. By the end of this tutorial, you'll have everything you need to create your own MOBA game.

Assets

MOBA / ARPG Effect Pack

This package is a collection of magical effects for ARPG and MOBA-style games. The pack includes a variety of effects that are loosely based on my the artist's Shuriken Magic pack (which has since been deprecated).

Many of the comments in the pack refer to that older pack, but this is a completely new set of effects that uses cleaned-up c# scripts, is easy to scale, and uses real lights. Whether you're looking for basic effects like fireballs and lightning bolts, or more complex effects like swirling vortexes and summoned creatures, you'll find what you need in this pack.

MOBA Movement

MOBA Movement is a simple solution for creating responsive player movements like that seen in MOBA games and dungeon crawlers. It's easy to use, with no coding required, and it works seamlessly with Unity's Navigation system. You can easily configure command buttons, and it includes a MOBA-style camera rig that tracks the player’s movement. Plus, there are video tutorials that easily explain the entire setup process.

Z! MOBA Environment Art Pack

The Z! MOBA Environment Art Pack is a completely new and improved set of meshes and textures. The team used Substance Painter to redesign all the meshes and their corresponding textures, as well as create six new ground textures and normal textures.

They also used Unity3d's new particle system to create more detailed and realistic effects and particles. In addition, they added numerous new meshes, such as trees and stones, to meet the demands of different maps.

Overall, the Z! MOBA Environment Art Pack is a massive improvement over the previous version and is sure to provide an immersive asset for developers who want to find a new MOBA art pack.

Top Down - Fantasy Forest

This top-down game asset pack is a must-have for any game developer! It includes a huge variety of stylized assets that will allow you to craft complete and detailed top-down levels. With over 177 prefabs and 4 particle effects, this pack has everything you need to create an immersive and exciting top-down game world.

The tileable terrain textures, trees, bushes, grass, plants, mushrooms, resource nodes, rocks, cliffs, and pebbles all work together to create a realistic and believable game world. The gold and iron mines, healing fountain, tents, wagon, campfires, and camp props add an extra layer of detail and depth to the game world. The fire particle effect is the perfect finishing touch to any scene.

Unreal Engine

Game kits

OpenMOBA

OpenMOBA is a new MOBA that is being developed completely in Blueprint, with no need for C++. Instead, the developers are relying on the power of Unreal Engine 4 to create a truly unique experience. The game is still in development, but it shows a lot of promise. The developers are actively involved in the community and are constantly working to improve the game.

The game is also very moddable, so players can create their own content and share it with the community. OpenMOBA is a great example of what can be accomplished with Blueprint and Unreal Engine 4, and it is sure to be a hit with MOBA fans.

MOBA Starter Kit

MOBA Starter Kit is the perfect way to get started developing your own multiplayer online arena battle game. The kit includes everything you need to get started, including a creep, hero, and map template, as well as tutorials on how to use Unreal Engine 3 or UDK to create your game. You'll also learn about the different elements that make up a MOBA game, such as lane pushing, tower defense, and team fights.

Tutorials

Networking and Multiplayer

In any MOBA game, there is a need to synchronize vast amounts of data between large numbers of clients spread around the world. This data can include everything from player movements to the results of in-game actions. The process of synchronizing this data is known as replication, and it plays a crucial role in providing a compelling multiplayer experience.

There are a number of ways to approach replication, but in Unreal Engine (UE), the process is handled by the Replication system. This system provides a higher-level abstraction that makes it easier to deal with the various situations that can arise. However, it also offers low-level customization options for more advanced users.

Overall, the Replication system is an essential part of UE's multiplayer functionality and can have a profound impact on the feel and performance of a project. As such, it is important to understand how it works and how to use it effectively.

Let’s Make: MOBA Video series

In this series of video tutorials, you’ll learn how to create a MOBA game in Unreal Engine 4, from the ground up. You’ll start by learning about the basics of game design and development, before moving on to more advanced topics like game AI and networking. Whether you’re an experienced game developer or just getting started, this series will teach you everything you need to know about making a MOBA game.

Node.js

Tools

Colyseus

Introducing Colyseus: the authoritative multiplayer framework for Node.js.  It provides synchronizable data structures to make it simple to keep everything in sync, whether you're playing on the web, Unity3d, Defold, Haxe, or Cocos2d-X. Plus, its matchmaking functionality makes it easy to connect players so you can start playing right away. 

Colyseus provides an easy-to-use API for both server- and client-side development and takes care of state synchronization between clients automatically. This means you can focus on creating a great game, rather than worrying about network communication.

Additionally, Colyseus makes matchmaking easy, so you can get players into game sessions quickly and efficiently. It's scalable, so you can easily add more players as your game grows.

Tutorials

Building an indie Server for a MOBA/MMORPG

Are you a fan of the multiplayer online battle arena (MOBA) or massively multiplayer online role-playing games (MMORPG)? Do you enjoy playing these types of games with your friends, but find that the game servers are always packed and you can never get into a game? If so, read on. In this blog post, they will show you how to set up your own indie server for your favorite MOBA or MMORPG.

Nowadays, there are two main types of servers: web servers and socket servers. Web servers are used to host websites and provide web services. Socket servers, on the other hand, are used to provide real-time communications between clients and server applications. Both types of servers have their own advantages and disadvantages. Web servers are typically more reliable and easier to use than socket servers. However, socket servers offer more flexibility and scalability. As an indie developer, it is important to choose the right type of server for your needs.