daysgonebanner.jpg

Tool Development and Maintenance

Days Gone is a big game, bigger than anything SIE Bend Studio had ever done before. As such, there were a number of growing pains when it came to figuring out just how to manage developing a game of this scale. While this was my first professional project as a game designer, these issues soon became clear to me. At first, given my immediate gravitation towards the game’s progression, I was tasked with maintaining a previously existing tool called the Demo Jump Point System that allowed us to jump to various portions of the game on the fly. However, it was after growing more comfortable with the game’s engine that I started tinkering with things called Blutilities: an experimental system in Unreal Engine 4 that, among other things, let you run blueprints in editor. I immediately was enamored by the possibilities and set off to create a set of highly effective tools I call Grabbers.

Imagine taking on hordes with a few shotgun shells and a small pistol.

Imagine taking on hordes with a few shotgun shells and a small pistol.

Demo Jump Point System
The Demo Jump Point System was an in-game tool that I did not create, but helped update and singlehandedly maintained. With well over 40 hours of gameplay with a game featuring a plethora of choice in skills, equipment, bike parts, etc.; it was time consuming for designers to give themselves the proper gear with which to test their content. In fact, most opted to stick with the shotgun/pistol/knife and no items build of the game’s starting Deacon in order to test even endgame content. Naturally, this led to issues.

Where I came in was to make these jump points which featured a myriad of data: things like items, weapons, bike parts, spawn location, completed missions and jobs, trust and credit totals for each camp, skill load out, attribute load out, camp and nest clearance, bunker completion, unlocked recipes and more were all meticulously chosen for just about every mission and story beat. This allowed designers to test their content with multiple progression-appropriate load outs that better allowed them to understand how players would actually be interacting with them.

Grabbers
These tools, created by UE4’s Blutilities and maintained myself, were widely used by myself and my coworkers because of their incredible usability and dramatic efficiency. I made a number of these over the years as they were able to reduce the overwhelming complexity of developing an open world. While individual Grabbers were tailored for specific purposes, they all functioned in roughly the same way.

Days Gone is just too big to be without a method to organize, view and make mass edits.

Days Gone is just too big to be without a method to organize, view and make mass edits.

Chiefly, they would scrub loaded levels within the editor for assets of the type that they were designed for (think items, ambient events, spawn locations, etc.). These assets would fill an array, allowing designers to go through them via a numbered list more convenient than the Outliner. In addition to this ease of parsing upwards of dozens to hundreds or even thousands of assets, these grabbers would automatically create a string of relevant information depending on the asset being grabbed. For items, this included the name, blueprint name, location in the world, quantity in that single asset, quantity loaded as a whole, credit value, etc.. At the press of a button, all that information would be printed to the Output Log in a format that could easily be copy/pasted into a program like Microsoft Excel where it would automatically parse out data into the proper columns and rows.

This allowed us to not only have precise information at a moment’s glance but also allowed us to better understand broad strokes of where the world currently stood. Perhaps Belknap had a wealth of scrap compared to other areas, maybe Lost Lake was lacking in healing items, we once found that the two starter zones had half the amount of kerosene as any other later zone; whether or not these aspects of the world needed fixing or not was up to us, but at least we had a method of even knowing that that was the case in the first place. Additionally, this tool also enabled us to make sweeping changes where needed. An item is being removed? Just select all and delete. Ambient Events in Cascade no longer summon Ripper type enemies? Select all and replace them with marauders.

My initial tool was used to better our efforts of open world item population, but it quickly took notice and I was soon creating a number of these tools for different people and different purposes that ultimately shaved incalculable hours from our pipeline.