Combat Sim

Overview:
Combat Sim was an Unreal adventure game framework created by one of the instructors at VFS. The goal was for students to create a third person shooter level with a stealth segment, a defense segment and an assault segment using only the provided ingredients.
The level I worked on features:
-
Fully implemented stealth, assault and defense segment
-
Simple stealth puzzle mechanics
-
Design philosophy focused on freedom of movement and line of sight for combat
-
Design philosophy focused on light as a guide and puzzles for stealth
Role: Technical Design/Level Design
Responsibilities:
-
Draft a level layout on paper
-
Whitebox, then fully create and set dress the level
-
Script AI spawns, patrol paths, switches, and combat challenges
Design Challenges:
Combat rooms
-
Balance
-
first combat encounter features AI spawning in small numbers (slowly ramping up) at the end of one of four bridge with lots of cover. Allows player to take advantage of cover and set up a defencible position with large amount of distance between them and enemies. Player can utilize the areas multiple levels and cover layout to easily flank incoming enemies.
-
second combat encounter has a larger number of AI already spawned in an open area. Player must choose an appropriate method of engagement and must think critically about where to utilize cover in order to survive.
-
​​
​Stealth Rooms
-
Balance
-
stealth rooms highlight critical path through level using lighting and set pieces. Players must ​pay attention to spotlight movement patterns and tripwires as they plan a path through the level.
-
Players introduced piecemeal to obstacles and difficulty progressively increases throughout the rooms. Final section limits player line of sight, encouraging careful progression and planning.
-
​
Cover Layout
-
Player progression
-
Cover layouts placed so that player is encouraged to move from cover to cover. Multiple paths allow for flanking and access to different weaponry and ammo.​
-
![]() | ![]() | ![]() |
---|---|---|
![]() | ![]() | ![]() |
![]() | ![]() | ![]() |
![]() | ![]() | ![]() |
![]() | ![]() | ![]() |
![]() | ![]() | ![]() |
![]() | ![]() | ![]() |