Project Description
4 Of Us is a 4 v 1 asymmetric online multiplayer game that combines Third Person Shooter (referred to as TPS from now on) and Real Time Strategy (referred to as RTS from now on) in a competitive game. Four players in TPS view coordinate together to destroy certain objectives on the map while fifth player in RTS view try to annihilate them before they succeed.
The game is multiplayer only, in other words there is no single player campaign. When a player starts the game, he must pick a username, after which he is connected to a lobby where he can either join a room made by another player or create his own room (a room name is required). Once in a room all players inside must choose a character either the Mastermind (the RTS player) or any of the four TPS heroes (Verde, Alexel, Jiha and Cryian) once a room is full the game can start.
The Masterminds (the RTS player) main objective is to kill the TPS characters, for this he/she can spawn and control any number of four different units (basic, tank, turret and flusher) each of which has different mechanics, for example the flusher is a contact bomb with low health. Aside from units the RTS player can spawn either a stun or a smoke trap to disorient the TPS users, finally the mastermind can also close certain doors at his/her leisure. All this elements cost energy a recourse that regenerates continuously over time forcing the RTS gamer to plan ahead and choose their next step carefully.
Each TPS player I slightly different stat wise, for example Alexel has more health while Cryian is faster, the bigger differences are that every player has a specific color, symbol and voice. All TPS gamers must traverse the map and destroy the power generators marked on their minimap for this they have an assault rifle and a special laser shoot that charges by damaging enemy units.
If all generators are wrecked the game ends and the TPS players win the match. On the other hand, the Mastermind must kill all TPS players at the same time, there is no respawn mechanic so after a TPS player takes a certain amount of damage he/she goes to a downed state where any of their companions can go and heal them but if all TPS characters are down simultaneously they die and the game ends with the Mastermind as winner. After the game ends all players go to a score screen that displays relevant data for each and then the players are taken back to the main lobby.
Aside from the main game an analytics module was implemented to help with game design decisions, this module included an online database to keep track of players movement, shooting, damage and deaths on every match. Collected data could then be displayed using heatmaps both in-game on a separate scene or outside on a website created for this. The development team was composed of 6 people: a project manager, an artist, a game designer and three programmers including myself.
My Role:
The game was developed in Unity using C# I fulfilled the roles of network, AI, gameplay and analytics programmer. Next is a general breakdown of some of the modules I built for the game.
Designing
Base architecture of the game.
o Base object hierarchy
o Game flow
o Collision and physics logic design
Gameplay
Support with whatever was needed.
o Post-match score screen
o Secondary shoot
o Shooting feedback: Recoil
Effects: Visual and Auditory
o AI commands controller (Move and Attack)
o Control groups
o Unit selectio
Networking
I had to plan what was sent over the network and what was calculated on each client.
o Lobby and room management system
o Mechanics: Shooting, Environmental changes
o Effects: Sounds, Particle effects
o Animations: Inverse Kinematics
analytics syste
o Database design and backend site
o Data collection and storage systems
o Visual representation of data (heatmaps on a frontend website and an in-game scene)
Version management
o Perforce
ARTIFICIAL INTELIGENCE
I made a generic state machine and each different enemy simple added their specific behavior. The game had 4 enemy types:
o Basic Pawn: Cheap and expendable unit
o Tank: Expensive damage sponge
o Turret: Stationary but with incredible range and accuracy
o Flusher: Low health but devastating area of effect explosive damage
For more information on the projects please contact me.