Prey: Debugging the Problem

By Shamus
on May 15, 2017
Filed under:
Video Games

You might remember my complaint from yesterday, where I talked about a bug that killed my Prey playthrough. I managed to solve the problem. What I found might also help all the other people experiencing strange broken quests triggersAt least on the PC. If you’re playing on a console you’re on your own. Sorry.. I don’t know. It turns out that (at least in my case) this is an issue with save data collisions between different games.

Note: This post is spoiler-free, aside from the names of levels and random screenshots of the first fifteen minutes.

Prey is pretty good in terms of PC creature comforts for a game of 2017. It’s got quicksave and quickload and they’re reasonably fast to useThis isn’t one of those game engines that purges EVERYTHING from memory when doing a quickload.. But it’s still a game of 2017, which means there are some console-minded design decisions impacting the interface. Specifically, you get three save “slots”.

Now, each of those slots can hold multiple saves. If you start a game in Slot 1, within that slot you can have multiple auto saves, quick saves, and manual saves. This isn’t inherently a bad system. If you and your little brother are both playing through the game, this system means you can both have your own games without the save files getting all mixed together. The “only three active campaigns at a time” limit is a little alien to my PC sensibilities, but whatever. It’s odd, but I’m okay with it.

Or I would be, if it wasn’t for the problems it caused…

Background

Prey has a helicopter ride as part of the intro, and it has the opening credits built into the city. It`s strange, but I really dig it.

Prey has a helicopter ride as part of the intro, and it has the opening credits built into the city. It`s strange, but I really dig it.

I said yesterday that I was starting my second playthrough. This is not technically correct. It’s actually my third. My very first game ended in failure.

My problem was that I was too greedy. I hate leaving behind locked containers, so I kept spending my neuromodsSkill points, basically. You don’t get XP in Prey. Instead, neuromods are simply collected in the world. Or you can fabricate them yourself if you’ve got the blueprint and the materials. on things to help me open more locked rooms and boxes. I put points into hackingI regret this one. The hacking minigame commits the dual sin of being both terrible and difficult at higher levels., into moving heavy stuffBecause often vents are blocked by heavy machinery, repairSo I could repair the elevators and broken doors to gain access., and enlarging my inventory so I could collect more crapMost of which was low-value junk that wasn’t worth the sacrifices I spent to collect it.. The problem is that I wasn’t really putting points into combat and survivability.

But Prey is a new game with old-school sensibilities, and in this kind of game you can’t get away with bullshit like this forever. Or at least, not until you really understand the systems well enough to get through with an underpowered character. It’s certainly an unwise way to play on your first trip through.

I’d been in a death-spiral for a least an hour. My underpowered damage output meant that fights took longer, which meant I took more damage, which drained my ammunition and healing resources. And yet I continued to spend all of my resources on building more neuromods instead of bullets, and I spent the neuromods on exploration-based stuff. I finally hit a wall when I got to the Deep Storage level and ran into a foe that was literally un-killable for me. I shot it with every bullet I owned (which wasn’t many) and hit it with every grenade I had, and it still wasn’t dead. And I didn’t have enough healing to run up and tank the damage while I finished it off with my wrench.

Maybe there was a way to stealth past itSpoiler: There is. The exit just didn’t look like what I was expecting and it was hard to see while being chewed up by the monster., but I couldn’t make it work. And deep down I knew that even if I pushed through this area with save-scumming, I could run into the same problem again five minutes later. Maybe I could beat it if I turned the difficulty down, but that would still leave me with almost no bullets going forward. No, this playthrough was done.

In a strange way, this actually made me appreciate the game more. I like that you have the freedom to make a broken character. Yes, it sucks to run into a wall like this. But the alternative is for a game to be built around a “no build is invalid” philosophy, which means that the game is kind of toothless and your choices are more aesthetic than practicalLike the BioShock Infinite system of “Do you want to kill people with lightning, or fire?”. For your build choices to be meaningful they need to have consequences, and I was simply dealing with the consequences of poor choices.

At any rate, I started a whole new game in the second save slot. I got to the end, had a fantastic timeWith a better build, better equipment, and better knowledge of the mechanics, that foe in Deep Storage wasn’t bad at all., and the next morning began yet another playthrough. Rather than using the third slot, I decided to re-use Slot 1. I mean, I’m never going back to that dead-end game, right? I don’t want to come back later and get all the different games confused. And why waste the space, right?

The Save System

Prey is what you`d get if you rebooted Groundhog Day as a cyberpunk thriller.

Prey is what you`d get if you rebooted Groundhog Day as a cyberpunk thriller.

As I said yesterday, the problem arose when I got to the area called the G.U.T.S. There were no enemies to fight. All the loot-able containers were empty. My quest log stopped updating. The allies stopped calling me on the radio. Suddenly the game was empty.

For the record, if you stick to the main quest then in this part of the game your progression will go like this:

Lobby » Psychotronics » G.U.T.S. » Arboretum » Crew Quarters » Deep Storage.

Yesterday I realized that “no monsters around, and all the containers are empty” is kind of a good description of what the gameworld looks like after the player has gone through. Remembering that I began game #3 in the slot replacing game #1, I wondered if somehow data from the two games was getting mixed together. I mean, it’s kind of funny that the problem arose just as I began to get close to where game #1 ended.

Checking in the Prey save folder, I did find some suspicious stuff going on. At the top level are three folders, one for each of your slots.


/Campaign0
/Campaign1
/Campaign2

So far so good. Under each of those is another folder for every save associated with that particular campaign. It might look something like this:


/autosave0
/autosave1
/autosave2
/manual0
/manual1
/quicksave0
/quicksave1
/quicksave2
/quicksave3
/quicksave4
/temp

The interesting thing here is that “temp” directory. It’s at the same level as the saves, which would imply it has information not tied to any particular save.

If we look inside any of these directories, it will contain a list of files, like so:


lobby.level
psychotronics.level
exterior.level
simulationlabs.level
arboretum.level
save.meta
save.csf

So there’s a couple of “save” files, which probably hold player data and maybe some global gamestate information, and then individual files for all the levels.

Prey isn’t a linear corridor game. The world is persistent and dynamic. You can make changes to the world, and those changes are maintained across level boundaries. If I drop a wrench in the lobby and move one of the chairs, the game will remember that. I can take an elevator to another level, then go through an airlock to another level, then go on a spacewalk to reach another level, and then go through another airlock to return to the lobby, and that wrench will still be on the floor and the chair will be right where I left it.

The trick here is that you can’t cram the entire world – all 14 or so areas – into memory at once. While I’m dicking around throwing corpses off the upper balcony in the lobbyDon’t judge me., the game can’t also be keeping track of where all the wrenches and monster giblets were back in Psychotronics.

That’s what I think the /temp directory is all about. That’s a running snapshot of what the rest of the gameworld looks like. It’s all the levels I’ve visited in the past. If I hit quicksave, then it saves a snapshot of the current level and player data into /quickslot0 or whatever. At the same time, it takes all those files from /temp and copies them into /quickslot0. That way /quickslot0 has a full image of the whole gameworld. If I go to another level, play for three hours, and then load some other save, then the contents of that save directory will be copied into /temp.

This is just conjecture on my part, but it seems a likely explanation.

The Problem

In one of its many nods to classic Looking Glass games, Prey has Stephen Russell (voice of Thief`s Garret) as Dr. Bellamy.

In one of its many nods to classic Looking Glass games, Prey has Stephen Russell (voice of Thief`s Garret) as Dr. Bellamy.

Looking at my save game folder, I saw that some files clearly didn’t belong. For example, there was an arboretum.level in a game where I hadn’t visited the arboretum yet. Even more suspicious was that the timestamp on that file was three days old, even though I began the playthrough the day before!

I deleted the suspect files and fired up the game to find out it was still broken. I looked in the saves directory to see the files had mysteriously re-appeared. Steam cloud save had noticed these files were “missing”, and helpfully restored them from backup.

Here is what happened to me, which should also work as repro instructions”How to reproduce a problem.” if by some chance this is read by someone who can solve it:

  1. Begin a game. Play through more than one area. Exit game so that Steam cloud takes a snapshot of the save folder.
  2. Begin a new game in the same slot as before.
  3. Before catching up to the previous game, hard reboot the computer without exiting the game. Just turn the power off or whatever. (My PC actually crashed.) This means Steam Cloud won’t be updated properly.
  4. After rebooting, run the game again. Steam cloud should make a mess of things. It won’t overwrite your new saves, but it will “restore” those unwanted files from the first playthrough.
  5. Continue to play. Eventually you should progress into the levels already cleared in the first playthrough and everything will break.

You probably don’t need to start over the way I did. Simply reverting to an earlier save might be enough to trigger this.

While Steam Cloud is involved in the crime, I don’t think it’s the guilty party. Other games can survive these sorts of mishaps without suffering from save-file madness. Steam is smart enough to not clobber new saves with older ones from the cloud. But Prey’s saves span multiple files, which means Steam cloud will restore missing files from the cloud, even if they’re supposed to be missing. Having said that, I don’t understand the rules of Steam cloud saves well enough to understand what Prey should be doing differently.

Maybe the problem is that Steam is restoring unwanted files to /temp, or maybe it’s restoring the files to /quickslot0 and /temp has nothing to do with it. I didn’t do the Steam integration of Good Robot, so I don’t know how you’re supposed to handle this. Maybe there’s a way to tell Steam, “No seriously, this file is gone on purpose, forget it”. Maybe you should have some kind of playthrough-unique IDLike the timestamp of when the player began this particular run. added to those level files and ignore files with mismatched IDs so different playthroughs can’t be mixed together like this. Or maybe just use the file timestamps to weed out ones that don’t belong.

For me the solution was to turn off cloud saves and delete all files older than the start of the game. This seems to have fixed the problem. I played all the way through to Deep Storage and the game seems to be behaving itself so far.

This not only explains my problem, it might also explain some of the strange broken quests people are reporting. In most games a buggy quest means that lots of people will have the game break at the same point. But if Prey is mishandling cloud saves in unexpected edge-cases (like if Steam is closed without properly uploading saves after a game session) then it could cause the more distributed chaos we’re seeing where no two people have exactly the same problem.

That’s my theory anyway.

Enjoyed this post? Please share!

Footnotes:

[1] At least on the PC. If you’re playing on a console you’re on your own. Sorry.

[2] This isn’t one of those game engines that purges EVERYTHING from memory when doing a quickload.

[3] Skill points, basically. You don’t get XP in Prey. Instead, neuromods are simply collected in the world. Or you can fabricate them yourself if you’ve got the blueprint and the materials.

[4] I regret this one. The hacking minigame commits the dual sin of being both terrible and difficult at higher levels.

[5] Because often vents are blocked by heavy machinery

[6] So I could repair the elevators and broken doors to gain access.

[7] Most of which was low-value junk that wasn’t worth the sacrifices I spent to collect it.

[8] Spoiler: There is. The exit just didn’t look like what I was expecting and it was hard to see while being chewed up by the monster.

[9] Like the BioShock Infinite system of “Do you want to kill people with lightning, or fire?”

[10] With a better build, better equipment, and better knowledge of the mechanics, that foe in Deep Storage wasn’t bad at all.

[11] Don’t judge me.

[12] ”How to reproduce a problem.”

[13] Like the timestamp of when the player began this particular run.


A Hundred!5105 comments. Quick! Add another to see if this message changes!

From the Archives:

  1. Da Mage says:

    I hate how steam saves takes 10 years to upload anything. I have it turned on for Fallout 4, and everytime I quit out it takes ages to upload. And while it’s uploading, steam won’t let me start any other games.

    I like what the system lets me do, but the whole thing pisses me off at the same time.

  2. MooseHowl says:

    Ah. Steam Cloud. Maybe it’s the Prey devs’ fault, but not having played Prey, I’d default to blaming Valve for this one. I haven’t had Steam Cloud enabled in years; it’s absolutely terrible.

    The nastiest thing it ever did to me: It used to reset all my custom hotkeys for Team Fortress 2. Every. Single. Day. I had to save the .ini file elsewhere, and re-copy it over every time I wanted to play. I’d thought the game itself was bugged and stupidly reloading its config from some hidden location, until I heard someone else complaining about Steam Cloud overwriting files and put two and two together.

    Valve couldn’t get it to work properly with one of their own games, so I can totally believe it would mess up someone else’s.

    • Kalil says:

      Every once in a while I’ll turn Steam Cloud on because I want achievements in a Paradox game.
      Then I’ll be reminded to turn it off by permanently losing my data in the next game I play.

    • ARW says:

      I actually had a similar problem with CS:GO where it would always lower my resolution (to default I guess?) and reset my audio settings. Just like you I thought its the options ini file resetting to default or something and it was maddening to have to switch it back every time I run the game. I didn’t figure out it has to do with cloud saves tho, I just stopped playing the game at one point.

    • My housemate lost an entire day’s worth of progress on his Grim Dawn character at one point due to Steam cloud. It’s a multi-player game a lot like Diablo III, so it has some sort of character registration thing going where if your session isn’t logged to the cloud due to connectivity issues or something else weird going on in the background, it “helpfully” deletes everything that’s happened to that character since the last time it was successfully logged.

      And never tells you that this is going on.

  3. Bruno M. Torres says:

    Shamus, seriously, you should post this to the Steam Forum of the game.

  4. Mephane says:

    I had to stop reading when I encountered the first screenshot:

    http://www.shamusyoung.com/twentysidedtale/images/prey2017_intro1.jpg

    Ouch, that is some rather terrible, absolutely-not-2017-AAA-release-worthy antialiasing. It’s most noticable on the letter P and the horizontal metal bars at the bottom.

    I still don’t know if this is a problem that is hard and has to be reinvented in any engine anew, or whether devs simply don’t care about it and think we don’t, either.

    • RodeoClown says:

      Pretty sure that anti-aliasing is from resizing the screenshot and pasting it onto a webpage. So whatever graphics software Shamus is using is far more likely to be at fault than a modern game engine…

    • Shamus says:

      Context: I turned off antialiasing. I did it for ages because it was the biggest performance boost for the smallest visual sacrifice. It eventually became a habit: Open new game, invert mouse, make sure crouch is bound to Ctrl, turn off AA.

      This was fine when I posted 800×450 screenshots, but now that my shots are larger and my graphics card can handle the load I need to stop doing it.

      I’ve just enabled AA, so future screenshots will have it.

      • Mephane says:

        I did it for ages because it was the biggest performance boost for the smallest visual sacrifice.

        Interesting. For me it is one of the biggest visual sacrifices I could make. I’d rather give up shadows and fancy lighting than have jaggies on every scene.

        • Paul Spooner says:

          For me, no AA is a visual signal to not take things too visually literally. Like big pixels, it says to me “This is a stylized digital representation”. In some situations, it can increase my enjoyment, though not if it’s hiding information.

          Plus your eyes have aliasing too, so you can’t really get away from it. Try looking straight ahead as you walk down a sidewalk and notice the stress-relief seams as they travel toward the bottom of your vision. The sparse rows of receptors in your eyes will make the seams appear to sweep and jump as they approach you.

        • ARW says:

          This is what I like about options on pc. Personally I really like having high res textures and good lightning, but I can live with crappy AA and shitty shadows. :P

      • kaljtgg says:

        I’ve been reading this blog for 10 years and I never knew you play with an inverted mouse, have you ever written a post about that? I don’t know anyone else who does.

        • JimO says:

          Indeed he did:
          http://www.shamusyoung.com/twentysidedtale/?p=5867

          It took me over 10 years after Wolfenstein 3D to break the “Arrow Keys for movement” habit. Including left and right making you turn (hold alt to strafe). Even with mouse-look I kept that setup – I’m pretty sure I beat the original Half-Life a dozen times with that configuration.

          • Alex says:

            Strangely enough I had muscle memory problems when moving from years of Tony Hawk games (3D) to OlliOlli (2D and different in just about every regard). This made me realize that my muscles respond not so much to what I see on the screen and more to what I want the character to do. Very frustrating.

          • Nick-B says:

            Oh my, that’s exactly what happened with me too. I would smack and hit and pound any game I played to remap the controls to the arrow keys. The later Battlefield games started reserving all kinds of keys nearby, such as enter for chat (no longer able to use enter for interact), and reserving HOME and END for social crap.

            In the end, it took me playing World of Warcraft seriously before I got used to WASD, and eventually moved over to using that for FPS games too.

            But games will tear my inverted mouselook from my cold dead hands.

          • Henson says:

            I think I picked up most of my key bindings from Dark Forces 2, which also used arrow keys. And even though I’ve mostly switched to AWSD in the last few years, I still play games like Mass Effect 1 with arrow keys. Weird.

          • ARW says:

            Fuck I played with arrow keys way into CS 1.6, I think that’s the game that made me use WASD instead.

        • Shamus says:

          It’s been a while. The origin story of my mouse-inverting ways was way back in 2008.

          http://www.shamusyoung.com/twentysidedtale/?p=5867

        • Duoae says:

          I’ve always been an inverted mouse look kinda guy. My mind just found it more logical: I pull my head forward to look down (move mouse forward) and pull it back to look up (move mouse back). I felt the same way with joystick.

          What’s weird is that I mostly don’t use inverted look on console game pads. However, I never could change my ways when using the mouse…

          • Echo Tango says:

            There’s a couple different ways to justify either way of doing mouselook.
            – like flight controls in an airplane (mouse forward/backward -> view down/up)
            – like your mouse is glued to the top of your head (mouse forward/backward -> view down/up)
            – like your mouse is pulling the front of the camera around (mouse down/up -> view down/up)

            My hunch is that the last one is what people will default to, if they don’t use very many different technological devices. Since they’ve already memorized “mouse towards my body = ‘down’, mouse away from my body = ‘up'”, and don’t spend a lot of time using different interfaces, then they’ll naturally feel more comfortable with keeping the “down” and “up” of the camera / viewpoint matching up with the “down” and “up” of the mouse.

          • 4th Dimension says:

            I’m an inversion of you. I use the mouse like the most people (back/forward = down/up) but since I did flight sims as a kid, my mind is firmly set on the idea that the sticks on the gamepad are joysticks so the view HAS to be inverted to work as a flight sim.
            The problem is that most games don’t support inverting the gamepad but NOT the mouse.

          • ARW says:

            I think this can come down to just how we have associated wired specific input devices and how we use them. I never use inverted look on a mouse but there’s some games on console controllers I will invert (usually anything flying or 3d movement). I think the game that trips me up the most is gravity rush 1+2 since I you jump between just 3rd person walking around and flying around in the air a lot, with the same control scheme.

      • Orillion says:

        Before that it was usually shadows. Turning off shadows in Morrowind was the difference between 10fps and a mighty 15!

        I used to do the exact same thing with AA, though. I think Half-Life 2 taught me the lesson that AA wasn’t worth it, and that habit followed me until just last year when I picked up an RX 470 and found that even with maxed out settings on just about everything I played (older games, mostly) it wasn’t even turning on the fan.

      • kdansky says:

        At some point I got annoyed at having hunt for the invert Mouse option, and I just relearned it. Only takes a few hours of feeling drunk: Totally worth it as it is the de-facto standard.

      • el_b says:

        you play with an inverted mouse? does that mean in flying games you play with a normal mouse? lol

        • Henson says:

          Actually, this is the very reason many people use inverted mouse: we learned it from flight sim games like Descent. And even though I played Tie Fighter with a joystick, as you should, I think it influenced my thinking of navigating a 3D space with a mouse in inverse.

          • evileeyore says:

            Inversely I switch back and forth between inverted and regular as the individual games need.

            But I vastly prefer using a stick for flight sim games, like Mechwarrior…

      • Lanthanide says:

        AA used to be a big performance-hog, because it used simple algorithms to achieve it (render everything at 4x resolution then resize it down, or render the scene twice and average).

        But AA hasn’t worked that way for years and years (since 2010 or so?).

        http://www.tomshardware.com/reviews/anti-aliasing-nvidia-geforce-amd-radeon,2868-2.html

      • GTB says:

        I also turn off AA in everything I play. And I bind crouch to CTRL. And I make sure its not a toggle style crouch at the same time, if I have the option to turn that off. I grew up playing match after match of MOHAA and those are the keybinds I use for basically everything if I have the option. I also rebind “use” to “E” if its not already.

        I prefer the way games look without AA. AA looks smeared to me in most games, I like very sharp edges, and I don’t mind jagged pixels.

        I always turn off bloom for similar reasons.

        • ARW says:

          Fuck bloom honestly, and fuck depth of field. If you already made this expensive gorgeous looking game, why hide it behind massive amounts of unsharp picture?

    • ARW says:

      Have you seen console games mate? Its just a demanding option and devs tend to be lazy when it comes to optimization. And as Shamus said, since its demanding its a big boost to just have it on half or off.

  5. CrushU says:

    And this is one of the reasons I keep reading this blog.

    This problem solving is delicious for me to consume.

    Seriously, good job.

  6. Falterfire says:

    [DISCLAIMER: all of what follows is about the one section spent talking about the actual game rather than the actual point of the article, because I’m an awful reader]

    I’m not sure I agree with you about allowing the player to effectively brick their own save being a good thing. Or, more accurately, I don’t think it should be possible to brick your own save *on accident*.

    I, as a new player, have not played the game before. I don’t know what is going to be expected of me and what skills the game is going to require. I am therefore forced to trust the game’s developers and the design of a game. If there is a skill called ‘swimming’ and I can put points into it at the beginning that I can’t change later, I can only assume that the swimming skill will be useful multiple times in the game.

    If the game allows me to specialize entirely in non-combat skills, I expect it to also allow me to play the game in a way that will allow me to progress without needing combat skills. If it’s not possible to do that, I’m not sure why the option is available – The devs aren’t forced to allow a noncombat option, after all.

    Most of my frustration here stems from trying weird builds and then failing. I’ve played as Mr. McShootmans several times, after all. I have shot a lot of mans in a lot of different games, and I have taken the +10% to man shooting skill about as many times as I care to, so whenever the option is given to me I try to go with builds that aren’t possible in other games instead of just stacking bonuses to firing speed and damage.

    Worth noting that there are a few pretty easy to implement things that devs can do to avoid this: First, they can just have a button that says “Advanced Options” with a disclaimer that enabling it will allow you to make characters with a significantly harder time progressing through the game. Second, they can just include a respec button so that if I discover midway into the game that several of the skills I took are actually worthless in the game being played, I can fix my character without restarting the entire game.

    [POSTSCRIPT: Worth noting that here I’m assuming that the bricking is happening after 4+ hours of gameplay and that the player has no way to recover without replaying multiple hours of content. Also it’s from the perspective of somebody who doesn’t have an infinite amount of time to play games and who prefers not to need a guide in order to avoid restarting a campaign. I know some people (like Shamus, obviously) enjoy an experience that I would see as irredeemably frustrating and would leave me furious with the game]

    • Mephane says:

      I agree with this. In my view being able to create a permanently “broken” play-through is a fault in the game. If you can genuinely make the game impossible to complete due to bad skill choices, then the game needs some way to alleviate this – i.e. a way for the player to notice their mistake and correct it without having to scrap it all and start over. (That is unless it’s a genre that has this as its central theme, e.g. roguelikes.)

      While I can get behind Shamus’ idea praise for the freedom to choose wrong, the problem is that right and wrong only work within the very limited and arbitrary context of the game. How many games have skills that are almost or entirely useless – because the skill is so weak, can be used only very rarely, its actual utility is questionable, it is superseded by other skills or items…?

      Just as Shamus experienced in Prey – the hacking skill leading to a loathsome minigame – these things take you by surprise unless you consult a (probably spoilerish) guide beforehand.

      • Thomas says:

        Respeccing. It’s a polite convenience that allows you to build a bad build, but also change it once you’ve played the game and actually have enough information to know what a bad build is.

        There’s logistical problems to solve – you don’t want someone speccing in and out of non-combat skills as they meet each obstacle – but most games have found those solutions.

        • Christopher says:

          I sorely miss it when it isn’t there. The Souls games sometimes have it(Dark Souls 2, Dark Souls 3) and sometimes do not(Dark Souls, Demon’s Souls and Bloodborne, as far as I’m aware). There might be a difference in philosophy going on here, considering those last three seem the most like Miyazaki’s babies. The ability to fuck yourself over is part of the appeal of the freedom to some people, I suppose.

          • The Rocketeer says:

            Like most things in Demon’s Souls, there’s an obtuse pain-in-the-ass method of, if not re-speccing, at least de-leveling your character. Nah, I don’t count that, either. There is evidence that refunding levels was a cut feature of Dark Souls, though.

            For the record, I’m a big fan of respeccing in Souls, and I think paying for it with a limited item a la DSII is the best implementation; I don’t really see the point of a per-game-cycle restriction, as in DSIII, but at least the option is there.

        • poiumty says:

          Not allowing for respeccing can put some tension into your decisions, making them more permanent and thus more important. I prefer games without it, but if it’s too easy to get yourself stuck with a subpar build that’s a fault of the game too.

          I do think this isn’t a thing in Prey. Shamus was a bit strange in that he expected to get by with no offensive upgrades in a game that a lot of the time gives you no choice but to kill monsters, so I think he made some bad decisions, and even worse when he tackled what I think he tackled with his meager firepower.

    • Sabrdance (MatthewH) says:

      I concur with this.

      I don’t mind the ability to create “broken” characters. I do mind not having it obvious for hours. This was the main problem I lodged against XCOM: Long War, is that unlike regular XCOM -which lets you know pretty quickly when you’ve horribly screwed up -Long War let me go about 10 or 12 hours before I knew this playthrough was doomed and I needed to just start over.

      I will craft a special exception for the old Sierra games, because they weren’t that long, and they specifically told you “Never Overwrite Your Old Saves!”

      • Shamus says:

        I think the issue of having the game “let you know” is a bit of a grey area. In my game I was needing to save-scum just to get through combat encounters with normal enemy types. Is that normal? Is this the intended difficulty?

        You could argue the game WAS hitting me over the head with the message, “Hey idiot! Put some skill points in murder!” and I was just too stubborn to listen. I’m not sure.

        In any case, I don’t want to leave the impression that the game had been a cakewalk until I met this one boss monster. It had been pushing me pretty hard, and I’d passed on opportunities to push back because I wanted more knickknacks.

        Although if there’s one protip I wish the game had made clearer:

        This game has a huge focus on disabling enemies. They take tons of extra damage if you immobilize them first. Use the GOO gun, an EMP grenade, the Nullwave, or the disruptor and you’ll stunlock a foe for a couple of seconds. Then switch to another weapon for a huge damage bonus. I initially dismissed the disruptor as a useless weapon early in the game and I didn’t realize how AMAZING it was until the later playthrough.

        • Lanthanide says:

          I’ve mostly been avoiding spoilers for this game, but I was curious about what you’d just written.

          I don’t think you needed to use spoiler tags for it really, since it’s something the game SHOULD have trained you in. That’s not a storyline / setting spoiler, that’s mechanics that they haven’t trained you in. That’s also not the same as experimenting with different weapons and finding an awesome combination of them, which could be a spoiler.

          This seems like intentional mechanics the developer expected you to learn but didn’t bother training you on.

      • Joshua says:

        Well, in the poll of “What Games are you playing?” a bit back, I mentioned replaying Wasteland 2 and starting For the King.

        Wasteland 2 is really bad for your first game because you have very few points, and little idea about where to spend them. You have no idea if you should train in more than one weapon at the beginning (No), which weapons you should learn, and which non-weapon skills are most useful. Also, what NPCs are out there that will help broaden your group and skill pool (this is a big deal). The game gives some helpful advice on loading screens, such as going with specialists and not doubling up on any non-weapon skills, and while having your characters train in the same weapon may be powerful (Assault Rifle/Sniper Rifle), this can cause you an issue of having to share the same ammo (only a problem at very first part of the game), but that doesn’t help much since you don’t see them until *after* you’ve created your team and started the game.

        However, the game is pretty good with letting you know if a skill just isn’t cutting it. You’ll have a percentage % for most skills including combat ones, and having less than a 60% or 70% in a skill will get old quickly, especially if you don’t save scum. The one exception would be conversation skills, that since they’re binary you have no idea about whether they’re good enough until you get to a conversation and you have a one-time chance to use Hard Ass/Kiss Ass/Smart Ass and you find out you’re several ranks short.

        For the King, on the other hand, doesn’t give a lot of advice for starting players (basically which classes to pick) except the most important- Expect to not succeed on your first try, or several tries after that (it’s a game with permadeath). So, true trial and error gameplay.

      • Daemian Lucifer says:

        Long war also warns you in advance that it is much more difficult than the vanilla game,and that you should not play it if you dont have in depth experience with the game.So Id excuse it as well.

    • Hal says:

      This was the problem I encountered my first time through Oblivion. I had a mage/rogue type character who picked locks, snuck around, and cast a lot of magic to make life easier. Most of my combat skills were middling because I was focusing a lot of time working on other matters.

      I don’t know how many levels into my first character I’d gotten, but I started running into monsters I simply could not defeat, no matter how much of my bag of tricks I threw at them. Everywhere I went, the enemies had just become too powerful for my build, which was too focused on non-combat skills to be competitive.

      I understand Shamus’s perspective on this; the game gives you all kinds of freedom, but that also means giving you enough rope to hang yourself with. Still, it makes me feel like I’ve wasted my time, or should I say that the game has wasted my time, when I’m allowed to dig myself into a hole I can’t ever climb out of.

      • evileeyore says:

        Which in the case of Oblivion could have been averted had the game not kept enemies on level with you in order to keep combat boring.

        If there were “hard” areas and “easy” areas you could have gone back to the easy areas to level up Destruction magic and then continued forward into the hard zones.

        Personally I actually prefer a game that gives me the freedom to make tragically underpowered builds (and overpowered builds). Then you can go back later and play it over trying it on “hard mode” (being underpowered).

        But this requires the game give good feedback on the deficiencies of your build. For instance if you are waltzing through enemies but can’t access secret hidden goodies, the game should let you know somehow. And vice-versa.

    • Syal says:

      The devs aren’t forced to allow a noncombat option, after all.

      I’ve never seen a game with both combat and non-combat skills that didn’t expect you to take at least one combat skill. If you have non-combat skills like More Inventory, the only way to stop someone from exclusively taking non-combat skills is by either putting a ceiling on the amount of points that can go into them, or gating their growth behind combat skills, both of which are going to block some otherwise viable builds.

      …that said, I’m looking at Prey’s skill tree, and they put combat skills last? That’s where you put optional stuff! No wonder people aren’t taking them!

      • poiumty says:

        Torment: Tides of Numenera is a game in which, I believe, you can make do with zero combat skills. In fact the game puts such an emphasis on it that sometimes you kinda wish there was more combat, or that there was more reason to fight these guys rather than just talk them into submission.

        Prey’s combat skills aren’t last, they’re accessible very early. What’s last is… a spoilery affair. But your standard gun upgrades can be gotten rather quickly.

    • Echo Tango says:

      Arrrrrgggggg! It’s “by accident”, not “on accident”! :)

    • Tektotherriggen says:

      I think it’s reasonable to make “building your character” a challenging part of the gameplay, just like any other puzzle. But in that case, you really should be able to respec, just like you get more than one chance to solve a puzzle (and most puzzles tell you you’ve failed immediately). Respeccing can have enough of a cost to dissuade scumming – e.g. if enemies respawn, it can cost XP.

      But what Shamus is describing does sound like an imbalance in Prey. In System Shock 2, I went down a similar path of lots of hacking skills (maybe not quite so single-mindedly), and was rewarded with loads of extra supplies and ammo, weapon upgrades, cheaper shops etc., and hacking turrets. If Prey offers a similar skill branch, I would expect it to be similarly bountiful. If not, maybe they were too stingy with their exploration rewards.

      If a game offers obviously different skill paths, each one should be valid, and correspond to a different play style of similar difficulty. I can choose to be an explorer (with the loot making up for my worse combat), a glass cannon, a tank, or whatever, with the game feeling different each time, but no one path being wrong.

      If character speccing is going to be a puzzle I can lose, then the puzzle needs to be subtle. I should be forced to look for synergies between skills; to recognise what character skills match my skills as a player; or to study the whole skill tree to work out if this game rewards specialisation (with extra-powerful end-branch skills) or generalisation (with costs rising sharply at the end of each branch). I shouldn’t just be forced to guess.

    • Abnaxis says:

      From what I’ve seen of other people playing the game (looks awesome, but not enough money and/or time to get it myself) it seems like you could grind levels if you have an under-powered build? The primary ingredient in the skill-point juice is dead enemy parts and enemies re-spawn. You could just traipse through previous areas, kill the weaker enemies, then grind their organs for magical blue power smoothies (I mean *mumble* *mumble* parallel universe alien neural enzyme *yadda* *handwaves*).

      I dunno if Shamus didn’t consider that an option, or if I’m just wrong about the game works.

    • ARW says:

      I agree with you to be honest, but I think Shamus has a point in that the type of game in which you can brick yourself has become utterly rare. Having entertainment products for different kinds of tastes is always nice and it is a bit sad that besides dark souls (in which you can’t really stop yourself, but you can gimp yourself a bit with bad leveling) I can’t think of a game that does this. When you enjoy this kind of mechanics, it really is sad when you just don’t get a game like that. Same with specific genres and types, essentially niches, that just die out because the triple a industry decided its not “selling” anymore (see horror survival games, since they practically died for a while until dead space and amnesia revived them).

  7. Decius says:

    Starting a new game in the “slot” should result in virgin copies of the /temp files being written to the directory.

    Also, that opens an interesting way to cheat. Mark one of the files as read-only, and complete the same level multiple times.

    • Primogenitor says:

      The problem was not what the game was doing – it may well have been wiping /temp on startup – but what Steam Cloud was doing – restoring “deleted” files as if they were being synced from another machine.

      • silver Harloe says:

        Yeah, what I think Decius was proposing was actually the workaround for steam restoring your cloud stuff: write 0-length files for every file you might put into the temp dir. Then it says “oh, there’s a new version of foolevel.save, I guess I won’t “helpfully” restore my version over it”

        • Richard says:

          Assuming that “temp” is actually a “temporary progress cache that can be erased at game exit and recreated at game start using real savegame data”, then the trouble is really caused by the game storing its temporary files in the wrong place.

          All platforms have (one or more) defined places to store such temporary files.

          If you put temporary files elsewhere then you are bound to encounter nasal demons, especially when launched with a platform that explicitly backs up savegames to external storage!

  8. pranav135 says:

    I know its totally irrelevant to the topic but what happened to bob?(the game of thrones guy). He just disappeared from the site after that one gig

    • evileeyore says:

      As he said in his posts (during that one gig) he may or may not continue doing long form written analysis.

      I’m pretty sure he’s still doing his youtube analysis videos.

      [EDIT]
      Though a quick check shows he dropped off the face of youtube again 6 months ago and hasn’t posted anything there since. He has a habit of doing that…
      [/EDIT]

  9. JimO says:

    I hated the ’07 Prey with a vengeance. Hated the characters, the tone, and the things it had you see and do. (Case in point: while DM of the Rings brought me here I very distinctly remember reading Prey: Kids as Videogame Victims early in my readership and thinking “wow, this guy really gets it” and started reading everything on the blog, not just the comics.)

    So save-state shenanigans aside the ’17 Prey looks great. Wikipedia makes it sounds like its only very tangentially related to the first game. Should I still be wary given my feelings for the previous game?

    • Redingold says:

      It has literally nothing to do with the other Prey besides a setting of “space station with aliens on it” and the name. Arkane picked the name Prey without realising there was already a game called that, but since Bethesda owns the rights to Prey 2006, they let Arkane use the same name anyway.

      There is no connection between the games besides that. The new one isn’t set in the same universe, it’s not inspired by the old one, nothing.

      You should absolutely play it.

      • Rax says:

        Arkane picked the name Prey without realising there was already a game called that”

        That is not at all what happened, at least according to this interview, being asked about why the game is so different from the original Prey lead designer Ricardo Bare answered:

        After we finished Dishonored we started working on a new project, a science fiction game structured like Arx Fatalis and inspired by System Shock. Bethesda approached us and said “Hey, if we wanted you to use the ‘Prey’ name, do you think it would fit with what you’re working on?” And we were like ‘Yeah, I think it works, it’s a good name.’

        • Redingold says:

          Oh, I must’ve misinterpreted something I read somewhere on the internet. Point still stands, no connection besides the name and the basic premise.

  10. Alex says:

    In a way it is amazing that the engine can load what essentially is a corrupted save-file and does not break in a less subtle manner.

    • Abnaxis says:

      Eehhh….that’s sounds more like PHP-levels of tomfoolery from my perspective. Specifically, “PHP is built to keep chugging along at all costs. When faced with either doing something nonsensical or aborting with an error, it will do something nonsensical. Anything is better than nothing.”

      Seriously, the worst kinds of bugs are the ones that don’t wreck everything when they go off.

      • Thomas says:

        I don’t know how it is in game developments, but I hate things that break and find ways to continue whilst being broken.

        There’s a stats program I use that will re-read old data from the workspace if you try to import new data with the same name and the import fails (or alter the data without giving it a new name and the alter fails). Unless you pour over the logs, it’s really easy to miss that something is broken and it’s using the wrong dataset now.

        Good programming practises can avoid it, but I’d prefer if the whole thing just fell over

        • Abnaxis says:

          I’ve done development in a lot of different environments, and it’s always worse if systems soldier on after an error.

          The stats example is interesting, because I don’t think I’ve run into a stats program that doesn’t pull from the workspace if there’s data there. I think R will might stop at the error (depending on the error) if you’re sourcing a file but I’m betting Stata and SAS probably won’t. They should at least print something in the output though…

      • Paul Spooner says:

        There’s also probably some level of residual pathogenic resiliency involved. Sure, being able to break the game without noticing is a pain when you’re the end-user, but I imagine it would be really handy when you’re testing. If you have to over-ride a bunch of safeties, or synchronize a bunch of parity checks, it makes it that much harder to clobber the level save file. And be assured you absolutely need to be able to clobber the save files for testing and debugging.
        I agree that things breaking silently isn’t the best, but it’s certainly better than having to stumble over your own safety protocols when you’re trying to accomplish something.
        Best, of course, is to put the check code in the release version and disable it in debug mode, but that introduces another branch of complexity when doing error checking.

      • Echo Tango says:

        This is also the defining characteristic of Windows[1], not just PHP. Before we had high-speed internet, you couldn’t expect the problem to be reported back to Microsoft, and then subsequently fixed. Microsoft made a lot of money, by making an operating system that just kept on working as long as you occasionally rebooted, and/or knew where to kick the machine to get it back o ntrack. :)

        [1] At least up to WIndows 7; I switched to Linux full-time after that.

        • Abnaxis says:

          Windows most certainly hasn’t gotten better. I’ve sunk the last 2 weeks into trying to hunt down the reason why a third-party DLL won’t load, because the Windows exception apparently can’t give useful information like “this is the dependency you’re missing.” In fact, the damned thing can’t differentiate between “can’t find the file you just tried to load” and “can’t find the dependency for the file you just tried to load.”

          I keep trying to get my boss to stop trying to use this piece of equipment that requires Windows DLLs to run. We’ll see how my meat-hack goes…

    • Xeorm says:

      Amazingly bad, really. Things breaking clearly is a feature, it lets you know where and when things go wrong so you can figure out how to fix it quicker.

  11. skeeto says:

    If the saves span multiple files, its sounds like the mistake is using filesystem metadata as a fundamental part of the save data. Steam’s cloud is not compatible with this model.

    For example, suppose there’s a main save file, and this file references other files. It explicitly says certain data is found over in “foo.save” and some other data is over in “bar.save”. If it’s really robust, it will even have some kind of checksum or identifier to go with it, so that it knows not to use these other files unless they match. Regardless, this should work fine either way with Steam’s cloud saves. If “foo.save” exists when it’s not supposed to, it doesn’t matter since the main file doesn’t reference it, and so the game ignores it.

    It sounds like Prey is using logic like, “if foo.save exists, it’s a part of the save.” Now the state of the filesystem, external to the direct contents of the save files, is a part of the save data. That data is not tracked precisely by the cloud, nor is it meant to, leading to corrupt saves. It’s like the $5,000 compression challenge where one entry tried to be sneaky by smuggling bits of data into the filesystem metadata.

  12. Apopei Viorel says:

    Hey Shamus I hope this isn’t too off topic, but I just now saw your previous posts and wanted to ask more about Strafe. What is it you like about that game? I played it for a couple of hours and couldn’t stand it. Interested to see a different opinion on this ,as pretty much every online reviewer I follow said the game was a massive disappointment.

  13. Jamey says:

    As a fellow developer that loves to solve problems that everyone else seems to ignore, I figured out a trick years ago when writing an install/uninstall system for an application where the installer would install (technically text) files that were 0 bytes and just were named for files that would be added by the application (i.e. a save file), so that when performing an uninstall it would be “clean” (has always been a pet peeve of mine).

    As the cloud has become the usual system now, I’ve re-purposed the same idea to prevent the “missing file” issue by having all files be ever present, but when not in use they are just empty file placeholders instead of deleted and re-created. This makes systems like Google Drive and Steam Cloud sync much happier.

    The Prey developers could probably implement something like that in this case, so that the area files are empty (but present) when a new game is created in a save slot, so they have later last modified later dates and Steam properly syncs those up instead of pulling them down and breaking the game.

  14. The Rocketeer says:

    Yo Shamus:

    Right before footnote 12, the phrase “repo instructions” should read “repro instructions.”

  15. Tse says:

    Could this be circumvented by applying the crack for the game to your legitimate copy?

  16. Paul Spooner says:

    Glad you figured out the problem and fixed it, but would it have killed you to put a hint at the end of the previous post that this wasn’t the death-blow for joy and happiness?
    Unless, you hadn’t fixed it by that point? I’m so used to the scheduled posts… are we seeing up-to-the-minute info here?

  17. Content Consumer says:

    But the alternative is for a game to be built around a “no build is invalid” philosophy, which means that the game is kind of toothless and your choices are more aesthetic than practical.

    I was about to point out that this contradicts the basic argument made here:
    http://www.shamusyoung.com/twentysidedtale/?p=221
    When I realized that they’re both essentially the same argument if you look at them.
    I’ve not played PREY (any version), so correct me if I’m wrong, but the problem isn’t necessarily that a “no build is invalid” philosophy is inherently broken, it’s just only applicable in specific game types? In particular, once you “clear” an area in a game, you can’t use that area for farming. So you have the ability to make “broken” builds that will limit your eventual progress…?

    • Echo Tango says:

      I think a better way to look at it would be that “no build is ever invalid” leads to a toothless, easy game, and that “all builds can beat the game in some way” is much better to aspire to, although nearly impossible to pull off in practice.

    • Joshua says:

      To some extent, I think you’re correct, but his earlier article is really only valid in games with re-spawning challenges, or the ability to always find more challenges before moving forward. You have the opportunity to overcome deficient builds by grinding longer, taking more missions, etc.

      It’s not going to be applicable where you only can go through areas once, and the design philosophy is that there are finite ways to overcome challenges (leaving to possible unwinnable state) or that any collection of builds will be able to overcome every area (which means build decisions have less value).

      The Self-Balancing gameplay article did mention that properly done, it doesn’t require the game to auto-balance to you, just for the ability to require certain builds AND the ability to go grind to get the particular build you need.

  18. Armagrodden says:

    Before I expanded this article, the footnotes didn’t work. Hovering or clicking on them didn’t cause them to appear on the link.

    Because the first one followed “broken quest triggers,” I assumed this was a feature.

  19. This is why I prefer games that use their own savegame system, BioWare tend to do that.

    The best solution is to creating a game folder under “My Documents\My Games\” where the settings for the game is stored and under that a “character” folder then a “saves” folder.

    This way the save games (and even some settings) can be carried cross between a Steam, GOG or Origin or Retail copy of a game.
    Saves can still be backed up to the respective clouds (I seem to recall that Dragon Age: Inquisition used such a hybrid system).

    • Metadidact says:

      Where or in what kind of a folder layout a game stores its savefiles doesn’t really matter for these cloud save systems. The developer responsible for integrating that just points the system to the root folder of the save structure and the system just grabs all files it can find from there. When it sees a missing file or files with older timestamps than what it has it asks the user if they want to replace local files with files from the cloud or vice-versa.
      Stupid simple and quick to integrate no matter how the saves are laid out so it’s suitable for a variety of games.

  20. Droid says:

    Couldn’t this be solved easily by creating 0-byte files of every load level on a new playthrough? I don’t think Steam Cloud overwrites 0-byte files.

  21. Ninety-Three says:

    For the record, the “Moving heavy stuff” skill Shamus mentioned is for suckers. It’s generally used to pick up heavy objects that block access to loot caches and sometimes entire small areas. The cost in precious neuromods can be easily bypassed by throwing a disintegration grenade (you’ll be swimming in them if you don’t love using them in combat) at the liftable obstacles the game keeps putting in your way.

    The game does a generally-admirable job of letting you gain access to most things in several ways, at least one of which will make you feel quite clever, but disintegration grenades are so much better that after the first couple times I did it, it started feeling like a developer oversight. Here’s this barrier that should cost 15 neuromods to pass, and here I am laughing at it while hefting literally more disintegration grenades than I know what to do with.

  22. Dreadjaws says:

    Seriously, how can they screw up something so basic?

    In any case, I’m fine with games letting you create broken characters, as long as they make it clear some way. In an MMO is very easy to create a useless character, but at least you have a constant community you can ask for help and tips about the subject. In a game like Deus Ex you can focus your character in certain areas so much that you will be entirely useless in others, but the game has enough different paths to compensate for it so you never find yourself unable to progress unless you’re deliberately doing things wrong (such as wasting all your ammo shooting at the sky).

    But if there’s no indication? Well, doesn’t that turn it into DIAS gameplay? Trial and error is fine for some kinds of games, but I don’t know if I’d be able to accept it in the kind of game that’s built around freedom.

  23. krtk says:

    Maybe there’s a way to tell Steam, “No seriously, this file is gone on purpose, forget it”.

    An easy way to trick Steam Cloud without disabling it is to delete the unwanted files after you’ve pressed the “play” button in the client. That effectively makes it think the files were deleted by the game itself.

  24. tengokujin says:

    When Mobius FF finally came to Steam, it had horrendous Steam Cloud Save issues.

    https://www.reddit.com/r/MobiusFF/comments/5sk2l9/finally_connected_for_those_with_password_issues/

    The original save the game made, before it got patched, would immediately corrupt and prevent update. But Steam would think this save would be legitimate, and would dutifully upload the save to the cloud. The game would then launch, asking the user to update… which wouldn’t work.

    The above link demonstrates the frankly ludicrous methods one had to undertake to rewrite the Steam cloud save.

  25. Daemian Lucifer says:

    Specifically, you get three save “slots”.

    Three?Thats awesome for a console these days.Usually they allow you to have just one.

  26. DigitalSentience says:

    Might be a long shot to get this to your eyeballs via a random comment at the bottom of a page, Shamus, but I read this and thought about your many condemnations of DRM over the years:

    https://www.polygon.com/2017/5/16/15622366/valve-gabe-newell-sales-origin-destructive

    Hope someone reads this at least; I found it disturbing.

Leave a Reply

Comments are moderated and may not be posted immediately. Required fields are marked *

*
*

Thanks for joining the discussion. Be nice, don't post angry, and enjoy yourself. This is supposed to be fun.

You can enclose spoilers in <strike> tags like so:
<strike>Darth Vader is Luke's father!</strike>

You can make things italics like this:
Can you imagine having Darth Vader as your <i>father</i>?

You can make things bold like this:
I'm <b>very</b> glad Darth Vader isn't my father.

You can make links like this:
I'm reading about <a href="http://en.wikipedia.org/wiki/Darth_Vader">Darth Vader</a> on Wikipedia!

You can quote someone like this:
Darth Vader said <blockquote>Luke, I am your father.</blockquote>