
Shell Struck
Shell Struck Is a single player, fast paced FPS where you play as a scorned tortoise going on a rampage against the vile hare gang. Use your jet boosted shell to launch into the air, slamming down onto groups of enemies. Finish off the cheating hares with your trusty shotgun, claiming the trophy that's rightfully yours!
Visit the itch.io page!

The Level Design Goal.
-
To create a ten minute level consisting of 5 large combat encounters.
-
Prioritizing intensity over difficulty.
-
Create a flowing, easy to follow arena to support the "Constantly Moving" design pillar.
-
Direct the player through good leading lines, and large landmarks.
Pre Pro
Designing the Levels First Iteration.
I initially began with a white box. I wanted five, two minute encounters to total a 10 minute experience.
The goals for each encounter were:
-
Encourage quick, flowy movement through good level design.
-
Develop good sightlines, and enemy positions so players are easily directed through gameplay.
The resulting levels were a bit small, but I initially thought they would be fine for gameplay because they were supporting the gameplay pillars I intended to design for.
My Level Wasn't as Flawless as I Had Thought
I quickly learned after pitching this game to industry professionals that my levels were too small. They didn't support the gameplay, my goals, or the games' pillars.
Through playing my level I learned:
-
There was no space for players to move.
-
There was no room to create your own path forward.
-
Enemies were scattered randomly.
-
Gameplay didn't fit the vision.
Here I learned to challenge my designs, and always be asking why.
-
Why shouldn't I try bigger levels.
-
What would happen if I switched this 180 degrees.
Doing so allowed me to justify my decisions, or find a design that works better.
Milestone 1
Mixing Encounters With Breaks
After a total level redesign, I noticed the game was too difficult.
This is when I learned how many PvE shooters mix combat with downtime to give players a break. During this time you can:
-
Heal up.
-
Strategize for future encounters.
-
Take a break, and regain your composure.
The game was too difficult because players lost hp to fast. Increasing the players HP would have been an easy fix, but I found a way to do it through level design.
-
In Shell Struck you heal by eliminating enemies.
-
Creating combat that favored the player was an easy way to create more healing opportunities.
I did this by:
-
Leaving good cover for the player to avoid shots.
-
Placing enemies in easy to notice locations.
-
Grouping enemies closer together for easy multi-kills.
Making these changes made our game a better playing experience because players were able to get further every run.
Implementing First Pass Combat
Currently combat consisted of enemies placed randomly in order to test out their interactions. Now was the time to change that thought process, and redesign combat with intention.
These were my criteria:
-
Group enemies together in multiples of 2-5 for fast kills.
-
Group flusher, pinner, and tank enemies together in ways that synergize the best.
-
Give players a tutorial of new enemies by isolating them in their first meeting.
-
Use combat to guide the player through levels.
The combat I had begun to design was based on a solid foundation of principles, and I had hope for its longevity.
Milestone 2
Learning About Sub-Arenas
Sub-arenas are basically smaller areas situated in a larger encounter with obstacles placed in a way to create a boundary from everything outside.
This was good for gameplay because it lowered the difficulty of the level, and increased the short burst intensity. Exactly my design intention.

This image shows the first encounter in my level. The level begins at the gate in the bottom right. I've separated my intended first sub arena (1) from the rest to give players a simple step into their first major combat encounter.
Learning Set Dressing
In milestone 3, I learned about the difference between gameplay, and visual set dressing.
Gameplay set dressing challenged me to do a few things:
-
Use assets in ways that can be used by the player during gameplay.
-
Create 'battle fronts' players can use for cover against incomming fire.
-
Block, and create sightlines.
Visual set dressing allowed me to:
-
Create a visually pleasing world.
-
Differentiate the optimal gameplay spaces from the less optimal.
-
Bring the world to life alongside creating a realistic outdoor world.

I wanted to persuade players to stay on the path. I created a cluttered, and tricky visual space to dissuade players from entering it, and instead using the easy cover to fight.
Milestone 3
Level's Lack Movement Flow.
I began noticing some flaws in the level design I wanted to fix. Sharp edges, and assets placed in ways that directly hinder the players movement.
To solve this I did the following"
-
Rounded corners.
-
Widened pathways.
-
Kept pathways in sight.
Making these level changes created allowed players to do the following:
-
Maintain movement with newly rounded corners supporting that style of gameplay.
-
Plan their route, because pathway's were in sight.
-
Strafe to dodge projectiles because of widened pathways.

A Fake World, and Collaborating with Art
I wanted ways to up my visual, and gameplay set dressing. There were a few levels in which the gameplay spaces were confusing because pathways weren't easily communicated. In collaboration with art, we decided to introduce some really simple assets to solve our problems.
The general consensus was to do the following few things:
-
Create debris littered around the world using small rocks as pebbles and rubble.
-
Paint lighter materials in the grass to represent desire paths.
-
Crushed beer cans and other party assets to show you are on the right path.
-
Tall grass to communicate pathways that are lesser travelled.
These assets allowed me to clearly communicate, and lead players down the intended path.


BEFORE
AFTER
Lack of assets creates a maze like area with too many useless paths.
A clearly communicated critical path showing players the ideal way to progress.


BEFORE
AFTER
A good landmark directing players forward, with decent leading lines.
Gave the area personal identity to separate it from other parts. Cluttered up a section not important to gameplay.

BEFORE
The first big combat interaction features nothing leading the player towards it.

AFTER
Yellow flowers, and leading lines direct the player to their first combat encounter.
Beta
Combat was Frustrating to Complete.
-
Combat was beginning to feel like a chore to complete.
-
Remaining enemies were difficult to find.
-
Combat was randomly placed causing players to backtrack through the level.
-
Enemies would shoot you from all over creating combat that was too difficult..
After a few days of designing a new iteration, I figured out the main issues.
-
Too many enemies were in the players view at a time causing confusion.
-
Groups of enemies were scattered everywhere instead of in select, optimal areas.
-
Enemy placement was working against the natural guiding lines of the level.
-
There were too many enemies to fight in general.
The 3 Step Solution
-
Begin each combat encounter with one or two enemies (who cant see the player yet) immediately visible. This baits the player into moving towards the enemies direction.
-
After the player moves close enough and eliminated the first group, another group of enemies is revealed behind those, guiding the player further forward.
-
Once all enemies in the current sub-arena were defeated the next enemy for the next arena would be immediately in view resulting in this chain of events restarting from the beginning.
Now why couldn't the player just run past these encounters? Well they could, but it isn't a good idea.
-
If the player was to deviate from the intended path enemies would begin to swarm the player resulting in taking lots of damage, or dying.
-
The intended path gave the player cover from combat. Once this path was deviated from, the enemies gain the cover.
-
Deviating from this path causes the players close range shotgun to be suboptimal, and lose to the long range weapons the enemies have.
The results of these changes had combat regain its position as the driving force in gameplay, and helped lead players towards the end of the level.

COMBAT BEFORE
A chaotic grouping of randomly scattered groups. Players backtrack to kill leftover groups, and run around in circles killing enemies with no direction.

COMBAT AFTER
Each enemy leads to the next. Kills chain together which results in combat groupings chaining together. Movement is supported, intensity is high, but difficulty is low.
Players are Getting Lost in My Levels.
My levels had no personality, my world was one big setting that repeated itself over and over again. Unsurprisingly this had a lot of effect on gameplay too:
-
The world wasn't progressing with the player. Nothing would change in your surroundings to represent the player moving forward in the game.
-
Landmarks were tricky to see.
-
Progression became a guessing game.
Nothing in my levels shouted “Hey, you are progressing!”
Shell Struck is meant to be played at a fast pace. There was never any time to stop and admire the scenery. If I was going to make changes they had to be a lot bigger than a few extra plants, or a couple more rocky cliffs than normal.
The Solution
Myself along with the art team devised a plan of action:
-
Dramatically differentiate my encounters visuals.
-
Add unique landmarks in prime positions.
-
Create set dressing that is easily visible at a quick glance.
One problem I noticed with my inspiration was I thought I needed more assets. At this stage it wasn't acceptable to put my artists through that work so i instead learned to reuse assets.
-
Switch the colour of rock materials to create mossy rocks.
-
Place trees lower into the ground to create a new bush.
-
Break down cars, or even stack cars on top of each other.
-
Create variety in ground visuals using different materials.
Shell Struck's levels now had identity that communicated progression to the player. The environments were different, and new landmarks could be seen to show progression through the feeling of "I've never seen that before!"
-
Landmarks and a changing environment have a large effect on gameplay.
-
Seeing progress is better than assuming progress.
-
Big impact can be more important than small details.
Showcasing the different biomes. Large changes like these are easy to notice no matter the speed at which you play.
Unique landmarks showcasing progression through new experiences.

Alpha
Optimization
Now that the end of development was near I stopped working on the level. My focus switched over to optimizing the games framerate.
Currently Shell Struck was averaging an abysmal 10-20 fps in build. My tasks to fix inside the level were as follows:
-
Limit the amount of unique assets.
-
Adjust colliders with high poly counts to colliders with low poly counts.
-
Reduce the number of physics objects.
The task of removing one time assets was fairly easy since I could reuse existing assets. About 10% was currently single use assets, and I was able to remove half of that. I replaced that 5% with existing assets that served the same purpose.
Next up was to work with colliders. I was able to remove, or lower collider poly count in the following situations:
-
Assets that had minimal, or no effect on gameplay.
-
Assets sitting outside the gameplay space.
-
Assets that could be fit into a box, or sphere collider instead of a mesh collider.
-
Small assets like pebbles, or bushes that sit on the floor that don't effect gameplay.
Lastly was to lower the amount of physics objects in the level. By removing physiucs scripts on unimportant gameplay objects (like corn, cabbages and similar objects), I was able to lower the amount of physics objects by about 95%, instead replacing them with tactically placed static objects.
After all the optimizing the build was up to a pretty stable 30-35 fps. Still not fantastic for gameplay, but almost a 100% improvement from the previous builds.
What I Learned.
To develop a solution you need to first know what you are doing wrong. Testing, planning, and learning through doing are some of the best ways to understand what is happening in your game. Learning to challenge my designs by justifying why it is the right decision was a big help. Iteration is an easy way to challenge, and understand if your designs are working in the intended way. No matter how much experience I gain, I can see myself challenging myself for years to come.










