top of page

Prototypes & Tools 

Mesh Chainer

This tool makes it easy to place multiple meshes along a spline, repeating them as needed. If needed multiple meshes can be used and automatically randomized along the spline.

First, meshes are assigned into the array, in the editor. Each mesh gets a section, by default the section lengths are auto-adjusted based on the dimensions of the chosen mesh, though this can be tweaked by enabling "Custom scaling", and entering a custom value in "Custom section length"

By default, the "Only full length meshes" box is ticked to keep all the meshes the same width, basically skipping placement if there isn't enough space, but it can be turned off if needed. Collision  can also be toggled on or off for all meshes at once. It also possible to assign multiple meshes and randomize when chaining them together.

Untitled design (1).gif

 Demonstration 

HighresScreenshot00000.png

 Example use case 

Mesh chainer settings

 Example use case 

It's useful for set dressing, especially structures, or any type of repeating items, and it also comes in handy when creating level blockouts.

HighresScreenshot00000.png
Screenshot 2025-03-20 130527.png
HighresScreenshot00001.png

Sword & Shield Combat Demo

In this prototype I created a short game featuring a first person sword and shield combat with emphasis on creating a short but polished experience.

Each player action (each swing animation, sheathing etc) has it's own fine tuned subtle camera shakes to enhance impact and weight. Both the player and enemies use randomized attack animations, but  trigger corresponding hit reactions on the receiving end for consistent visual feedback.

I tweaked the player movement, camera, and controls to keep combat feeling fluid and readable. I balanced enemy spacing and approach speeds to give players room to react without breaking the pace of combat, keeping encounters challenging and cinematic.

1740477737873.gif
1740477746692.gif
1740477742292.gif
Behavior Tree
zoom-in-512.png

 AI Behavior 

The AI detects the player, moves toward them, and attacks when in range. While effective, this approach is quite could be expanded with more dynamic behaviors such as evasive maneuvers in the future.

Troop Spawn & Order System

In this prototype I created a component which allows players to summon and another component to position them. Players can deploy up to six troops at a time, forming a cohesive unit. Then, each unit can be strategically placed in different areas while maintaining its formation.

PR – 10.png

At its core, the system works by line tracing from the camera as the player marks positions for troop deployment. The troops are then spawned at these marked locations, which are stored in an array. This array is used to calculate an average point, allowing the troops to move collectively through the troop commands component.

All spawned troops are stored in a map, where their unit number is determined by an integer value. When the player selects a unit (e.g., Unit 1), a C++ function in the blueprint retrieves all troops with the corresponding integer value from the map. These troops are linked to their previously calculated average point already, which can be moved to reposition them all at once.

Screenshot 2025-02-03 234002.png

 Spawn Component 

ezgif-787a84ea40239.gif

 Demonstration 

Screenshot 2025-02-03 234236.png

 Order Component 

Catapult

Created for a fun cozy game in development, where the player can posses objects. It launches the player to a predetermined landing spot by automatically calculating the required velocity and force. For ease of use, it can be placed directly into the level, where it will automatically face the landing zone.

When interacted, the catapult gets lowered and the player has X seconds to hop on before launch. If the player isn't using the catapult as a ball, they won't be launched all the way.

The landing zone, which is a separate actor will ease down the player's velocity when it enters the volume for a smoother landing experience.

Screenshot 2025-03-16 173007.png
image.png
Screen Recording 2025-03-20 124658.gif

 Demonstration 

Developer Menu

This prototype is a debug tool created in C++, for a simple stealth game. It allows game testers or developers to modify gameplay elements in real time, such as adjusting the enemy chase radius and modifying player health (applying damage or restoring it). Additionally, it includes options to trigger a ragdoll effect on the player, unlock all doors in the level, or restart the level instantly, providing flexibility for testing and debugging. The AI's chasing and patrolling tasks within the behavior tree were also implemented in C++.

PR – 10.png
Screenshot 2025-02-05 121434.png
Untitled design.gif

 Demonstration 

Boss Battle Prototype

In this prototype, I worked on various attack types and patterns for a boss fight featuring a massive enemy. Additionally, I focused on the player character's abilities, like dashing, slow motion, weak spots to shoot and 3Cs.

I made a simple system which triggered different animations on the enemy blueprint, resulting in different types of attacks, combos and environmental changes. Then I edited and created different values to balance the experience as my team and I gathered feedback from playtest sessions.

Many thanks to Mukund Narayan for implementing the bow mechanic and dynamic level changes. Also, a big shoutout to Viktor Ganzha and Erik Löfving for their work on creating two distinct levels and Fredrik Nilsson for sound design!

Untitleddesign-ezgif.com-optimize.gif
Untitled design.gif
Untitleddesign-ezgif.com-optimize.gif

Wizard Arena

In this prototype, the player is thrust into a 2v2 underground wizard battle arena, where they face off against an AI team alongside their AI teammate. There is one small problem though, the player's character haven't mastered any attacking spells yet, so they must rely solely on deflecting incoming attacks to emerge victorious.

Untitleddesign-ezgif.com-optimize.gif

 Gameplay 

Path Follow Component

This prototype was developed for a game concept where players must escort a cat during an alien invasion. I created a component that allows the cat to follow a predefined path through the level. The path is based on a spline, making it easy for level designers to adjust as needed.

If the cat is removed from the path, whether it's captured by an alien (until the player intervenes) or placed/spawned away from the starting point of the path, it will automatically locate the nearest point on the spline and resume following it to the end.

Recording 2025-02-03 212124.gif

 Follow path, start to end 

Recording 2025-02-03 212511.gif

 Find closest point to the path and follow 

© 2025 by Yankı Savgat

174857_edited_edited.png
bottom of page