Mattias "Mau" Lundell
Technical Designer
Student Projects
This page contains both big and small projects from my time studying at both Futuregames and Mediagymnasiet.


Big Projects
Smaller Projects
Level Design
Skylar & Plux Level
I've made a Skylar and Plux level that is bilinear with some diverging paths and nice vistas.

Creating a Feeling
I wanted to create a big level similar to the actual levels in the game and since we had access to the game project I felt like that was a perfect side project.
I wanted to create something that would fit the Skylar & Plux game, starting with deciding on the theme; "A mining town in need of saving".

The first part of the level, a town infested by monsters

Here you find the Elder who asks for help

In the deep mines they used to use the crystals as the only lightsource. They became more dangerous with time and as such has been sealed.

The first part of the level, a town infested by monsters

Vistas and Pacing
The level is divided into three main areas;
"The town", "the mine" and "the slope".
Each area has one big vista, where the player will get a unique feeling. I also made it so that each area has a unique playstyle;
Town: Battle
Mine: Exploration
Slope: Speedy platforming
This division created more focused gameplay and made it easier to understand for the player.
Making A
Bilinear Level
When set dressing the level I thought about how to make it inconspicuous for the player to traverse the level again. I hid certain areas so that they would only be visible when going backward.
The idea of a bilinear level came about when thinking about the story of the level. I wanted the level to be about a fetch quest that wouldn’t be about walking down the same path again.


The same rock, but from the opposite directions
revealing a new path
Additional paths
The 3D platformer genre is no stranger to additional paths and secrets, so I wanted to incorporate a side quest area in the level.
This gives the player more objectives to do without making them a side area after completing the game. The “deep mines” were designed for masters of the game to show off their skills.
Here is a playthrough of the level,
feel free to skip through it
Smaller Game Projects

Spork
I programmed a simple Text-based "Input-Output"-system with a lot of player freedom.
Details:
Team Size: 1
Time: about 2 weeks
Software: Raw C++
Role: Programmer, Writer
A simple structure
The Spork code is structured with 3 main areas of code:
1. The Room initializing code; writes the correct text for the room you are currently in.
2. The Input code; lets the player input whatever it wants.
3. The Input reading code; this code looks at the input from the player and updates the parameters of the game accordingly to that input.
And then it loops around with a "While"-loop. This simple structure made the game easy to code.


Going Deep into the Mind
Creating Spork was fun because it taught me how to really understand how a player will think when playing. I had to think about what the player might want to do and let them do as much as possible by finding fun scenarios.
To create a fun play area I mapped it out on paper, put down what I wanted in each room and to make it a little more fun for the people exploring I made some hidden commands as well.
Cyberspank
My first introduction to creating systems in the Unity Engine.

Details:
Team Size: 3 (Only Designers)
Time: 2 weeks
Software: Unity
Role: Programmer, Artist
Creating Unity Systems
This was my first time creating bigger scripts in Unity. It was my first real experience with C#, but I felt confident in my ability to create with the help of my Unreal blueprinting and Gamemaker Coding knowledge.


Building System
We wanted to create a building system and I was in charge of it. I did it by creating a similar script to the one we had for shooting bullets, but instead of instantiating bullets, I instantiated building blocks.
By doing this I could observe an already functioning script to gain knowledge of the framework.
Combo Meter
I created the script that manages the combo streak. It uses the input from each enemy kill to update the score multiplier and the added score. It resets if no-kill has been made in a few seconds. This really taught me the groundwork of sending variables between scripts.


Kanin Kalas
Creating a game targeted towards children with a mobile input system.
Details:
Role: Artist, Programmer
Software: Gamemaker Studio
Time: 2 weeks
Team Size: 1
Creating a child's game
During this project I really focused on creating a game catered towards children between the ages of 2-6. I started by researching the genre by playing other games on the app store.
From this I made the art in a similar fashion to them, simple with pastel colors, adding a mascot character and created a simple menu that was simple to navigate.


Making it work with mobile
This was the first time I tried to create something for mobile. It was hard creating the extra code for how the touch would work, but with some help I made it work.
It also helped that I didn't have to think about the actual game design since I was only trying to create a "fruit ninja" esc. game. Trying to replicate something was a good choice when trying to learn something new.
Generic Platformer
My first ever game where I programmed myself in 2017. It really shows my growth.

Details:
Team Size: 1
Time: about 2 weeks
Software: Gamemaker Studio
Role: Programmer, Artist
Coding a game
This was the first time I ever coded for real in a game. Before this I had only followed tutorials to a T by using the drag and drop code boxes.
I had to code the movement and jump, the power-up, enemies and the goal. All of these were a bit rough but seeing as it was my first game I coded it worked pretty great.


Making it Generic
The art and feel of the game weren't a focus for this project, but I wanted to give it something. The character I used felt really generic and I had made a slime sprite so I used that generic feel and amplified it.
I also used a well-known BGM from a lot of youtube videos to give the game a very generic character.
Prototyped Systems
Modular Quest System
The system is made to be fully modular so that it can be used for any game that wants a quest system.

Details:
Team Size: 2
Time: 2 weeks
Software: Unreal Engine 4
Role: Programmer
Component Based
The system is built upon the core of being as modular as possible. To do this we wanted to put all the hard coding into components that could easily be put on any game object.
The two main components include:
The "Quest Holder''; a component put on for example a player. This component holds all the information for all the quests that the holder has acquired, both active and completed.
The "Quest Giver"; a component that can be put onto anything, like an NPC, to give out a specified quest to the correct quest holder.

Quest Holder BP
Quest Giver BP



Using Structs & Datatables
The information sent between the Quest Giver and Holder is in the form of a Struct. This struct has information such as completed objectives, who gave it and if it itself is completed or not.
It also has an array of another struct made; the Objectives. Since each quest can have multiple objectives we wanted it to be possible to create multiple objectives.
To create a new quest you easily make them with the use of a datatable. This also makes it simple to track all the game's quests (this system allows for 999 quests).

Detection System
A system made to guide the player to invisible objects with only the use of sensational feedback.
Details:
Teamsize: 3
Time: 2 weeks
Software: Unreal Engine 4
Role: Programmer
Making a detector
This system is about a detector that gives appropriate feedback depending on how close you are to an object.
We created two different detectors;
One that checks if you are in any object's vicinity, like a metal detector. This is the positive detector.
One that checks for walls/objects with line traces to find if you are close to something dangerous. This is the negative detector.


Calculate Distance Function
Invisible Wall Checker BP
Metal Detector BP
Reciever BP

Adding Feedback
The two detectors were created so that one is prominently a “positive” and one “negative”. This made it so that the player knows what they should and shouldn't approach.
We did some playtesting to tweak these numbers so that they weren't over the top but still affected how the players would react to the feedback in the way we wanted.
Art
3D Dolphin
I created a 3D dolphin that taught me the intricacies of creating things in 3D.

Creating from Scratch
This was my first time doing anything in 3D, so it was a bit intimidating with all the different tools. But as time went on I got pretty confident with some tools when modeling the dolphin.
This experience has given me a lot of appreciation for how much effort needs to be put into the creation of 3D assets and I feel that it has given me a better understanding of game production as a whole.


