top of page

Isometric Survival Horror

Promo_Banner.png

Archive: Dead Zone is an Isometric Survival Horror game that is currently in development. Set in a post-apocalyptic world, you are a member of the last remaining military force and are tasked with investigating the strange number of Virals surrounding an abandoned library.

This reason I started this project is because I wanted to provide myself an outlet to create systems that I can experiment with and expand, essentially simulating an expandable system within a larger game. This allows me to test the limits of these systems, and just how much freedom I can allow to a Designer, whilst keeping the process as simple as possible.

Why?
Lessons Learnt

This project as of late has been used as a tool to reinforce design patterns within the context of Unreal. For most systems I have utilized a Component based design pattern, some use  Observer, and some utilize the current trend of using Data Assets (which has been an absolute dream to work with) to handle easy content creation.

This project has given me the ability to experiment with systems that make content creation easier, usually when I start a project I get the prototyping done, then burn out when it comes to content creation because I want to make a weapon do something special when firing, and I would have to hard code it, then it doesn't work, then I have to rip it out. Thanks to this project I have developed a way to de-couple these special effects - without bloating the core systems.

Noteable Systems
Flexible Interaction System
InteractionSystem.gif

I developed a complete interaction system, that supports UI prompts, as well as 3 different methods of interaction;

Tap, Hold, and Skill Check.

Click below for additional information on the system

Weapon Data System

I created a system that allows for easy weapon creation, with the creation of Data Assets, a designer can quickly throw together some weapon properties and create a new weapon for the game.

Click below for additional information on the system

Parameter-based wave spawning

I created data table-driven wave spawning system. This spawn system allows me to assign a specific set of parameters for a range of wave numbers. This includes enemy count as well as which enemies to spawn, and the percentage distribution on an enemy type basis.

This allows very quick iteration for wave difficulty balance, and allows me to create different wave-parameters for different difficulty options (i.e creating a new data table for an "Easy Mode")

Parameter-based wave spawning (continued)

Fetching of wave data is handled by a WaveManager class, the purpose of this class is to trigger the spawners' spawning functions, keep track of wave progress, and report this information back to the GameMode. The WaveManager also calculates how many enemies each spawner needs to spawn to match the total enemy count in the WaveParameter data table, this count is adjusted to always make sure there are enough enemies being spawned for the count to be accurate.

bottom of page