fireshardloggabara
fireshardvanligtextvit
Karl Andersson Portfolio

Who am i?

I studied at game design at Blekinge Institute of Technology. During this time I focused on creating procedural tools and systems for my classmates to utilize when creating games. I also learnt to program in Unreal Engine using C++ during this period and combined that knowledge with my skills in procedural workflows to create great systems that could improve an artists workflow drasticaly.

Directly after graduating I proceeded to work within the IT consultancy business at a local subsidiary of Consid. During this time I worked mainly with mobile app development. Utilizing Swift, Kotlin and C# to create brand new apps, but also improving and updating old ones.

During this time as a consultant I was also able to put his procedural knowledge to use in order to generate golf clubs for a golfing app called DeWiz. These golf clubs would change shaft length depending on the users height and had functionality for switching out club heads on the fly. 


I recently won the game concept challenge competition which is hosted at the Creative Coast Festival in Karlshamn. This was due to my video game called Guns Guns Guns, which the judges deemed as having potential for being a success and there fore I took home the first place award of 50,000 SEK.

Programming Languages

  • C++
  • C#
  • Python
  • Swift
  • Kotlin
  • VEX

Knowledge Base

  • Proceduralism
  • Non-Destructive Workflows
  • Problem Solving
  • Leadership

Softwares

  • Unreal Engine
  • Houdini
  • Blender
  • InstaMAT
  • Substance Painter
  • Substance Designer

Companies

Employee

Codebrain - Front End Developer

Consid - App Developer

Blekinge Teknisk Högskola - Lecturer

Founder

Me after winning the Game Concept Challenge

20240517_181347

Awards & Grants

I've been awarded the Game Concept Challenge prize twice. Once in 2021 at 3rd place and again in 2024, at 1st place. 

The first time my submission focused on visual development. I used Houdini to create procedural tools for making trees, terrain, rocks and buildings. This also included a design document. Outlining the future gameplay and development time.

The second time I submitted a first person, looter  shooter, roguelite game and a design document. This contained my playable prototype that had me work with AI, system programming, level design, user interfaces, shaders and a lot more. The game design document contained an in depth description of the game (called Guns Guns Guns) and a detailed market analysis and market viability breakdown.


I was given this grant to start a game development company. I was granted this through submitting a business idea, a detailed budget, market analysis, competence evaluation for the participants in the company. If Arbetsförmedlingen deems capable of executing on the idea you present you’ll receive a grant that funds you for the coming months. This was in 2024.

Projects

MapBackgroundWLogo

Guns Guns Guns - 2024

Guns guns guns is a video game I've been working on for the past year. It's an Ffirst person looter shooter, action roguelite where the player gets to use fully modular weaponry with special abilities to defeat their enemies.

This project thus far has mainly been programming and design. Making AI, UI, weaponry, movemnet and a lot more using C++ and maintaining a designer friendly approach where I expose certain functionality to blueprints to easily manage creating new weapon components, new artifacts.

This is the game with which I won the Game Concept Challenge award of 50,000 SEK.


Technologies

Unreal Engine 5, C++, Blueprints, Houdini, Python, Vex

Stylized Shading

For Guns Guns Guns I developed this shader that "stylizes" the environment by manipulating how lighting affects textures, colors and normals.

There is also another shader that measures the depth of the scene and draws outlines where the difference in depth is hight. Thereby creating a outlined effect inspired by comic books.

The cliffs are also made using a height based noising technique. Where I create bands based on a stepping function that relies on a gradient. I can then apply noises to the pattern to create a more "detailed" look. I then select random bands and color them based on their gradient value.


Technologies

Unreal Engine 5, HLSL, Material Graph, Blueprints
HighresScreenshot00003
HighresScreenshot00000
Skärmbild 2024-07-02 230236

Cliff Generator - 2024

This cliff generator is made to be used in large open world games. It uses a landscapes heightfield data as foundation and generates cliffs depending on the normal direction of the slopes from that height map. 

Through this I'm able to generate the geometry needed to then later manipulate with various noises to get a interesting final look that blends very well into the landscape.

This can be generated directly in any engine that supports Houdini Engine or can export some sort of height map.


Technologies

Unreal Engine 5, C++, Blueprints, Houdini, Python, Vex
HighresScreenshot00001
Skärmbild 2024-07-02 230352

Cel Shader - 2024

In Guns Guns Guns I've worked on this cel shader post processing effect. It uses light data in the level and makes segments out of it. Creating distinct bands of where there is light. Many cel shaders have some issues with colored lights as a result of this. But that is something I managed to circumvent by overlaying an extra color layer onto the image. I also used a similar method to fix issues with emissive materials.


Technologies

Unreal Engine 5, InstaMAT, Blender, Blueprints, Material Graph
HighresScreenshot00005

Image before cel shading.

HighresScreenshot00006

Image only showing lighting.

HighresScreenshot00003

Image after cel shading.

HighresScreenshot00004

Image showing lighting and desaturated textures.

Procedural Weapon System - 2024

The weapon system is our main point of innovation. Where the player is allowed to pick and choose different weapon components from six different categories. Barrels, Receivers, Magazines, Handles, Stocks and Scopes. No matter what components the player picks they will occupy the assigned category of the weapon component. But no matter what component they pick, it will always fit; There are no limitations as to which components can be attached to other components.

This means that I needed to create a very modular system to allow us to reuse most of the functionality and not have systems break when not having access to some weird dependencies.


Technologies

Unreal Engine 5, C++, Blueprints
Skärmbild 2024-04-29 093206

An image of what a weapon component might do.

Skärmbild 2024-05-22 160314

Image of assembled weapon.

Skärmbild 2024-05-22 161147

A non-complete list of the stats which a SINGLE component can change.

Skärmbild 2024-05-22 170828

A UI where the player can see all cards they've already picked up.

image

The UI where the player gets to pick one of three ability cards when leveling up. 

Level Up & Card System - 2024

This level up and card system allows the player to tailor their playstyle. This is through picking different abilites each time they level up that synergise with their current weapon.

This system also utilized very modular system designs. This is because each card need to be able to be displayed properly. But they also need to be able to work with a variety of different attributes on the player, on enemies and generally in the world. 


Technologies

Unreal Engine 5, C++, Blueprints

Cables generated along a curve

Procedural Cable Tool - 2023

This tool was made using Houdini, Substance Designer and Unreal Engine to enable environment designers to speed up their workflow and enable them to create visually interesting artworks in a industrial setting faster.

To create it I used a non destructive workflow which is inherent when creating tools using Houdini. I then used Substance Designer to create tilable textures for the cables, allowing them to stretch and bend how ever they see fit according the simulation that the tool utilizes to interact with the surrounding environment.


Technologies

Unreal Engine 5, Blueprints, Houdini, Python, Vex

Level Editor - 2022

This tool was made using Houdini and pygame. This tool allows a user to create a map layout using a interactive interface. Filling in 2D squares and then exporting that data to generated a seamless level in accordance with the users input.


This tool is a made with a 50/50 split between Python with the pygame library and Houdini and its procedural generation workflows. This allowed me to easily create a system that generates these types of levels.

You could easily replace the walls and floor with any relevant meshes to create a wildly different result that would fit your specific game or other piece of digital media.


Technologies

Houdini, Python, Vex
Watch on Youtube

Vine Generator - 2022

This tool is a made with Houdini It generates vines in a designated area and allows the user to art direct how that growth should occur.

Tree Generator - 2021

This tool is a made with Houdini It generates trees inside Unreal Engine.

Contact?

You can contact me directly through my email!

Email: Karl.98oa@gmail.com