Manifold Games was contracted by The Foundry to re-imagine the single player experience of their original Infiltrators game as a four-player multiplayer arcade game.
In Infiltrators: Arcade you play as an infiltration team that must hack into a corrupt organisations systems, and collect data on the companies nefarious activities before they go underground. Players must co-operate to hack data within the time limit or risk being discovered.
Players choose a class from a set of five available. Each class comes with a passive ability that affects their stats (movement, hacking speed, and guard detection) and an ability that the player can activate:
- Hacker Man - Increased hacking speed and can insert USBs into PCs to hack remotely.
- Ninja - Nimble on the feet with an increased movement speed, can drop smoke bombs to stun enemy guards.
- The Recruit - Increase to hack and movement speed. Slower for guards to detect but master of none (no active ability).
- Network Engineer - Increases the hacking speed of players nearby, can drop a WiFi router to remotely hack computers nearby.
Development
The game was built from the ground up using the Unity Game Engine and C# over the course of a few months.
The game was designed and developed by the three of us at Manifold Games, meaning we went through every
stage of development from initial ideas, prototyping, polishing, bug-hunting and final release!
My primary focus was on developing various gameplay systems, particularly the implementation of player-related components. I made an extendible player character system which allowed each "player class" to have it's own custom ability written in a few lines of code.
I also managed the multiplayer input system and arcade controls. Using Unity's Input System I ensured controllers where detected and paired to each player correctly, while accounting for sudden controller connectivity drops and alerting the game to pause. A custom interface was written to relay input from a controller, keyboard or arcade input device to each player in gameplay code to ensure it didn't need to implement every type of input handling.