Switching Tracks With Dying Light

Dying Light is one of those games that you simply don't want to put down. Nearly every night since its release, I keep making a promise to go to sleep after X happens only to break it again. While this can be really frustrating, particularly at two in the morning, it speaks a lot to how great this game is. What I would like to do is present a few things that, to me, have been real game changers.

Crafting Done Right

If any of you have been listening to the podcast [insert shameless plug of podcast here], then you know that I LOVE! this crafting system. First, the different types of resources seem to be very balanced. There are enough types that I don't feel like I'm using the same items repeatedly, but at the same time there aren't so many of them that I have forty different resources and can't make a single thing. So far in the game, I have found roughly twenty things to craft with. These resources are mostly available throughout the map, either hidden in containers or in the case of plants, out in the open. I have never really been without a wide assortment of resources, and with the exception of some plants, they can all be used in multiple blueprints.

Which brings us to the next item: blueprints. Other games refer to them as recipes or spells; Dying Light calls them blueprints. A blueprint is an instruction manual on how to build something. Once you have a blueprint, you can make whatever is described with it. Blueprints can allow for the creation of three types of items: weapon buffs, potions, or equipment such as throwing stars, shields, flammable liquid, etc. What I find to be great about these blueprints is the way they allow you to really change how the game is played. For instance, in a pinch I can decide that I want to make a few impromptu traps using flammable liquid and some Molotovs, craft them up, and set the world on fire. In the same scenario, I might choose to go another route by making conductive liquid and placing an electric buff on my current weapon. It doesn't take long to see just how creative this allows players to be.

One quick note that I have to add  before moving on: the potions are equally as great and add a lot of fun to the game when used correctly. Ok, moving on.

Weapons are Temporary

Having weapons degrade while using them is not a new concept for games, but Dying Light takes this concept and makes subtle changes that really add to the overall gameplay. In Dying Light, you can only fix a weapon so many times before the weapon can no longer be repaired. This means that any weapon, including the buffs and upgrades made to that weapon, will only be used for maybe thirty minutes of gameplay depending on how heavily you use it. If this sounds frustrating, it can be. However, it also causes a player to never get too attached to a weapon, which is a good thing.

What I have found while playing Dying Light is that when one of my weapons can no longer be repaired, I re-evaluate my playing style. While I could probably craft a similar item to the one I just had, I often find a better combination of blueprints and equipment that I can use. This causes me to evolve my playing style, and I like it. One of the issues that Jordan brought up in our Dying Light video [insert shameless plug for Dying Light video here] is that it's really easy to get bored with a game. I agree. I wouldn't necessarily say this is because the game lacks content or isn't fun but rather because of the way a person plays the game. Even though there may be a wide variety of content, if you never switch tracks to experience it all, you will quickly get bored. Dying Light encourages you to change tracks by destroying the track you're on.

Adds Up to Seamless Gameplay

While I think there are more things that set Dying Light apart, I want to settle on a point to which I think all the other things add up. Dying Light is a series of mini-stories that are all tied into a larger story with seamless gameplay. From the weapon creation to resource gathering, from storyline to running for your life and ultimately just surviving, this game is a blast to play. It's obvious from beginning to end that Techland cared about making this game as well as they could, and they succeeded.

How 343 Ruined Halo

Halo: The Master Chief Collection was a great idea, with poor execution. I have already ranted about various problems here, so that I can take a more level headed approach to this post. The goal of this post is to provide constructive criticism that I believe should be applied for future Halo releases.

My Background On Legacy Code Maintenance

The opinions that I am going to express in this post are thoughts that I have gathered through my own software development experience. I have worked with multiple code bases that I did not write, multiple different managers, and seen how the business side of my employer works. Through those experiences I have taken note of problems that I caused, and my collective team caused, that I think map pretty well to things we have seen in Halo: The Master Chief Collection. No one is perfect, but we also never improve if we sweep problems under the rug.

For the programmers - Take more time to learn your codebase.

Working in code bases that you did not write is a hard thing to do, and making all of those code bases work together is even harder. This makes Halo: MCC a very difficult problem to solve. Not only are you trying to adapt all of the individual games to use next gen APIs, but you are also trying to wrap them all up into one seamless experience.

Early in my career I had the opportunity to work on a similar setup. The technology was iOS, we had six apps, using one framework, and my team was supporting/improving all of them. Most of us were newer devs and none of us had been there for all of the app development. Over the next year I learned just how tough it is to manage and expand a codebase that was not your own. In the end I walked away with one rule. Never make a change to a system that you can't fully explain to another person.

I learned this lesson the hard way, as I would imagine many of 343's developers are learning now. Nothing is worse then when you make a change to one area of the codebase and it breaks a seemingly different part of the codebase. This happened to my team more times than I can count, and it almost always stemmed from not understanding exactly what was happening in the code. The tough part about this is finding time to learn the code when superiors do not understand why something is taking so long. My suggestion is to be upfront and honest about how long it takes you to learn. A good manager will understand that this time is needed. A bad manager will not. Ultimately I am much happier to tell my manager I will need more time, then see my code fail out in production.

For the Project Manager - Protect your developers

There was a subtle but profound truth in the paragraph above, a good manager understands when things take longer. I believe this to be one of the central roles of a project manager is to be a fair translation between the business of a company and the developers. The business says what it needs, and when they want it. The manager translates this into manageable pieces for the dev team. The dev team communicates progress back up to the manager. The manager works with the business to figure out what to do.

In simple words this does not sound too bad, but we all know that each layer of this process piles on the stress. Good managers know how to handle that stress. Most managers do not. The key here is transparency. Transparency is not shifting blame. Transparency is not hiding bad news to make the business happy. Transparency is being honest when bad things happen. If the devs are falling behind, be honest with the business. If a developer is struggling, come beside them and give them support.

This obviously has limits. Sometimes developers need to be let go. Sometimes the business needs to be told it can't be done. You get paid the big bucks to make those decisions.

For the business - Even the best laid plans can fall apart

The business is all about money, and thats the way it should be. Honestly, thats their only job so if its not about the money then you aren't doing business. Now lets take a look at the business of Halo: MCC.

The MCC idea is simply gold. Package up four of our favorite games, bring them to the new console, and sell them all for 60$. Wait there's more! This was a great idea for selling consoles. It was a great way to deliver the Halo 5 beta. It was a great way raise hype for Halo 5 in general. Most importantly it was a great chance for 343 to recover from Halo 4.

For all of these reasons it is easy to understand the struggle they must have gone through when weighing out whether or not to delay Halo: MCC. For what its worth, I wouldn't have wanted to make that decision. Its also tough to retro-activly make this choice, because I'm sure that no one thought it would be this bad. However, it is this bad.

The real question that I would have asked myself when trying to make this choice is whether or not you gamble with the Halo franchise. The easy answer here is no. You don't take any chance at ruining something that when handled correctly should yield at least three more games. The reason you don't gamble with it is because many of us Halo fans already felt a little used. This was supposed to be the redemption game, and I fear that a lot of us won't be betting again.

Kenny Rogers said it best: "You gotta know when to hold 'em know when to fold 'em".  I can't blame the business for making the choice they did, I may have done the same thing. Now they have to be willing to take the heat when fans don't just roll over and take it.

So Who am I mad at?

I have tried over the past few sections to be fair and level headed. Now is the time for a little rant. I described three different rolls in the software development process. The truth is that each one of them deserves some blame, but at least one of them has failed beyond understanding. Either the developers have written too much bad code, and can no longer fix things. The manager was not transparent and failed to lead. Or the business had unrealistic expectations and couldn't make the tough calls to delay the game.

In any or all of these cases, Halo has been tainted, and is no longer what it once was.

Just Some Ranting

Halo: The Master Chief Collection is an interesting beast. I'll have some better thoughts on it in a later post but I had to give an example of what we dealt with on a daily basis. I get to play over my lunch hour so the following is description of the lunch playing experience we had on January 5, 2015.

We got off to a good start today when all three of our XBones connected on the first try, which is a rare feet. We then got to play a game of capture the flag! We could all hear the other team in our headsets but we are gentelmen and try not to listen too intently. Unfortunately the game can rarely remember our settings for game types so our one flag game only had two rounds instead of four. Oh well lets just fix the settings and start another game. Another player jumps in so its time to change teams. Thats easy, just press X, then navigate to your player, press A, navigate to change teams, press A, choose your new color, press A. If you were searching for the most ridiculous may to change teams, you found it!

We then start the game in hopes that everyone is ok with the teams, because our mics aren't working again. Game starts, and the first player on our box can't move. Try turning off the controller then back on, no luck. Ok I guess we can end the game and start over again. Oh wait, the only person who can end the game without the whole party disbanding is, you guessed it, the first player, who's controller was not working. Now we have no choice but to leave the game, the party will disband but we all got together without trouble earlier so hopefully it won't be too bad.

Fast forward through ten minutes of session time outs and restarting XBone's and we finally have the whole crew back again. We started a two flag game on Coagulation which we even got to finish. Then a thought hits us. This is MCC, we can quickly switch over to Halo 3? We switch on over, make new teams, start the game, and we are all ready for some 5 vs 5 action. Oops, it looks like Halo decided the teams weren't fair and things would be better if it were 4 vs 6. This won't work so we end the game a go back to the lobby. Oh come on! Where are the other guys? Halo kicked us all out into separate parties. Finally get some of the players back and lunch is almost over so lets play a quick 3 vs 3 game. Oops, Halo 3 thought 5 vs 1 was more fair, lets try Halo 2 again. No problem setting up this game except that when it started we couldn't hear one of the players from the other XBone, at this point, who gives a BLAM!