About me

I am a recent Computer Science & Mathematics graduate (NADA/KTH) with a passion for programming and problem solving. Most notably a passion for game development. I have experience with an array of different programming languages (favorites being C++ and C#) and technologies. I have amassed experience in software development through my studies and self-learning (hobby projects), where I have worked with a slew of different types of software development paradigms (OOP, functional programming, logical programming etc.) and different categories of software development (all the way from the basics such as traditional .NET desktop applications and web development to computer graphics programming, game development etc.). I also have experience working with large software companies utilizing agile/scrum methodologies. In my free time I am working on game development projects built with the Unreal Engine and Unity game engines.

Projects

UPortal

Built using: Unreal Engine, Blender

A seamless real-time portal system built for Unreal Engine, inspired by Valve's game "Portal" released in 2007. Rendering, teleportation, physical interaction and collision replication with the portals is 100% seamless. The portal system is fully dynamic and easy to integrate into existing Unreal Engine projects for other Unreal Engine developers to use.

The project has been showcased at an exhibition at Tekniska Museet (Swedish National Museum of Science and Technology).

View demo

Age of Garb

Built using: Unity, C#, Android Studio, ARCore

An Android AR game built in Unity where you place a virtual surface on a real world surface using your phone camera. The virtual surface stays in place by being tracked by the phone’s camera. This virtual surface acts as the game’s bounds (map) and then, once the virtual surface is placed, the game map is procedurally generated on top of it. The phone acts as a manually operated “drone” within the game, shooting enemies that are attempting to complete their objectives and your objective is to stop them.

This project was supposed to be showcased at the "Play Beyond Play" exhibition at Tekniska Museet (Swedish National Museum of Science and Technology) but these plans were canceled due to the COVID-19 pandemic.

Learn more

HavNet

Client: Avalanche Studios

Built using: C++, Havok, RakNet

A built-in physics network simulation tool and network profiler for the Havok Physics Engine, for use in real-time multiplayer games utilizing Havok. We were tasked to modify the Havok Physics Engine to support real-time replication (client-server architecture networking), helping Avalanche Studios to do isolated experiments with networked physics simulations. As well as create a network profiler for the Havok Physics Engine. Allowing Avalanche Studios to reproduce and playback physics setups that are replicated between clients as well as testing different ways of doing synchronization over varying bandwidth and latency, as well as other constraints. The tool is also able to playback recorded streams from clients and the server to visualize differences in the state of Havok physics objects over time.

View demo