top of page

Game Projects

Here are all of the games I have worked on while studying at The Game Assembly. Ranking from latest to earliest. If you click the title or icon of the game you will open up a tab with the trailer for that game.

I wrote more about the latest two as they are the most recent projects but do ask me any questions about the rest if you'd like! Hope you enjoy your stay!

Permafrost

"In an arctic lab, shoot and bash your way through your mutated coworkers and use your wits to find your best friend."

Engine: LLL Engine

Summary: During the development of Permafrost I worked on AI and Gameplay. I programmed the behaviours of the enemies using Behaviour Trees that me and Joakim Larsson implemented into our in-house engine. We have worked a lot on debugging enemies behaviour trees and player-enemy interactions.

Reference Game and Enemies

The reference game for this project was Resident Evil 2 Remake and I was in charge of implementing the enemies using a Behaviour Tree. We had two enemy types. A walker and a runner.

 

Design

I designed the nodes to be as generalised as possible so that it would be easier to design the enemy behaviours, basiclly to be able to reuse nodes so that we don't have a lot of nodes that might do the same things but in other ways. We also made two different Sequncer Compsites which we call Sequncer and Reactive Sequncer. The difference is that the Reactive Sequencer always rechecks the old nodes if has as children to see if they still are true which has been great for movement behaviour as we wanted the enemies to turn while moving which it doesn't do with the normal Sequencer.

Issue

A problem we encountered was that playing animations with the behaviour tree is really hard and requires a lot of special cases in order for it to work. We solved this by making Conditional Nodes that are attached to Dectorator that always forces success to check if a certian animation is playing. If it is then it will continue on it's path otherwise it will start the animation and continue.

"Summoned by a ritual, you must destroy the hordes infesting the swamp. Slash, screech, and call upon crow storms to lay waste to your enemies."

Engine: LLL Engine

Summary: During the development of Spite: Crowstorm I worked on AI and Gameplay. I programmed the behaviours of the enemies and boss using State Machines that me and Niklas Fredriksson Implement to our in-house engine, LLL. I worked with Joakim Larsson on the Enemy Factory and the finishing touches of the boss.

Reference Game and Enemies

The reference game for this project was Diablo 3 and I was in charge of implementing the enemies using a State Machine. We had four enemy types. A tank unit, ranged unit, small unit and a ultra small unit that spawns when the tank unit dies.

 

Design

I designed the enemies to have generalised states because this way we only need to change something in one state and it would apply to all. This worked well and saved us a lot of time and made it easier to debug because we didn't need to look around a lot of unique states.

Issue

A problem we encountered was that the State Machine had the conditions for state switches and because of this if something was a bit wrong we would enter a state constantly which makes it so that the logic in a certian state executes multiple times.

"Your eggs have been stolen, scour the farm, fight the culprits with your trusty pan and knife to save your eggs!"

 

Engine: Heavily Modified TGE by Ivar Jönsson

Summary: During the development of Mother Ducker I worked on AI and Gameplay. I programmed the behaviours of the enemies using Decision Nodes and worked along side Brian Diep on gameplay systems.

"Plunge into a vicious journey to fulfill your final purpose, finding yourself in ways you never anticipated. Jump, dash and bend time, as you cut down your enemies and reach your closure."

 

Engine: TGE

Summary: During the development of Cyber Slash I worked on AI and Gameplay. Together with Lars Tallinger, we implemented a State Machine that was used for the enemies and the player. I programmed mostly enemy related things and when needed debugged different aspects of the gameplay.

"Life is a cage and death is the key. Battle your way through the horrors of the heavens to earn your warriors death."
 

Engine: TGA2D

Summary: During the development of HeavenFall I worked on Gameplay.  I spent most of my time on the player and the input system, implementing keyboard and controller support. Towards the end of development I also fixed the first boss of the game.

"Solve the puzzles of your mind and escape a nightmare filled with your deepest, darkest fears"

 

Engine: Unity

Summary: During the development of Oneiro I worked mostly on debugging and small things like player readability. The rest of the time I was programming with the others on things that they got stuck on and needed a fresh pair of eyes.

"In ancient times mankind dreamt of flight but you defied the gods. Fly high with wings of stolen feathers. But the higher they fly, the harder they fall."
 

Engine: Unity

Summary: During the development of Icarus: Flight to Olympus I mainly worked on debugging since this was the very start of my programming life.

bottom of page