top of page

Level Playthrough

Feature Display

Sword Attack & Block

Getting the swing and block to feel good was important.

As well as getting the animations to fluently blend together with one another.

Force Grab & Push

I wanted to design all objects in the level to either feel pushable or not.
In short the player should be able to both grab and push everything small enough to be interactable in the level through pure intuition.

Sword Throw

The player needed a way to be able to interact with enemies and objects from a long distance.

At the same time, they would lose their ability to protect themselves by literally throwing their defenses away.

Developer Tools

Since I wanted the player to intuitively decide which object is interactable and not I created a blueprint for this purpose.

I made it as modular as I needed, with different objects having a different force applied to them depending on their mass, so that a small box and a big table wouldn't feel the same when picking them up and throwing them around.

image.png

I also created a simple spline blueprint to have an easier time placing the many fences on the level, which turned out to be really useful in the long run.

image.png

Combat Encounters

The focus wasn't placed on the AI. They work by spawning out of the player's vision; moving to a set position and then shooting at the player until they or the player are eliminated.

I did, however, put some thought into the encounters and what I wanted the player to experience at each point in the level.

In this area, I wanted to have the player fully utilize their force grab & push. Since I've chosen to have the objects be intuitive to interact with and the area is filled with barrels, chairs, tables and sandbags. The player will more often than not happily use the combat trick of choice that I intended to be used in the specific area.

Here, I wanted the player to be somewhat surprised but also immediately use the sword throw to get out of trouble.

This, followed by the force push snack kill, made the overall area very enjoyable.

Flow Chart

Tension Graph

Skärmbild 2024-04-08 170633123.png

Top Down

Workflow & Process

Weeks 1 & 2:

I worked on the blueprints for the AI, player and my modular object. Getting these to an acceptable stage was my first goal for the project.

Week 3:

When the blueprints were at least functional, I spent the following week creating the base blockout that I envisioned.

Weeks 4 & 5:

Originally, the level started at the bottom, and the player had to make their way up the trees. After extensive feedback, I took the decision to switch it around. Making the player start at the top and work their way down the trees.

This decision forced me to go back and rethink, move or even remove some stages of the level that didn't make sense anymore. This took longer than planned.

Weeks 6 & 7:

I spent a lot of time in Blender and in the Unreal Engine Niagara system, as well as implementing animations, sounds and camera shakes into the gameplay where needed.

Week 8:

I mostly spent time fixing minor bugs left behind and adjusting timing issues with the animation and VFX parts of the project. As well as adding some assets to the level and toying with the light settings for a more pleasing environment.

First-person Combat Encounter

Star Wars

Breakdown

Individual project created over the span of 8 weeks at 50% work speed

  • Scripting

    • Sword attack & block

    • Force push & grab

    • Sword throw

    • Modular interactable object

    • Animation blueprints

    • Enemy & ally AI​

  • Design

    • Onboarding

    • Flow

    • Combat scenarios

Goals

  • Get myself comfortable with animation blueprints.

  • Use the combination of what I've learned at TGA to create an enjoyable level with specific gameplay in mind.

Summary

A first-person level with a focus on gameplay and combat.

Use the various ways given to the player to rid the enemies from the level.

Used assets

  • BlockOut Tools Plugin

  • Low_Poly_Viking_World

  • FPPMeleeAnimset

Personal & Project reflections

I'm overall proud of how the project came out, but there is never a perfect project; there are always some hickups along the way, and I would like to share some of my insight on what went wrong, why I believe it went that way, and what I learned from the experience.

Iteration Challenges

The first real issue I came across came into existence because I opted to create my own meshes in Blender. Especially the trees, which were procedurally generated through geometry nodes.

This came back to haunt me later in the process since it became difficult to make iterations to the layout of the level.

I got a lot of feedback about why I decided to make the level play from the ground up instead of spawning the player at the top. When I got the feedback and decided on switching the placement of the spawn and the goal, I stood face-to-face with a brick wall with my beloved procedurally generated trees.

The problem was salvagable but a good sum of hours went into getting it to work like I wanted.

I learned how important it is to always have the opportunity to go back and change meshes, blueprints and any other fundamental part of the level, even though you might never actually need to.

Player Engagement Issues

The most difficult process of the project was to keep the player interseted and engaged throughout the entire level. This came down to either having the player experience pleasing views, sightlines and areas of interest or having the combat be near constant with minor pauses in the action. And in turn have the combat itself be smooth and intuitive to use. I opted to use a combination of the two, and the result turned out to be both pleasing and fun to play.

bottom of page