I don’t remember what I did wrong when the bullet hit the back of my head.

There are ten things going on at once, and I suppose that the cover I was relying on wasn’t quite as effective as I had assumed. I died, the game took a second to find my last checkpoint and it placed me back in the world.

That’s when I noticed that I had lost close to 30 minutes of progress in the game. I would have to fight across two large sections of the map, climb into the tank again and slowly retake the building to get to where I was. Instead I turned off the system, put down the controller and went to bed.

Bad checkpoints kill any and all interest I have in games, and replaying large sections of a level due to the developer’s inability to use them well is infuriating.

It’s 2014, why aren’t checkpoints a solved problem? Why does this keep happening?

What makes a bad checkpoint

"I cannot tell you how many times something has seemed simple to me, and I’ve talked to my engineering department and discovered it’s drastically more complicated," Brianna Wu, the head of development for Giant Spacekat, told Polygon.

"Checkpointing is one of these things that’s simpler in theory than it is in implementation. The reality is, you’re trying to balance many competing interests," she said.

Bad checkpoints ask players to replay large parts of the game due to their death or failure in some task, and this can lead to frustration and anger, up to and including someone putting the game down for the evening. They may or may not come back to it. Many developers look for checkpoints during testing.

"So we’ll focus test a game and we put in enough checkpoints that we feel are good for us, but sometimes we’ll test and be like, ‘Oh, someone got stuck here a little bit extra longer,’ or ‘They lost some progress a few too many times, let’s see if we can put one in there.’ That’s kind of the rule of thumb I think we go by," Benson Russell, senior game designer at Naughty Dog told Polygon.

Andrew Dovichi is a level designer at Crystal Dynamics and he echoed that feeling. A good checkpoint should be invisible. The players don't think about them when they work and allow for forward momentum. We only pay attention to checkpoints when we're frustrated or we feel as though they've failed to save enough of our progress.

"One of the most important goals that we all strive for is making the game as enjoyable as possible. This obviously means not giving the player a reason to throw the controller down in frustration. Not many people are willing to dive back into a game after they’ve lost an hour of progress," he explained. "For this reason we spend a great deal of time testing our checkpoints."

Developers know why some checkpoints are bad: They cause you to lose progress, replay a part of the game you’ve already finished and cause frustration and anger on the part of the player. Everyone I asked was clear on what makes a bad checkpoint, and they're easy to spot when playing. The next question is much more complicated, and it gets very technical, very quickly.

Why do games have poor checkpoints?

Why this isn’t easy

Checkpoints are a part of game development that players take almost entirely for granted. Every badly designed checkpoint leads to frustration, and then we wonder why the designers behind the game decided to make the checkpoints bad. It’s 2014, surely they know where and when to place a checkpoint to avoid these situations, right?

It turns out checkpoints are both a creative and technical problem, and using them well takes time, effort and budget.

"On the creative side, it is extremely important for the checkpoints to be set up as early as possible in the development of a level. We drive a lot of our events and behind-the-scenes loading using checkpoints," Dovichi said.

"By bookending each level beat with a checkpoint, it keeps our levels more organized and helps ensure that everything loads in as expected. Our in-house tools are fantastic, some of the best I’ve ever used, and adjusting checkpoints at the most basic level is incredibly easy," he continued. "As development goes on however, checkpoints have a lot more dependencies tied to them than when first created. A seemingly innocent change could break the entire level, so you always have to check your work."

Dovichi said there were two hard rules when creating checkpoints for the latest Tomb Raider: There would never be a save point when Lara Croft was in a combat state, to avoid loading a game only to be killed instantly, and there should be a checkpoint at the beginning of each area so players wouldn’t have to replay a portion of the game they had just finished, or an area they had just left.

Once those two conditions were met, checkpoints were left up to the discretion of the level designer. Crafting checkpoints by hand leads to interesting notes about the rhythm of the game play, including the idea that cinematic sections of the game require more checkpoints, not fewer.

"A seemingly innocent change could break the entire level, so you always have to check your work"

"While large parts of Tomb Raider were more expansive with multiple routes to a destination, we also built a number of high action, cinematic style set-pieces that were linear," he said. "They are very exciting the first time you play them, but the thrill can drop off sharply if you have to play them repeatedly. We were very liberal with our checkpoint usage in those spaces specifically."

Cinematics also play into the spacing and use of checkpoints. A well-done animation can be thrilling the first time, but it loses impact if you have to watch it again and again. The worst result is a player jamming on the buttons to try to skip the video. These sections should be enjoyable to watch and move the story along; bad checkpoints can turn them into annoyances.

Crystal Dynamics also took pains to make sure the player didn’t lose much progress when they died, so any collectibles and relics Croft picked up would cause the previous check point to be updated. If you died and had to go back to a time before you picked up the relic, you still kept it to avoid having the player make the side journey over and over. The checkpoint, it turns out, isn't static. It can be updated and changed to avoid frustration on the part of the player.

Constant checkpoints, and adding them by hand

The Call of Duty games handle check points very well, and Naughty Dog’s Benson Russell asked a co-worker who used to work at Infinity Ward and Respawn how they handled their save points.

"They had a system that just kept trying to save the game. And it checked a whole bunch of parameters, ‘Ok, are you being targeted? Have you taken any damage? Are you being shot at?’ Just this whole list of parameters and when it satisfied them it said ‘Ok, I’m going to mark this point in history and save all the data. But I’m still not going to consider that an official save for the player yet.’ It had to wait, you had to go at least another five to 10 seconds, meeting those conditions, and then it would validate that save, and put it off to the side," Russell explained.

"And then there was still an emergency condition that said if you respawned and died within like five seconds or something like that, because it always would straddle save them, you’d have like two different auto save points, it would say ‘Oh this one’s bad? Let me go back one.’ And it would automatically pump you back one, then you could always do like ‘restart encounter’ or whatever to go all the way back to beginning of a section," he continued.

Think about that the next time you’re playing Call of Duty: The game is constantly trying to satisfy a set of parameters in order to give you the best possible checkpoint as you play. It’s also building in redundancy to make sure the save point used by the player won’t break the game. This is the sort of work that goes into a good checkpoint, and it’s neither simple nor visible to the player.

You just know the game is fun to play. You only get mad when things go wrong. Naughty Dog spends a large amount of time making sure that doesn’t happen.

The technology in games such as Uncharted isn’t based on a "save anywhere" model, as every checkpoint has to be added by hand. This became a large problem during larger, stealth sections of the Uncharted series. If you took 20 minutes to kill two people because you’re sneaking around, and you die and have to do it again, you’re not going to be happy.

"Because we don’t have a save anywhere system, and the way we had to set everything up manually, it was not possible for me to do a good checkpoint of, like, every time you killed someone, save the entire state of the game. So, that was a big problem," Russell said.

This has a direct impact on the player: If they’re getting tired of failing during the stealth section multiple times, they may just give up and decide to go in with their guns blazing. Having a player "settle" for a style of play they don't prefer to avoid replaying a large section of the game doesn't make sense, and it had to be fixed.

"So for The Last of Us, we actually came up with a hybrid system where we saved a little bit more data with regards to AI positions and their brain state. Still wasn’t a full save anywhere, and then I had to do a lot of trickery to match up the state of the script to [the location of the player]," he explained.

"So it was this really interesting dynamic of, so for example on the stealth sections, I had it so that every time you stealth killed a guy, I executed a save from my perspective. But that would involve setting a bunch of global variables, it was a combination of global script variables with information of where guys were in the world and whether or not they’d seen you or not and a couple of other things," Russell said.

He described this system as a "giant ball of complexity," and said it was one of the hardest things to understand and use well during the development of the game. The trick was having all the scripts going on in the game match the state of the game at the save point.

"It benefited the gameplay like crazy but, it was a pain in the ass from our perspective," he said.

He estimates there were around five areas of The Last of Us that required this level of micromanagement when it came to checkpoints; these are the large areas with multiple enemies that require time and stealth, which means the game had to place checkpoints during that scene to avoid player frustration and their possible abandonment of the stealth mechanic in order plow through the section.

It's not an easy process, nor quick. Russell brought up the bookstore in Hunter’s City to explain just how tricky this work could be. "It was easily two weeks to get that thing working the way you need it to so that you could be able to save the game anywhere and make sure it wasn’t buggy and that we got all the little kinks out of it from like the script side of it. Our system was that complex," he said.

Two weeks, for the checkpoints in a single portion of the game. None of these approaches to checkpoints are simple, and each one requires some aspect of insight into how players enjoy each game. Tomb Raider was created using well-constructed tools and an eye towards good use of the save points. The Call of Duty games constantly look for good checkpoints. Naughty Dog spends time and effort making sure the checkpoints work as well as possible.

So what leads to bad checkpoints? "Time is the biggest factor here; sometimes an issue with a checkpoint isn’t found until it is literally too late to fix," Dovichi said. "Thankfully, with patches, we’re able to address most of the issues found after release."

"Think about it. If your play testing shows players are continually dying at a certain point, you may simply not have the time or budget to add a new save point into the system, create all the flags to make it load correctly, and separate out the level loads," Wu explained. "Ideally, you make the time for it. But, it’s something you can only guess at." She said that she'll play through each section of the game at least 50 times during development. "The truth is, you lose all perspective of how a normal player will react to it. This is why QA is so critical."

Avoiding frustration on the part of the player takes a large amount of testing, flexible tools and the ability to tweak checkpoint placement as the developer receives feedback. There's no "right" way to do it, and it's more art than science. Perfect checkpoint placement may be one of the things that are cut if a studio is struggling to hit a milestone, or is struggling against its budget. The main takeaway is that creating good checkpoints is much harder than you think, no matter what game you're playing.

"I get mad at it as a game designer too, where I find those games where I’m like 'Really? You couldn’t just keep that stuff loaded in memory, you’re gonna make me wait 10 seconds?' Or, like, I’ve had the same problems where, 'This is frustrating. Why can’t you fix this?'" Russell told Polygon.

"But then again," he said. "I know on my side, yeah it’s probably nowhere near as easy as this sounds."