GROUNDHOG DAY
Fallout 4 Creation Kit Level
ROLE
Systems Designer & Level Designer
PROJECT KEYWORDS
-
Arena Shooter with Circular Flow and Covers
-
"Deathloop"-like Gameplay Progressions
-
Balanced Economy System with an in-game Player progression system
-
Built-in Daily check-in system
YEAR
2023
GENRE
Arena Shooter, FPS
Total Work Time
8 Weeks
Base Parameters
At least 15 minutes of gameplay, made in Creation Kit
PROJECT SUMMARY
DESIGN GOALS
Create a linear FPS Shooter Arena that challenges and tests Player Progression
Design natural circular flow and circular covers for a seamless combat experience
Utilize different enemy AI combat styles to create scalable challenges for the Player
Create a Unique and balanced "extraction" system and daily check-in system
DESIGN PROCESS
Implementation Details
1
Creating a Circular Gameplay Flow that works with arena shooters, providing multiple advantage points and disadvantage points in the arena
The combat arena is designed with various opportunities for circular flow in mind. By using circular covers, stairs, and ramps, I have created at least 2+ paths for the Players to traverse at any given point in the level - so the Player will never be stuck and cornered in any area of the map. As shown in the annotated screenshots below.
(Screenshot taken in Creation Kit 2.0)
2
Designing Player Progression Systems that work with an in-level economy system
In order to provide the most ideal player progression and economy system. I referenced the original barter value of each weapon, calculated the ratio of price differences between each weapon, and plotted them on a base-10 scale in order to get the closest number that's a multiple of 10 (easier for the Player to understand).
To get the desired enemy health value and enemy number, I first assessed the damage of cheaper weapons. Then I estimated how many shots the Player needed to kill a wave of enemies if there were no missed shots. After that, I give the Player extra ammo for room for error.
The amount of gold given per capita is calculated by the price of the weapons. I can use the weapon price to control when the Player can afford which weapon.
Using the data above, I've graphed the expected enemy difficulty progression using Total Enemy Health.
Using the data above, I've graphed the expected Gold Yield that the Player will earn per wave of enemies.
From the data above, I've calculated and created expected shop values and how much each weapon should cost in order to create an expected Player Progression throughout the level.
To get the correct base value, I have to hardcode the barter system to set the Player's Charisma to max and set the price of each item at max Charisma to ensure the price amount.
3
Scripted unique gameplay "extraction" system that is inspired by Deathloop
Tracking the Player's extraction count using Global Variables via a trigger. The trigger is disabled when the Player is at home base, and enabled whenever the Player is inside the arena.
(Code snippet written by me, Emily Zhang, screenshot taken in Sublime Text)
In order to avoid soft locks when the Player ceased progression for any reason, I've implemented a Daily Checkin System in the level where the Player can check in and maintain a Checkin streak. The Player will receive resources by the multiplier of streaks.
(Code snippet written by me, Emily Zhang, screenshot taken in Sublime Text)
LEVEL SHOWCASE
PROJECT POST-MORTEM
What Went Well
-
Started the Project with a Clear Goal and Plan
-
I started the project with a clear goal to recreate the progression system displayed in the Arkane Studio's game Deathloop.
-
I created level maps and system documents to showcase the intended design progression prior to development.
-
-
Iterate. Iterate. Iterate
-
Focused on iterations of the level progression, and refined the progression system using Microsoft Excel tables.
-
-
Strategic feature cutting
-
Improved and learned a lot about combat design
-
Utilized AI tools and Navmesh to manipulate enemy placements and behaviors to create a better combat experience.
-
What Went Wrong
-
Scripting limitations
-
I ran into issues with save loading - the Global Variable values will not carry across save files, so I would not be able to carry game data across saves.
-
-
Narrative ambiguity
-
I found it difficult to present my story idea through a quest in this project. A lot of the ideas are lost throughout gameplay.
-
A lot of the story beat moments are not delivered through words.
-
What I've Learned
-
I learned new ways to manipulate AI in the Creation Kit using PrimitiveLocationPackage, NavMesh, and AI attack data.
-
I learned how to use Global Variables to keep track of game data and keep them consistent.
-
Take calculated risks
-
Being innovative is very important, but it is also important to create a shippable product!
-
Calculate and mitigate the risks of innovations, while finding the feasibility of creative gameplay
-
-
Find the fun early
-
It is important to put in a lot of work early in milestones.
-
-
I need to expand my horizons by exploring the functionalities of the editor