Niklas Briselius

Level Design | Scripting

Scripter - Level Designer 


Introduction

Escape Harran Central Station is my CO-OP Dying Light Level. This level is made from the Chrome Engine Level editor that is Techlands inhouse engine. This level is supposed to fit in like a “dungeon” in the dying light game, with the focus being on completing goals together and just having fun in a Dying Light environment.

The level features combat based game play, with this I’m trying to convince the players to use their environments to be able to take on their challenges together. My goal was to create a level that was surrounded with a immersed city like environment and to showcase my skill to adapt to another Level Editor than the regular Editors.

HarranSquareGif.gif

Level Summary

The main objective of the Level is to escape the Harran train station. The players finish quests to find their way out. The level utilizes the traditional mechanics of Dying Light, combat and parkour. Since Dying light is based on open world design and I had no time to create a full map,  I decided to restrict the player to a certain area with high buildings and walls and by doing this I also decided to make a linear quest to match the design.

 

Specifications and tools

Techlands: Chrome Engine 6

Notepad ++

Created while attending The Game Assembly

Dying Light 

Scripted in PSXL and SCR

Created in 3.5 weeks half time(4hrs a day)

1400 Downloads, 7100 views on Steam Workshop


My workflow

Getting Started

In the beginning, I wanted to create an experience that resembled the old town segment of the dying light game. By doing some research and trying out the editor and the assets I changed my mind and scratched my top downs for a full rework. Since I was trying out a new editor it took a few days to get into the workflow and learn how the editor worked. Once I figured more how the editor worked I decided to have a raid/dungeon styled CO-OP level. 

My challenge for this project was to create a working and nicely paced level from the dying light editor. I wanted to showcase my skills in Level design and adapting to a new Scripting-language. I wrote down some specific events and parts of levels I wanted. 

Planning and inspiration

My planning for this project was hard because I did not know the Level Editor. I started my Pre-Production and figured out fast that I had to sit in the editor more to figure out how I could, work to build and script a fun level. After this I created my LDD and started to work with a whitebox. During this time I also wrote down my goals for the level and started creating Scrum-like tasks on Trello to keep myself honest about how the flow of my work went. Since I was a first-time user of the editor I started slowly to ramp up the production the more I felt like I knew. The objective and quest of the map was also a challenge, to script in a new language was a challenge but from my knowledge in C# and Visual Scripting and the limitations from the editor I managed to create a fun quest  early in the production that I could develop further. 

My big inspiration when I started to build my level, was taken from a guest lecture we had from Massive Entertainment about creating Open World environment. The overall layout of my level takes inspiration from this lecture. The architecture came from old European cities and the scripting took inspiration from memorable events in the dying light game. 


How I made my levels

Setting up the scripts

When I started to build my level I started to get to know the Level Editor I was working in and when I did this I also needed to figure out how you had to work with quests and scripts in the engine. I think this was the hardest part of the work process, not because the language that I was scripting in was hard but rather because the documentation of The Dying light engine is not as developed like Hammer Editor or Unreal Engine. 

My first difficulty was about something basic as Trigger-boxes/zones. In all engines that I had worked in before there had always been some sort of trigger-box that you can attach different scripts or enemies that will start interact on touch. In the dying light editor there is no trigger-box and you have to script and design around this. 

After discovering this I tried to adapt to figure out how I could work around it. Some buttons would work as triggers and opening some doors could also act as triggers. So the scripting of how non-quest items worked was closer to how hammer editor works. You have an object like a lamp or a button, if you go to the settings of this lamp you can make it work at different hours and interact with other items. For example, If you press a button a lamp and an alarm start. 

The item-specific scripts were quite easy to handle and after a while my brain almost pretended like it was Hammer Editor and it made it more easy for me. To script the quests I had to work with two types of Script documents. One XML like code(PSXL) that told the engine what item was important and where in the Level the item or the place was. The other was the text for every quest-item, dialog, way-point, etc. I had to combine these to make the quest and the quest specific triggers to work. 

In the end it was a great learning experience for me, to be able to try and use the skills I had from C# and Visual Scripting to a new language was challenging and I think I made both the item and quest-script immersive and fun. 

kkl.gif

Level Design and Co-OP Thinking

When I was iterating on the level and the design of the level I focused a lot on how I could force the players to do certain missions and understand certain parts of the quest on how the environment and enemy was placed. I wanted the design to speak for itself meaning no decal arrows in the game. 

DesignZombie.png

With this in mind I focused a lot on gathering the group of players in Safe-zones and Choke-points. If you play CO-OP you always want the players to meet up at certain points where the map is narrower. I made my level in three segments with two choke-points in the end of part 1 and 2. Later on in the development when the main quest was finished and I had more knowledge of the level the idea with the three segments was still rolling but there was no good way to use it since I had no big side quests the players could stock together all the way during the play testing. Despite this I was really satisfied with how these choke-points could reveal new environment for the players to give them a wow-feeling every time they went through each choke-point. 

Another issue that I had to deal with because I had so many open spaces in the level was how the AI spawned from the triggers. I did not want the players to see the zombies appear from nowhere so I had to consider angles from different positions and also the range of the AI. I solved this by having pillars and props to cover certain areas and normal zombies to cover the areas from where the triggered zombies spawned. 


Making the levels playable during Night and day

A big trial for me during this project was to get the environments to work both during night and day, It was the first time I designed a day and night cycle. This was challenging as some lights or items that could be used to lead the player in the right direction could be difficult to spot at certain times, making the design flawed.

In my work process I tried resolve this early by placing point lights and scripting active lights during night-time only. After working around this for a bit it got more balanced for me to be able to do this in different areas, and in the polish phase of the project I think I hit the balance through the full level. 

TrainStationRainGif.gif

Final Thoughts

The goals I set making this level was low from the start but in the end I exceeded my expectations and greatly improved my level design. Thanks to much iteration I expanded my level and my knowledge about the dying light editor. In my design I tried to add all forms of game-play from dying light, I wanted to create a contrast to the player from both adding high combat, chasing and events to just plain exploring.

The difficulty I set for the level from the start was easy and simple but I changed it once I got to know what I could do in the editor. I also managed to optimize the level with a good all-round FPS in the level only with some hints I got from some online forums. However the two things I'm most proud of is how I managed to handle the day and night cycle and how the pacing in the level in contrast to the events and quest worked. I feel like it showcases my strengths as a designer. Another thing that made this experience really positive for me was all the feedback and downloads my level got from the small community, with more than 7000 views and 1400 subscribers on a game with average 3600 players is just incredible. 

I think that the flaws in this project come from how the layout of the level works. Since I had four weeks to do this I had to think and plan closely. The level for CO-OP works if you are two or three but if you are more I think the level would be flawed and require more side-quests and exploration to work. I only did play-tests with three people. After the level has been out on the steam community for a while, I will change the level and look closer to the feedback and I would probably build a bigger level and tighten up my current quests and scripts. I'm happy with the level and my project and would rank it high on what I've achieved at The Game Assembly. My goal when I do some rework on the level will be that it should be the most played and liked level in the dying light community.



Niklas Briselius © 2022 | briselius@hotmail.com