M.O.B.A – Mech Online Battle Arena (tutorial)

M.O.B.A is a new complete project/tutorial, currently under development for the Unity Asset Store. It will teach you how to create a moba game (like LoL, Dota 1/2, Hon, HotS, etc), with a sci-fi setting (a bit like starcraft), and it will come with all assets, source code, two detailed PDF tutorials, and a video series.

[new] Video #0 of the tutorial series:

Demos (free downloads):

Please, start by reading the Game instructions, and then download one of the binaries:

Quick reference guide:

MOBA quick-reference guide

MOBA quick-reference guide, with step by step instructions, list of commands, etc.


MOBA in-game GUI

MOBA in-game GUI, showing hero stats (bottom left), minimap (bottom right), hero abilities (bottom), chat (top left) and item store (center).

The mechas:

The project:

I’ve already developed a simple MOBA before (for a local 24h speed-jam challenge a couple of years ago), but this time the feature set is more complete, and I’ll be using many nice features from Unity and Photon Network (the most popular network infra-structure for Unity).

Feature-list for release (planned for April 2016):

  • Game lobby, match creation, match making, etc;
  • Hero-selection screen, team setup;
  • Navmesh-enabled three-lane map with “jungle” areas and Fog of War;
  • Home base, nexus, towers and inhibitors;
  • Data structures for storing match statistics per team/player;
  • Minion, tower and jungle-creature AIs;
  • Modular, heavily commented code;
  • Original animated 3D mecha models (source blender files might be provided for buyers on request);
  • Authoritative master-client architecture (a player machine acts as authoritative server for the others);
  • Event-oriented communication with server, local navigation and animations (not relying on Transform synchronisation to avoid overloading the network);
  • Text chat;
  • Easy data-based system for setting up ability trees, items, power-ups, etc

Planned for incremental updates:

  • New heros (4 sample heros will be available on launch, more will come with each incremental update);
  • [maybe] persistence inventory system;

Work-in-progress steampunk Mecha

The features are mostly based on LoL, but we’re totally open for suggestions on how to make this a great asset for you guys. As it’s being the case with PUN Rally, the other pack we’ve released for the asset store, this pack will receive a lot of updates and support through the official forum thread.

Besides all these features, we’re working with a set of meta-goals to make this a killer tutorial for beginners, and also a good material for more experienced developers who may want to save time:

  • Code organisation: Every single script should have less than 50 lines of code (besides the heavy commenting – I want the code to be very easy to understand);
  • Script reuse: Individual scripts for character-data, weapon, animation-control, etc, will be the same for towers, heros, minions and buildings, just using different parameters;
  • Project organization: there will be only three scenes, and assets will be straightforward to find and replace;
  • Extensibility: a moba is a very complex type of game, so the project must be very flexible, and I’ll include options for control schemes besides the data-based system for weapons, items, etc. As with the projects, I’ll be willing to support any developer who uses our pack to create a game based on this pack;

PS #1: A side note for GDC attendees: We’re planning to have a working demo ready for the conference this year (Erick will be there), so if any of you want to test it there, please keep in contact.

PS #2: Follow the pack progress and discussion in it’s official thread at the Unity’s community forum.

Gallery includes screenshots from old and current prototype:

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out /  Change )

Google photo

You are commenting using your Google account. Log Out /  Change )

Twitter picture

You are commenting using your Twitter account. Log Out /  Change )

Facebook photo

You are commenting using your Facebook account. Log Out /  Change )

Connecting to %s