DefendAman is a multiplayer, top-down, 2D, team-based MOBA action game developed for Linux using Unity. The premise of the game is simple. There are multiple teams of players and one player on each team is the "Aman". Players must work with their team to simultaneously defend their Aman while also trying to take out the opposing team's Aman. This classic game of "VIP" is modernised with class selection, character progression, resource gathering, base buildings, and chat system. DefendAman combines fast-paced action with teamwide tactics for an exciting experience.
- Jerry Jia - jerrybeanman
- Dylan Blake - dmblake
- Carson Roscoe - CarsonRoscoe
- Alvin Man - AlvinMan
- Martin Minkov the best - Martin Minkov
- Jaegar Sarauer - JaegarSarauer
- Allen Tsang - AllenTsang
- Joseph Tam - JosephTam
- Krystle Bulalakaw - krstlb
- Hank Lo - Aify
- Spenser Lee - SpenserL
- Micah Willems - MicahWillems
- Tyler Trepanier - Tmanthegamer
- Moon Eunwon - Imoongom
- Dhivya Manohar - Dhivmanohar
- Colin Bose - ColinBose
- Oscar Kwan - Okwan
- Gabriella Chueng - Gabriellabcit
- Thomas Yu - Thomasyu93
- Gabriel Lee - ScrawnySquirrel
- Tom Tang - Eigenket1
- Vivek Kalia - Vivekkalia
- Scott Plummer - Frozenhawk
A match of DefendAman is played with two teams. When a player connects to a server hosting a DefendAman game, they can choose which side they want to play on. Teams are made up of at least two players and a game must have minimum of four players before it will begin. At the start of the match, each team can have one only one player to be the Aman. Gameplay revolves around managing both defense and offense; players have to ensure their Aman is safe before striking at the opposing team.
There are two unique themes players can choose to play in, Grassland and Tron. They are asset packages loaded locally on the client's workstation, meaning that all the players are able to share the same map elements while playing under different themes.
Each player can take on one of three roles: Ninja, Gunner or Wizard. Each class has a distinct play style that provides a unique benefit to a team.
-
Ninja
-
Gunner
-
Wizard
-
Aman
-
The player chosen to be the Aman receives buff in both health and attack to make him stronger than the general normal player, allowing him to go head to head with any single player.
-
The "Aman" player will also have a special glow around its character to indicate that he/she is the "Aman"
*[TODO:: Insert Aman player screen shot here]*
-
DefendAman also features an aspect of base building and resource management. Scattered throughout the playing field are various objects that provide an essential resource. When a player destroys one of these objects, they can collect the resource that falls out. That resource is used to build walls and provide upgrades for their team. Creating defensive fortifications is an essential way for a team to defend their Aman.
Currently, there are five different types of buildings player can purchase using the ingame currency.
-
Wall
- A very generic wall that blocks enemy vision and also prevents ninja from teleporting through.
-
Watch Tower
- A rotating watch tower that grants vision to ally team members, which strengthens map awareness and control
-
Turret
-
A simple turret that annihilates anyone who comes across its FOV (field of visoin)
[TODO::turret screenshot here]
-
-
Upgrade buliding
-
Once it is placed, players can gain access to upgrading their firearms which allows more damage output.
*[TODO:: Insert upgrade buliding screen shot here]*
*[TODO:: Insert upgrade buliding shopt panel screen shot here]*
-
-
Potion buliding
-
Once it is placed, players can gain access to puchasing various types of potions which grants more survivability and manuverability.
*[TODO:: Insert potion buliding screen shot here]*
*[TODO:: Insert potion buliding shopt panel screen shot here]*
-
-
Notes:
- Pre-existing debug and release game build, server executable, client c++ library,
and map generator library can be found available under:
- DefendAman/Builds/Debug
- DefendAman/Builds/Release
- Since the latest version of Unity has compatibility issues with linux
builds, we would need to roll back to a slightly older version of
Unity.
- Download Unity version 5.2.4 at: https://unity3d.com/get-unity/download/archive
- Select version 5.2.4, either Unity installer or the actual editor will work
- Download Unity version 5.2.4 at: https://unity3d.com/get-unity/download/archive
- Pre-existing debug and release game build, server executable, client c++ library,
and map generator library can be found available under:
-
Open project:
- Once the Unity editor is downloaded on a Windows machine, open the executable.
- On the projects selection menu, click "Open"
- Browse to the DefendAman project, and select the folder to open it.
-
Build game executable:
- Make sure the project is correctly loaded in the Unity editor
- Open build settings window through File->Build Settings on the top left corner
- Make sure all scenes are properly loaded in the "Scenes in Build" window
- If nothing is displayed in the window:
- Open grass_theme, tron_theme, and MenuScene by double clicking them individually
- On the build settings, add each scenes to the build by clicking on add current
- If nothing is displayed in the window:
- Select target platform to be Linux under Build Settings window
- Note: Might take a while for the editor to switch from Windows to Linux
- Select the corresponding architecture to run on. (x86_64 for the lab computers)
- Click on build to compile the executable along with the data files into a selected folder.
-
Notes:
- To run the executable on a Linux machine, the following folder and files NEEDS to be
under the same directory
- Executable file (i.e DefendAman_release.x86_64)
- Executable data folder (i.e DefendAman_release_Data)
- ClientLibrary.so (For C++ networking)
- MapGenerationLibrary.so (For C++ random map generation)
- To run the executable on a Linux machine, the following folder and files NEEDS to be
under the same directory
-
Run game executable:
- Give game executable file execution permission.
- Double click on executable or run it through terminal, which will open the player selection window for configuring resolution and game quality.
- IMPORTANT: Resolution setting needs to match the monitor, which is 16x9 for lab computers,
and quality has to be simplest.
- If an incorrect resolution and quality is selected, various issues may arise due to the compatability of Unity and Linux