Whitebox Video

Dock 42 (2014)

Multiplayer Level Design: White Box

Dock 42 is a 4 player, first person, unreal Deathmatch map developed in the UDK 3 engine. The art of the final product was implemented in the Unreal 4 engine by a separate team.

Role highlight:
– Level design
– Flow design

Engine:
– Unreal Engine 3
– Unreal Engine 4 (Final product)

Development Information
I was the level designer on the project. For myself, the goal was to white box a level and most notably look at: flow, landmarks, field of view, pick-up locations and overall level balance.

Once the white box was completed, it was given to a team of artists which replaced the white box with art assets, added lighting, effects and so on. From this point on, I was no longer part of the project, meaning that the flow of the level did change in the progress.

Detailed Information
Full List Personal ​Role & Tasks:
Level design
Flow design
Pick up placement
Balancing

Engine:
Unreal Development Kit (White box)
Unreal 4 (Final product)

Platform:
PC

​Personal Software, Tools & Programming language:
Adobe Photoshop
Microsoft Word

Total Team Size:
Solo project (White box)
6 team members (art)

Development Duration:
±6 Weeks (Part-time)

The video below is a sped up version of the “Video with Voice Over” without sound.

Video with Voice Over

Presentation Video explaining tool

Custom Unity Tool (2017)

Code: Unity Tool C#

To further my understanding of Unity and C# I created a custom tool for the first time. With the tool the user can build a specific game and it is flexible enough to handle an evolving game project.

(See “Video with voice over” and “Presentation Video explanation tool” for detailed information.)

Role highlight: – Scripting (C#) – Design

Engine: – Unity

Development Information

As mentioned before the tool is flexible enough to handle an evolving game project. The user can add new builder buttons and prefabs to the tool to place in the level and programmers can inherent from bases which makes components automatically supported by the tool.

The tool also gives the user concise and detailed information in plain English and with the help of colour coding.

The tool was a personal project of mine and I adapted it to use it as a project for my University.

Detailed Information
Full List Personal ​Role & Tasks: Scripting (C#) Design

Engine: Unity

Platform: PC

Total Team Size: Solo project

Fall (2015)

Puzzle Design: White Box

Fall was a puzzle design project with the main focus on introducing mechanics to the player and slowly increasing the difficulty, yet giving breathing room. The level starts at Novice, going to Intermediate, Leftfield, and ending with a Master difficulty puzzle (see graph).

Role highlight: – Scripting (visual scripting) – Puzzle mechanic design – Playtesting

Engine: – Unreal Engine 4

Development Information
For the project I scripted all the mechanics within blueprints. I created easy to use blueprints which we could drag and drop in the level, and simply adjust some public variables. This made implementing mechanics and iterating an easy job, so we could focus on the puzzle design.

As for the design, the first step we took was designing the puzzle mechanics of the project. Once these were established, we created a graph to illustrate when we wanted to introduce each mechanic, and where we wanted the difficulty to increase. We also created a second graph with a general overview of the difficulty level. This gave us a clear overview of the level we wanted to create, making sure the player would be eased into the mechanics, all the while maintaining the challenge.

After creating the puzzles, we began playtesting with a lot of people to see if everything was clear, doable, fun, and challenging, and iterated if this was not the case.

Detailed Information
Full List Personal ​Role & Tasks: Scripting (visual scripting) Level design Puzzle design UX design

Engine: Unreal Engine 4

Platform: PC

​Personal Software, Tools & Programming language: Blueprint visual scripting Microsoft Excel

Total Team Size: 2 team members

Development Duration: ±3 Weeks (Part-time)

Banjo-Kazooie Level (2015)

Level Design: White Box

The goal of the project was to create a whitebox level for the original Banjo Kazooie on the N64. The level would “replace” the fourth level (Bubblegloop Swamp) within the game.

Role highlight: – Analysing – Level design – Flow design

Engine: – Unity

Development Information

A major part of the project was analyzing Banjo-Kazooie and researching the design style of the original game to apply it in the level we wanted to create. Once we made ourselves familiar with the style, we started designing the theme of the level, as well as its special themed object and transformation.

We designed a flowchart of all major areas and kept a general rule that there should never be more than three main routes to an area. Once the first iteration of the flowchart was completed, we assigned themes, landmarks, as well as potential content, such as mini games, and jiggy locations to the individual areas.

We used the flowchart and assigned information to sketch a map. We especially kept in mind: landmarks, field of view, and hight levels. The map was imported into the Unity engine, and we began building the level itself. Playtesting was done by importing parts of the level into a Banjo-Kazooie rom and playing it using a Nintendo 64 emulator. We were able to see and feel how the level played, and iterate if necessary.

Detailed Information
Full List Personal ​Role & Tasks: Level design Flow design Theme design Game analysis (Banjo-Kazooie)

Engine: Unity

Platform: Nintendo 64 emulator

​Personal Software, Tools & Programming language: ProBuilder Basic (Unity plugin) Banjo’s Backpack Gliffy (Flowchart tool) Adobe Photoshop Sony Vegas C#

Total Team Size: 2 team members

Development Duration: ±3 Weeks (Part-time)

The Last of Her (2015)

Level Design: White Box – Solo Project

The Last of Her is a small side project with as goal to see if I could replicate the level design style of The Last Of Us. I created a level inside a mall in which a community used to live before it was overrun by infected.

Role highlight: – Level design – Flow design – Environmental storytelling

Engine: – Unreal Engine 4

Development Information
The project had a focus on flow design and environmental storytelling (including some additional narrative and character design) as well as improving my Unreal 4 level design skills.

I analysed the way The Last of Us designed their level and in part recreated this. Additionally I also did research on mall structures and such things as stores.

Detailed Information
Full List Personal ​Role & Tasks: Level design Flow design Environmental storytelling Game analysis (The Last of Us) Research on mall structures

Engine: Unreal 4

Platform: PC

Total Team Size: Solo project

Development Duration: ±1 Week

Don’t Starve: Flynn Rider (2015)

Mod: Character

The goal of the project was to see if I could work in an already established framework and create a character for Don’t Starve.

Role highlight: – Scripting (Lua) – Dialogue – Design

Development Information
I was in charge of all things non-art related. I did the character design, scripting within Lua, as well as all the dialogue of the character.

To create a character, I used a template and researched the Don’t Starve API as well as the code of the original characters. I also looked at the code of other mods in order to understand and script a unique character. This project was the first time I used the programming language Lua, and while it was different from what I was used to, I managed to grasp the parts I needed to create the character.

Detailed Information
Full List Personal ​Role & Tasks: Scripting Design Dialogue

Game: Don’t Starve

Platform: PC

​Personal Software, Tools & Programming language: Visual Studio Lua

Total Team Size: 2 team members

Development Duration: ±1 Week

Saints Row V:
It’s Fighting Time! (2015)

Narrative Project

Saints Row V: It’s Fighting Time! is a narrative based project where we were given the assignment to write a potential sequel to an existing game franchise and illustrate this within a Machinima.

Role highlight: – Story treatment – Character bios – Video editing

Development Information
The original story treatment was written by myself. I chose Saints Row IV as it gave me the creative freedom to go a bit wacky. The first step of the process of writing the story treatment was analysing the original game‘s story and taking this style and applying it to the treatment.

The second step was writing the character bios and Machinima script with one partner. This involved some research again as some of the occurring characters were original game characters.

Lastly was the recording, voice acting, and editing of the video. This was done with a total of 4 team members. I was mainly part of the editing team, but did help with recording and voice acting.

Detailed Information
Full List Personal ​Role & Tasks: Story treatment Character bio Script writing Video editing Voice acting

​Personal Software, Tools & Programming language: Adobe Premiere Sony Vegas Saint’s Row IV Microsoft Word

Total Team Size: 4 team members

Development Duration: ±7 days

Video version 0.1

CritterClass C#
V2 Preview Scripts (2017)
The following scrips highlight the systems that are used for the new version which is build from scratch. Note this is still very much a work in progress.

V2 Scripts
CritterBase (17/08/2017) [PDF] This is the main script for critters and all other scripts work with this script  GeneManager (17/08/2017) [PDF] This scripts handles Gene Expression, Gene Update and creating Mating Genes among other functions as well as holding the Mother and Father genes of a critter which can be passed on to offspring.  GeneBase (17/08/2017) [PDF] GeneBase holds all global logics for Genes.  GeneSkeletonBase (17/08/2017) [PDF] Inherits from GeneBase and holds all logic specific for the SkeletonGene in this case.  GeneSkeletonHardExo (17/08/2017) [PDF] An example of a basic gene. Any logic can be added here, it also holds which genes it needs to evolve/devolve and what it evolves into (As well as devolves into but this is auto set) and it can add any existing behaviours. It can also have an update function which is executed every frame.  CritterBehaviourController (17/08/2017) [PDF] This script handles and executes behaviours. Checking which one are highest priority and valid. Behaviours are added by genes and there can only be one behaviour active at the time. BehaviourBase (17/08/2017) [PDF] The behaviourBase script from which all behaviours inherent.  BehaviourWander (17/08/2017) [PDF] An example of a behaviour, it has a check if valid function as well as an execute function which is called every frame by the BehaviourBase if it is set as the active behaviour. The behaviour will be executed until it is no longer valid and can have any logic.

Survival of the Good Enough (2015)

Code: Unity C# “Evolution Simulation”

Survival of the Good Enough is a simulation in which little tadpole like creatures (Norms) survive, breed (passing genes) and evolve.

In this project I combined my love for biology and evolution with my love and desire to learn more about scripting.

Version 2 (2017) Currently the entire project is being reworked from scratch to be more flexible and make it possible for Critters to evolve from Amoebas to Plants and/or different kind of creatures with any kind of genes and behaviours I can think of.

The goal is to have critters evolve into different species to create a proper ecosystem. The rudimentary critter systems are (in part) created, which can be viewed at the “V2 preview Scripts” tab.

Role highlight: – Scripting (C#) – Design

Engine: – Unity

Development Information
I created the simulation to improved my scripting skills as well as it being a “game” for myself when creating it.

Norms will feed when they are hunger, start as baby and grown and the males (blue) will breed with the females (red). Each norm has DNA which consists out of various genes, which again consists out of two parts that dictate how the gene is expressed and will be passed to their children (1 part of each gene from each parent).

Each gene has a positive and negative side (Eg: Speed will make the Norm quicker but also increase its hunger rate). For me the game is to see which genes of which parents become the most dominant and how changing the environment and adding more genes effected the “evolution” of the Norms.

Additionally genes unlock different food types: Plants, nuts (Needs special mouth gene) and mites (Carnivore). Different food types means different survival chances in different seasons.

Detailed Information
Full List Personal ​Role & Tasks: Scripting (C#) Design

Engine: Unity

Platform: PC

Total Team Size: Solo project

Development Duration: In development