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 three 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!

"Insert Zoomerang pitch."

​

Engine: LLL Engine

​

Summary: During the development of Zoomerang I worked on Gameplay. I implemented the Power Up system that was used for tracking which player has recieved what Power Up and kept track of how to cycle out an old Power Up with new ones. I implemented together with Neo Nemeth and Joakim Larsson different Power Ups that affected the boomerangs and the players in different ways. I was also supporting the team with debugging various gameplay bugs that occured during the development of the game.

Reference Game and Power Ups

The reference game for this project was Boomerang Fu and I was in charge of implementing the Power Up system that was keeping track of the Power Ups that players has picked up during the game. I also made a couple of Power Ups that where used during the game such as the Exploding Boomerang, Caffinated Buff and Bamboozled debuff.

​

Design

The Power Up system works in the way that every player activates a flag when they pick up a power up. With this I stored the flag in a 8bit int. This way we know which player should spawn with which ability in the start of the new round. When a player reches three Power Ups we then with the help of a queue I add the new Power Up and dequeued the first one that was added to this queue. The way we make sure the player doesn't get the same ability as one they already have we used the flags and compared them to the one that it wanted to add. But everytime this happened we ticked up the odds of getting the Bamboozled debuff which inverts the controlls of the character. When a player gets this debuff the counter gets reset for that player.

​

Issue

add some related issue

"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