top of page

ETHAN CONSTANT
University of Central Florida
About Anchor

Multiplayer Survival Top-Down Shooter
April 2022 - December 2022
Unity Engine
Project Overview
Infected-Multiplayer is a PC & mobile cross-platform game where players play as zombies and compete against each other to hunt down the lone human survivor.
In another game mode, players can play as "The King of the Dead" (big guy on top) and command an undead horde to try to eliminate all of the survivors.
What I've Done
Items & Weapons
Created scriptable objects (data containers) and a hierarchical inheritance item system to allow easy extension and addition of new items and weapons.
Survivor & Zombie AI
Researched and implemented a new technique to develop more optimized AI State Machines that utilize interfaces to activate and change states.
-
Zombie AI chase and attack the closest survivors.
-
Survivor AI follow and protect survivor players by shooting at zombies that come near.
Mobile Compatibility
Designed and programmed mobile input controls for gameplay to be extended to iOS & Android devices.
Networking
Coded peer-to-peer multiplayer with Photon Unity Networking (PUN) that allows players to create and join games with each other.
Encountered Challenges
Multiplayer Networking
-
Situation Overview: I started this project to practice multiplayer networking which is one of the hardest but most exciting features to implement in any game. I've learned how important it is to preserve the amount of data you send in packets over a network while also making sure every client is having nearly the same experience. Vital things that I've had to network include player movement, animations, player damage, AI agents, health bars, scoreboard statistics and accurate positions of bullets, grenades and airstrikes, all while keeping in mind what could go wrong if a player were to join or disconnect mid-game.
-
Challenge: A brick wall I ran into was when I realized my mistake of assuming that everything would work properly by only playtesting with 2 clients. Having done this, I was forced to trace back my steps in order to fix a handful of issues with larger lobbies such as incorrect AI positions, weapon damage that scales up with the number of players, and mixing up which client is capable of controlling which player.
-
Solutions: Through numerous hours of research and digging through documentations, relentlessly googling, and asking senior programmers for guidance during lunch breaks at work, I've been able to make an extreme amount of progress with debugging many asynchronous actions. Thus far, the many lessons I've learned from this project has greatly helped me hone in my attention-to-detail skills in client / server game systems and multiplayer game development.
bottom of page