a project by JCayouette
Unity3D : Moba : (Multiplayer Online Battle Arena) on SUSE Linux
This page is under development:
I enjoy the strategy and game-play elements of the MOBA game genre. Two games from this genre include League of Legends and DOTA2. I will be diving in to learn how these game systems may work by implementing function designs / testing them in Unity3D .
To save time for completing the challenge, simple mockup art with be used. It wont be atheistically pleasing but it will be logically beautiful :) That is if you can call a documentation guy's attempt at programming beautiful....
Information Resources
- League of Legends Wiki Fan Powered
- Dota2 Wiki Fan Powered
- Unity3d Forums - Linux Editor Download Area
- Learn Unity3d
- Unify Scripts Wiki - Available Precoded Scripts
Game Features:
- [ ] Mockup Environment design for 5v5 map (Build in Unity)
- [ ] 3 Lanes for players to control (Start with 1 lane to mockup minion A.I. and Targetting
- [ ] Players, Monsters, NPC's, Towers, Bases ( In the form of cubes, spheres and cylinders)
- [ ] Movement via point and click navigation with a navmesh baked into terrain
- [ ] Minimap
- [ ] Fog of War
- [ ] MOBA Camera with Zoom
- [ ] Death and Respawning (blue and red team respawn at base)
- [ ] Champion Levels (Level equation for 1 - 18 with quadratic growth)
- [ ] Minion health and damage bonuses base on time elapsed.
- [ ]Skills & Buffs classes (Champions can use 4 abilities, and 2 survival skills. * A basic stat system with buffs for boosting stats tmp.)
- [ ] Items & Gold NPC Trading (Couple of mockup items and shop and basic player inventory)
- [ ] Player Action bar: Includes attributes, slots for items, current health and mana
Multiplayer/Matchmaking Lobby: UNET based (Unity's new networking back-end)
- [ ] Lobby / Matchmaking GUI
- [ ] All, Whisper, Team, Info Chat
- [ ] Lobby & Matchmaking Logic
- [ ] Client & authoritative server model
Technical Challenges:
- [ ] Network Time sync and interpolation for players
- [ ] A.I. could be a challenge especially regarding spread position when attacking a target.
- [ ] I am a Technical Writer not a coder :O
Psuedo Code Braindump:
Players click a Start Button
Players select a Play Mode (3v3, 5v5)
Players click a Play Button to continue
Players are entered into a matchmaking queue
Matchmaker matches 10 players then sends event to change queue scene to lobby scene
Matchmaker assigns each player to a random team (red or blue)
Players on the blue or red team can chat amongst each other during select to form a strategy with specific champion compositions
Player1Blue selects a champion then Player1Red (No duplicate champions different colored capsules can represent champions as placeholders)
SetVar on champion to sync Boolean of selected true or false so other players can no longer select a picked champion(owned by server)
Champions can select from 4 abilities during select (Flash, Smite, Ghost, Cleanse (No mastery trees for this version))
Champion Locks in (ready flag for next scene)
Once ten champs have selected move to game scene (load screen here)
Game Concepts:
Game starts with countdown from 30 seconds
Spawnpoints spawn minions every 25 seconds(ish) ( 3 melee and 3 casters ). Every 3rd wave a cannon range minion with extra dmg and health Minions level up using a time based linear equation similar to characters and spawn until the enemy nexus/barracks is destroyed)
3 lanes with turrets (turrets have targeting behaviourScripts on them. NearestTarget, or if enemyPlayer attacks a player near turret it will switch target focus to Player
3 spawn points for minions near nexus/barracks (red and blue)
Turrets are used as waypoints and tagged with specific names minions will go to first waypoint, the the second if first is destroyed and no longer instantiated. All the way to the nexus.
Minions drop gold for a champion that destroys it, (owned by server)
Gold is used to buy items from a item shop with basic inventory (owned by server)
Items increase strength of players base attributes (magic power, attack damage and defense(armor and magic resist)
navMesh for champions and minions for proper terrain collision
This project is part of:
Hack Week 15
Activity
Comments
-
over 7 years ago by JCayouette | Reply
I have decided to postpone this project for the next hackweek, I had an epiphany regarding a new doc project process. :) I will post the new project shortly.
Similar Projects
This project is one of its kind!