Overview
Puzzle - Adventure game
You play as Z as she unravels the secrets of a corrupted virtual world, navigates treacherous landscapes, and harnesses unique abilities to restore harmony and uncover the truth about the world.
Role: Gameplay Programmer
Team Size: 5
Time Frame: 3 Months
Engine: Unreal Engine
Introduction
No Keys Harmed is an immersive puzzle-adventure game developed as part of my capstone project at KPU's game development program.
In this project, I had the opportunity to work as the main gameplay programmer, collaborating with a team of talented designers and artists. The game combines intricate puzzles and platforming offering players a unique and challenging experience.
Key Gameplay Features
Shrinking:
One of the earliest features of No Keys Harmed that I made was the shrinking Mechanic, which adds a unique twist to both the puzzle - solving elements and exploration aspects of the game.Concept:
The Shrinking mechanic allows players to change the size of their character at will, enabling the player to navigate through smaller areas in the game, enabling a key part of platforming in the game, it opens up a bunch of creative gameplay opportunities.

Implementation:
1. Players can shrink and return to normal size seamlessly with a simple button press.
2. Size Specific interactions: different sizes of the character allow them to interact with the environment in unique ways
- Normal Size: Players can move objects and jump to greater heights in terms of platforming.
- Shrunken Size: Players can access small areas and pathways, avoid enemies, and move at a faster speed.
3. Puzzle Integration:
Some puzzles require the player to interact with a corrupted object, which shrinks the player. However, the player grows back to the normal size within a few seconds. This mechanic adds a layer of complexity and requires the players to think creatively about how to use their size-changing ability to solve puzzles.
4. Dynamic Camera effect:
We introduced a dynamic camera system that adjusts based on the character's size. When in the shrunken state the camera zooms in to provide a closer view of the character and the environment.
Technical Challenges:Collision detection:
One of the biggest challenges while creating this mechanic was when the player used to clip through meshes when the player grew back to the normal size. In order to tackle that challenge.I came up with a solution where the player cannot grow back to the original size unless it does not collide with an object, implementing a ray cast upward in the z-direction up to a certain distance unless it does not collide with an object.
This also seemed to have added another feature (bug, but we call it a feature this time xP) in solving puzzles, where the player could potentially hide under an object to stay shrunk for a longer period.
Combat Enemies: Turrets and Drones
The combat system was introduced in the game to increase the pacing of gameplay. The enemies' health was inherited from a common health system used in the game's different pawns.Base class:
The base turret class served as the foundation of all the combat enemies in the game which includes the basic functionalities that are common to all the different enemies and can be extended with even more functions if need arises. It includes features such as shooting projectiles, turret rotation, health and damage implementation, etc.
Child Class:
Turret:The turret class extends the turret base class, adding specific functions that include the fire condition, detection mechanism, the laser turret specifications and so on.
Laser Turret:
The laser turret class further extends the turret class specializing in the activation of the laser for a specific amount of time and deactivating after.
Drone Turret:The drone class is a more advanced enemy type combining the functions of the turrets and adding mobility. These drones move around and add an extra level of challenge to the gameplay. It is also designed with modularity using interfaces to create multiple variations and to extend with different mechanics.

Key Features of the Drone:
Movement:
Initially, the drone enters a patrol state, where the drone finds a random vector location within a certain radius and then moves to the generated location if the said location is valid.
One of the challenges when designing was that the movement must be limited to just the original Z height to keep the drone to not stray away from the line of sight of the player's shooting radius since the game is an isometric platformer.
Fire and Rotate:
The fire and rotate functions are inherited from the base class but are modified to support movement.
Both turrets and drones use a modular fire function that can be customized based on enemy type. This includes projectile type, firing patterns, and special effects
Health and Damage:
Similar to turrets, the drones have health points and damage handling.
Interface Design
A glimpse into my work on game start screen interface design, focusing on intuitive control layouts, character selection, and menus that enhance player immersion without disrupting gameplay.