top of page

RECENT WORK

RECET WORK / SHIELD RUNNER
SHIELD RUNNER
INFO

GENRE: Endless Runner

PLATFORM : IOS, ANDROID

ENGINE : Unity

MY ROLE: Programmer & Designer

DATE : 2020

DEV TIME : ~2 months

TEAM SIZE : 2

DESCRIPTION

Shield runner is an endless runner similar to subway surfer. The player must dash between three lanes avoiding barricades and enemies alike.

 

The player can protect themselves by using their magical shield to swap between three colors of power, these colors are red, green, and blue. Each color will block an enemy of the respective color. defeating enemies gives you a bunch of gold! defeating multiple enemies in succession increases the amount of gold you get!

​

SUMMARY

SHIELD RUNNER is an endless runner with a strategic twist, its goal was to be quickly developed and released on the market. Shield runner is free to play and that took about two months to complete.

​

It was very enjoyable to work on, working on something that needs to be done as soon as possible made me approach this project a little different. I spent more effort making things simple and straightforward so it's easy to change in case we needed to scrap a design or time didn't allow things to be finished.

ShieldRunnerFistEnemy.PNG
ShieldRunnerPoster.png
DOWNLOAD GAME (comming soon)
SHIELD RUNNER - UNDER THE HOOD
CHUNKS

The endless runner would not work without the endless bit, so I coded a room spawning system where it spawns in "chunks" from a pool of pre-made chunks.

 

My solution was super quick to implement using very simple functions that comes with unity, I made sure to code a solution that was simple and straightforward.

​

The Chunks detects player collision and calls the ChunkManager to spawn in a new chunk if the player has run the required distance the chunk will spawn in an EndChunk.

Chunk.cs

Chunk prefab
ChunkExample.PNG
CHUNK MANAGER

The Chunk Manager contains functions which are used by the regular chunks, the chunks themselves call the manager to spawn in new chunks and remove old ones, and the manager checks if the player has reached the maximum distance to reach the last chunk of the level.

ChunkManager.cs

START CHUNK

The start chunk works like a simple chunk, it is only spawned when the player enters a new level, this works by resetting the whole game to origin so that it can loop. The start chunk's job is to simply spawn a single normal chunk and then get destroyed.

StartChunk.cs

END CHUNK

The end chunk is the last chunk instantiated in a level, it contains the exit door which resets the game to origin to create a new loop cycle as well as destroy all old chunks.

​

The EndChunk can also be set as golden by the "IsGoldenChunk" boolean, this means that it will have the player enter a special room where they can open some chests for rewards, and or shield repairs, etc.

EndChunk.cs

LOOT MANAGER

The room where players can open chests for loot is handled by the loot manager, it simply checks if the player is eligible for loot and rolls for a random piece of loot.

LootManager.cs

AscendStelathMutantAi_Poster.png

GENRE : Stealth

PLATFORM : PC

ENGINE : Unity (2D)

MY ROLE: Programmer

DATE : 2020

DEV TIME : ~2 Months

TEAM SIZE : 6

INFO
STEALTH AI - MUTANTS
SUMMARY

Ascend was the project name for the game I was programming the mutant AI for, the game was a 2D top-down stealth game with some light puzzle elements, focusing on the interaction between player and mutant though stealth and item usage.

​

This was the first time I took on the challenge to create modular AI which would be used by multiple different types of AI falling into different archetypes of enemies found in stealth games.

DOWNLOAD PROTOTYPE (comming soon)
Ascend_Alpha.png
Project Ascend alpha screenshot
MUTANT AI - UNDER THE HOOD
MUTANT CLASS

The mutant class is the center for all mutants, it contained the data and stored data which were used for all its functions.

Mono_Mutant.cs

FINITE STATE MACHINE

The finite state machine class is a mono behavior component attached to the mutant gameObject, the finite state machine accepted states which in turn ran mutant behaviors.

Mono_FiniteStateMachine.cs

MUTANT STATES

During the project, there were 7 different mutant states, attack, chase, idle, look, patrol, scan, and search. all these states inherited from Obj_FSMState which is a scriptableobject that held all functions to run state logic which in turn ran the specific behaviors attached to said state.

Obj_FSMState.cs

Here is a state scriptable object, this is the chase state used by the generic melee mutant.

FSMState_ChaseState.cs

MUTANT BEHAVIOR

The mutant behavior is similar to a mutant state but instead of determining what behavior to run the behavior determines what the mutant ai does, be it attack, chase after its target, look around in an attempt to spot a target that quickly moves through its vision.

Obj_MutantBehaviour.cs

Here is the mutant chase behavior, it gets data from a sensory component such as sight, hearing, etc which tells it where to go, the chase state also handles its own exit conditions such as fake memory or if vision is lost.

MutantBehaviour_Chase.cs

MUTANT SENSORS

Each mutant had at least one sensory component, this was the "minimal perception" component, it detected target there were to close, basically, a felt presence. But usually, mutants had two, the minimal perception one and either sight or hearing.

MutantSensor_Sight.cs

STEALTH AI

Cara was the final project at the future games indie education, it was a 10-week project and it was the first project I and the rest of the team did in unreal engine 4.

​

I was one of the two programmers for the project. I coded features such as automatic camera adjusting, pickups, falling spikes, fake shadows, and the ice skating logic.

DEVELOPMENT
CaraCoverSmall.png

Cara is a 3D platformer about ice skating, it takes a lot of inspiration from Mario 64 but adds a lot of its own spice by having ice skating and level design to support it, its a fast-flowing 3D platformer which just feels great to be in, skating around and attempting to overcome the challenges sprinkled around the demo level is a joy.

DESCRIPTION

GENRE : 3D Platformer

PLATFORM : Windows 7+

ENGINE: Unreal 4

MY ROLE: Programmer

DATE : 2019

DEV TIME : 10 WEEKS

TEAM SIZE : 7

INFO
CARA
Cara Trailer
DOWNLOAD GAME (comming soon)
CARA

SIDE PROJECTS

Asteroid Odyssey is a box sliding puzzle game for IOS and Android. You slide boxes and as they connect they become attached to each other, the goal is to collect all boxes by sliding them into each other without sliding a box outside of the level.

DESCRIPTION
Poster.png

Asteroid Odyssey was developed in unity as the second digital project at the indie game dev education in Boden. it was developed by a three-man team, Dennis Löfgren as our designer and project lead, Carl Stendgård as our artist, and me as the programmer of the project.

DEVELOPMENT

GENRE : Puzzle game

PLANTFORM : IOS, ANDROID

ENGINE : Unity

DATE : 2019

DEV TIME : 5 weeks

TEAM SIZE : 4

INFO
ASTEROID ODYSSEY
UPDATE

Asteroid Odyssey is being updated and getting a new lick of paint, this is done by all of us who made Cara, we are currently doing this as a backburner project. We see potential in the design and want to give it a chance as a completed product rather than just a school project.

SIDE PROJECT / ASTEROID ODYSSEY
DARKEST HOUR
DEVELOPMENT
Poster_bioPunk.png

Occult is a deadly system with a strong focus on characters existing in a tangiable world with rules that allow for great player expression not possible in our own world.

​

Its a classless system focusing on what makes a character a living being witht personality, flaws, and strengths.

​

Occult uses an attribute/skill based system with uses different dice at each rank to determin the outcome in tests of skill, physique, and ability. 

​

The goal with Occult as a roleplyign system is to allow players to explore their character in the world rather than explore a world with a character.

DESCRIPTION

GENRE : Pen and paper roleplaying system

TEAM : 1

​

INFO
OCCULT - ROLEPLAYING SYSTEM

Occult is the project name for a roleplaying system I'm developing in my spare time, its systems, mechanics, and rules are made to fit a specific type of roleplaying, the system is pretty much everything I've learned by failing to create a working system since I started with game design, roleplaying systems was what sparked my interest in game design and ever since then I've been working on a system of my own, with countless restarts and revisions this is what I've come to so far. I don't mind if I never finish it that's not why I do it. I simply enjoy the process.

DOWNLOAD ALPHA RULE BOOK PDF (comming soon)
UPDATE

Occult is currently being playtested to get the core systems right to move on to the next step, once this step is completed I will leave a publically available pdf of the alpha ruleset.

Biohazard is a vertical level designed to be easy for new players to arena shooters to get into, the level flows together and is follows a straight forward design, it's based mostly around rooms ranging from medium-sized to small, with some bigger hallways connecting them.

​

There was major effort into making the level enjoyable for newer players as it has multiple weapon pickups of the same kind, making sure every player has a chance to get their hands on the better weapons such as the rocket launcher and flak cannon.

​

The level was voted as the best level in the class with a first-place vote from 12 out of 15 students, it was also among the teacher's top 3 levels (order was not given.)

​

DESCRIPTION
BiohazardLevelPoster.png

Biohazard was a level blocked out in 3 weeks during the final project in a short level design course during my education at future games indie.

​

I rushed getting some textures on it because I didn't have enough students to play-test at the end of the course. Getting the level textured was not a requirement but it was fun getting some paint on it. even if it looks terrible in most places.

DEVELOPMENT

GAME GENRE : Arena Shooter

ENGINE : Unreal Tournament Level Editor

DATE : 2019

DEV TIME : 3 weeks

TEAM SIZE : 1

INFO
BIOHAZARD - LEVEL DESIGN
VIEW LEVEL WALKTHOUGH(comming soon)
DOWNLOAD LEVEL (comming soon)
TEST CHAMBER UPPER
mainRoom_upperlevel.PNG
mainRoom_upperlevel_3.PNG
TEST CHAMBER LOWER
mainRoom_lowerLever.PNG
mainRoom_lowerLever_3.PNG
WALK WAYS
bioTankRoom_WalkWays.PNG
bioTankRoom_WalkWays_3.PNG
TOXIC SEWER
mainRoom_sewerLevel.PNG
mainRoom_sewerLevel_3.PNG
BIO TANK CHAMBER
bioTankRoom_Chamber.PNG
bioTankRoom_Chamber_3.PNG
BIO TANK CHAMBER CONNECTOR UPPER
BioLab_Connector_UpperLevel.PNG
BioLab_Connector_UpperLevel_3.PNG
BIO TANK CHAMBER CONNECTOR LOWER
BioLab_Connector_LowerLevel.PNG
BioLab_Connector_LowerLevel_3.PNG
LEVEL DESIGN
bottom of page