top of page

Ideation

Level Ideation:
To begin I take the existing game genre and mechanics and I research game levels created within that game genre to help spark some ideas for where the setting might be. Once I gather some ideas for the setting I narrow them down by analyzing what environment the game mechanics might fit best into. An example of an idea which I generated this way and have completed is Techno Ruins. My genre and mechanic requirements were single player adventure with at least one combat encounter. So I researched some other single player adventure games and through my research gathered that a futuristic apocalypse setting matched the genre well. So I settled on a futuristic ruin setting.

Game Ideation:
When it comes to general game ideation one of the strategies I employ is dream journaling. Often when I wake up from a dream I get an idea of a set and setting for a game at least, but sometimes while writing I will attach some mechanics or a genre to the game. A game idea I got straight out of my dream journal is Click the low poly horror experience where the antagonist is darkness itself. Music is another big source of inspiration for me. Commonly I will visualize scenes or gameplay moments when listening and quickly write them down in my notes.

Ideation Snapshots:
Slide 1: First instance of putting the idea for Click onto paper in my running ideas document
Slide 2: Initial description and idea for Kanesgame.com compiled into an infographic format
Click Idea.PNG

Creating Documentation

References and Setting:
To begin creating the level documentation I start with a template with some core sections every design document needs. When using this template I usually begin by finding a reference for the setting of the level on the title page so I can remind myself of the general set for this level when returning later. Next I place some flavor text into the level overview section which just describes the player's motivation and the setting of the level.

Mechanics:
Then I begin writing out any unique mechanics needed for the level. Once the mechanics are written out on paper I will analyze them by playing out some potential gameplay scenarios in my head to understand if there are any conflicts which might harm the player experience. I prefer to get the mechanics out first before concepting the level map because I can run through level segments as I create them, adapting and adjusting as I go. This allows me to create a level which can maximize the usefulness and enjoyment from the game's base mechanics.

Documentation Examples:

Creating the 2D Map

Reference Usage:
When working on the map I have already determined the setting of the environment so I layout corridors and rooms in similar fashion to references of real environments I find. For example when creating the Click game level and 2D map I used real home floor plans as a reference because the setting of the level was inside of a suburban home. This allows me to find patterns within these plans to create a realistic enough level while still focusing on making the gameplay as enjoyable as possible. Another example of this was during the creation of the Techno Ruins 2D map. When I was creating this map I knew that I wanted the level to mimic circuit board traces to give it a futuristic feel, but also wanted it to feel cramped like a dungeon would. To accomplish this I found some circuit board references and some references of the catacombs under Odessa. The circuit board references helped me find an interesting layout. The catacombs references helped me create a cramped and abandoned space by adding rubble walls on many exits and reducing hallway width.

Teaching and Guidance:
When I am making a level I tend to think about how I will teach the player the unique mechanics and how they can use them together in interesting ways. The most common way I do this is by teaching the player 1 mechanic at a time each time giving them a relatively safe area to test their abilities. I also try to guide the player into what objects they can interact with. For example, on the Techno Ruins level I used the initial meeting of the robot dog in the pit as a way to lead the player's eye towards the interactable computer. The robot dog moving through the uniquely interactable dog tunnel before the player can possess them gives them a hint that this object is interactable by the dog later on in the level.

Level Sections:
I tend to create levels in discrete sections starting where the player begins their journey. For example for Techno Ruins I created the level beginning with the pit finishing that area before I knew exactly how area B will be laid out. However when I finish two adjourning sections I go back and see how they might be interconnected. Once again in Techno Ruins I created the whole of section C including the mini-hub with all the collapsed doors before creating section D, but a major part of the section D puzzle takes place within section C in a previously inaccessible area.

Final Maps and References:
Slide 1: Finalized 2D map for Techno Ruins
Slides 2-4: References used during the creation of Techno Ruins map
Slide 5: Finalized 2D map for Pyla Saraiah a 3 combat encounter FPS map set inside a canyon
Slides 6-7: References used during the creation of Pyla Saraiah
Single Player Level Overhead Map Correct aspect ratio.png

Blocking out

Setup and Navigation:
When blocking out the level I begin by importing the maps I created into Unreal and placing them onto a BSP cube. I then scale this cube out based on the scale grid used in the map. Next I block out the walls or edges of the level. After this I run through the level a few times just to make sure all the entry ways are usable and that the scale I set during the 2D map creation leaves enough space for the player to easily move around the level when the props and other objects are added. I adjust the scale of the walls and my references until I find the right balance of world accurate scaling and easy player movement.

Props:
Once the outline of the level is completed I use the modeling tools that come with the modeling plugin on Unreal 5 to create simple representations of the props and furniture needed throughout the level. After this I do another couple of run throughs of the level just to make sure the scales of the objects are still correct and that the player has enough space to move around easily.

Block out Examples:
Video: Walkthrough of Click block out
Slides 1-7: Techno Ruins block out
Snapshot.PNG

Scripting

Scripting General Practices:
When scripting I create general interface classes to give myself a reference for what functions each blueprint should contain. Utilizing interfaces also reduces the amount of classes which must be loaded at one time during run time optimizing usage. On almost every function I add a boolean output which denotes if the script was run successfully. This allows for much easier debugging during script creation. I add comments to all my functions as well denoting its inputs outputs, its purpose, and what classes should call it.

Complicated Scripting:
When scripting complex behaviors I commonly write out a list of all functions I will need and write out some pseudo code for what their inputs, outputs, and purpose is. Then I work my way from the bottom up starting with a function which has no dependencies then moving up the chain finally to the event graph. For example one of the more complex systems I have scripted was the AI antagonist in Click. The AI antagonist was challenging because I needed to essentially procedurally generate patterns of darkening the rooms within the house. So I needed a script which determined what rooms were dark, what rooms were adjacent to the dark rooms, and which of the adjacent lit rooms should be darkened. This was difficult because of all the different objects which were involved in turning off and on the lights and because the player could also turn off and on lights at any time. It was a challenge, but I was able to create an AI which could turn off any light that was adjacent to a dark room which would never try to turn off a light which was already off. I additionally added a priority system to the AI which made it preferably choose rooms which had more adjacent rooms. This was so that the AI would spread faster.

AI Antagonist Script Walkthrough:

Finalizing the Level

Asset Hunt:
To finalize a level I retest my block out with all mechanics a couple of times attempting to interact with objects in many different ways and orders. Once I run through the level a few times without finding any bugs in the scripting or any issues with collision I move onto adding finished assets. In some cases I decide to make the assets I require, but when I am in a time crunch or find some assets which match my vision I will add those to the level. A common occurrence when finding character models for me is that they are not rigged. During the creation of Techno Ruins I ran into this issue I had for both the robot dog and robot human where I found a character model I loved, but the model was not rigged or animated. To fix this I went into Maya to rig and animate the character myself. So final level assets are a combination of found assets, created assets, and modified found assets.

Placement and Final Checkout:
To replace the meshes of the gameplay interactable objects I arrange the meshes within the blueprint view this automatically replaces all objects of that type with the new final meshes. When it comes to replacing the walls floors and lights I make sure to keep the scales uniform across all axis to stop material stretching. Once all the final meshes are placed I run through the level multiple times to make sure that all collisions are set correctly so that the player doesn't float on objects or is blocked by invisible walls. Another issue I look for is if there are any light leaks meaning the wall meshes have gaps where there shouldn't be. On these final playthroughs I also make sure that there aren't any areas which feel empty or without enough visual interest. The final thing that I check in these playthroughs is that during the process of replacing interactable objects with their final meshes I didn't break the scripts in some way. Once all those checks are passed the level is done!

Finalized Level Snapshots:
Slide 1-5: Click final level snapshots
Slides 6-15: Techno Ruins final level snapshots
Click Kitchen.png
bottom of page