Skip to main content

My CD Projekt RED story, part 1

My CD Projekt RED story, part 1

When I joined CD Projekt RED in October of 2015, I was positively thrilled. I did not expect to be given this opportunity with only 9 months of previous game development, or rather games testing experience. But there I was, joining one of the most acclaimed gamedev teams in the world. I was hired as a QA tester in the heat of the Hearts of Stone expansions certification process. My first contract would be a 3 months of probation. I was offered around 1600zł, or roughly $400 a month, which was less than I previously made at one of the Warsaw’s test labs. I figured the limited savings I gathered would see me through those financially rough 3 months, so I accepted the offer.

Getting to work

I was immediately thrown into deep waters, but with the training help I received from my leads I was slowly learning the tropes of the trade of in-house testing. I had no previous experience with any game engine, let alone one of such complexity as the RED engine. Often times I found myself laughing at just how right I was, when during one of the recruitment interviews I openly admitted I had no idea what I’m getting myself into. There was so many things I had to learn on a daily basis I would come home exhausted, but happy. Time flied pretty quickly in the heat of certification, and soon I found myself finishing my probation. I did well enough to have been offered to stay for another 9 months, after which I would be offered a permanent position if everything went well. I was happy to hear my leads were satisfied with the progress I was making. The only problem was the money...

Financial struggles...

The next 9 months I was to continue earning exactly the same as before. I quickly realised my finances would not allow me to afford working at CD Projekt RED, regardless of how much I wanted to. The rent of on my single room cost me around 750zł or ~$185. Adding to that the cost of food, public transportation and my mobile bill, I would basically have to live like a hermit to make ends meet. I didn’t want to leave without at least trying to discuss my predicament with the leadership of the QA team. Knowing that both audio QA testers were about to join the sound design team soon, I saw my chance in filling the void that would be left by them. I was always very passionate about sound (I studied music performance officially and composition after hours at the University of Music), so I figured my natural inclinations should help me land the position. I discussed the matter with the QA lead and he agreed the best course of action was to get me embedded into the audio team as their QA analyst, which would place me in a good position to be promoted faster than the company normally allowed at that time. Since this was a clear win-win situation for both sides, I was soon officially promoted to a junior QA analyst position and continued to grow in the direction I was always the most passionate about - the audio. The promotion came with a small but a life-changing salary bump. I would now earn around 2200zł or $550 a month, which was my new record. From what I heard, this is the kind of money QA testers could expect right from the start in late 2018. Now, it was nothing to write home about. I was 26 by then and could not afford renting an apartment of my own (the cost of a single room apartment in Warsaw is around 1700zł, or $420, unless you are into living the Soviet dream). So I continued to live in a small 10m2 room in a flat I shared with some people I met through the power of the Internet. But hey, at least I could take my girl to a restaurant once a month! Regardless of the financial struggles, those initial experiences have made me fall in love with the company. The QA team leaders I worked under were the gold standard any team leaders should strive for. I was very fortunate to had worked with them and to had received their support. They helped me, their underwing, in my professional development and didn't prevent me from pursuing my goals. I would certainly not be where I am today if it wasn’t for them. What followed next was what could be described as my golden age at RED.

Blood, wine and crunch

I was the sole person responsible for assuring the quality of audio in the 2nd Witcher 3 expansion - Blood and Wine. I threw myself at this task immediately. I worked closely with production on setting the right quality goals and making sure visibility over the audio teams’ progress was as accurate as possible. I would arrange small ‘swarm tests’ closer to the final deadlines and plan out test cases other testers would help me go through. All that time I was steadily gaining the esteem of my more experienced colleagues. I set very high standards for myself, always trying to not only report, but also debug any bugs or issues that would get thrown at the audio team. This meant I was very quickly learning all the intricacies of the inner workings of game audio playback. Soon, I was able to debug more complex implementation issues than the junior sound designers.
Now, I’m not writing all of this to brag. All I want to point here is that I was at a peak of my learning capacity I’d never known I would be able to get to. I was thriving thanks to all the opportunities I was afforded, and I intended to make the best out of it. I was what could be described as the dream employee - always diligent and meticulous, willing to stay at work as long as it took to meet the goals the audio team was pursuing. At the height of the Blood and Wine development I would work 7 days a week, sometimes staying for as long as 13-14 hrs a day.

The fate of the post-production team

All of this worked pretty well, except for the usual flood of audio content towards the final deadline. At CD Projekt RED, the audio team was always treated as a post-production team. We even shared the same producer with the lightning and VFX teams to make this point very clear. Thus, the audio folks would very often be excluded from the meetings that would affect their work. It felt as if we were all standing at the foot of the Hoover Dam, recording some bird sounds here, listening attentively to the rattle of the leaves in the wind and all of this knowing that at some point, the gates will be open and the flood of content will fall onto us without any chance of stopping of avoiding it. Other departments would open a floodgates whenever they felt their content was ‘safe to work on’. The idea is not a bad one in it of itself, but the way it worked for the audio team meant we would enter a gruesome crunch in the final months leading up to release. The issue was amplified by many other teams’ work being planned without the slightest consideration for the audio content.
The in-game scenes or cut-scenes would not be time-locked in any way, making it pointless for us to work on them, unless we wanted to constantly resync or redo our assets. The environments would be shifted all the time, breaking our ambience areas placement if they were placed too soon. Worst of all, because all of these audio assets would not be in the game up until the last weeks before the gold version of the game, there was no way of strain-testing audio performance. This was a huge problem that resulted in us being unable to fix a very severe audio bug that would cause certain audio assets to drop out completely during gameplay. In the end, the audio team simply run out of time and we had to ship the game with this embarrassing bug. This experience had a profound effect on me as a person responsible for the quality of sound. Even though nobody has ever blamed me for it, I regarded this my personal failure and I have vowed to myself to never let this happen again. I quickly decided I have to work even harder than before - to learn more and to fight for the representatives of the audio team to be involved in the design of as many aspects of the game as possible, right from the get go.
Join me next time for:
  • The first encounter with the ‘Witcher 3 saviour syndrome’
  • Helping out with Gwent
  • Catching the programming bug
Part 2

Comments

Popular posts from this blog

Float precision and Time in Unity

Float precision and Time in Unity Recently, I was tasked with addressing an interesting issue that occured in a Unity game. After the game run for about 2 days, it virtually stopped streaming in map assets during world locomotion. Assets were streamed in with a huge delay (up to x-teen seconds) and it simply wouldn’t do. After finding out what caused this strange bug, I thought it would make an interesting article to share with you. Both the problem, and the process of finding its origin were quite an interesting experience. Debugging Since the problem only occurred after at least 2 days of ‘soaking’, I knew time is going to play a role here. I started investigating the issue by looking at the custom streaming code used in the game. It consisted of a bunch of asset loading and unloading functions, called every tick. At the start of each tick, before calling the functions, the code would cache the current Time.realtimeSinceStartup, which is a timer managed by the Unity engine tha

Array property customization in Unreal Engine 4

With the drive towards as much data-driven gameplay as possible, there comes a need for easy to edit and nice to interact with data assets that can accommodate all that data. While Unreal Engine 4’s UI framework allows us to display a wide range of data structures, its default handling of nested properties can quickly result in deeply nested structures that need to be expanded in order to edit them. This can really hurt productivity in some scenarios. Fortunately, we have the ability to fully customize how our data is laid out. While there are nice tutorials all around the web that explain how to customize our custom classes and structs, I’ve not been able to find an article that would explain how one would go about customizing how collection types display their data. In this article I will describe how to customize the display of an array property in UE4. I will follow it with the one for customizing maps display in the near future. Defining the issue I intend to explain the pr

My CD Projekt RED story, part 3

My CD Projekt RED story, part 3 We are now 2 years into my CD Projekt RED adventure and so far, it’s been mostly smooth sailing. I got promoted to a QA Analyst position, an equivalent of a specialist position for developers. I was earning around 2600zł or $650 per month, which would sometimes go as high as 3500zł with additional crunch pay. At this point I felt fairly rewarded for my efforts and could even start planning my wedding. I also received the first bonus for my participation in the creation of both Witcher 3 expansions. This amounted to roughly 13.000zł or $4250, which was an amount of money I had a hard time wrapping my head around. I still lived in a single room in an apartment I shared with other people, but at this point it was mostly my own choice. I’ve had my own wedding on the horizon so I needed every coin I could save for the occasion. Getting out of QA It was during that time that I decided I want to transition away from doing QA work. I approached the audio te