Oblivion and the problem with “save anywhere”

I finally got Oblivion last weekend so I could see what all the fuss was about.

The game lasted about 12 hours for me (over two days) and then I just got up and turned it off. In 12 hours it hard-locked the PS3 twice and had four non-recoverable bugs (player stuck or frozen NPCs). I have never before seen such an unstable game on the PS3. I’m *very* surprised it got through Format QA.

But that’s not why I quit playing.

I quit playing when I realized that all I had done for the last 12 hours was be an errand boy. I went to point A to talk to some dude. He sent me on a quest to point B to retrieve some item. I got the item and brought it back, only to discover it actually had to be delivered to point C. Setup. A catch. Conclusion. The first 12 hours was nothing but variations on this same theme.

A lot of RPGs use the “errand boy” mechanic but Oblivion is crazy-realistic in it’s recreation: in all those 12 hours I probably ran only 6-7 errands. Most games will have you doing 6-7 every couple of hours. Good games will weave the errands together in some meaningful fashion so you have to build a mental-map of how they fit together. In Oblivion there didn’t appear to be much benefit to parallelizing the errands, as they seemed to be designed to be done completely independent of each other.

Maybe I picked the “wrong” character at the beginning — a thief. Not much in terms of action with the thief. The little action I did see as the thief I didn’t particularly care for anyways. The combat made little sense to me–is it really only just button mashing with occasional timing?

The problem with “save anywhere”

There were a couple other things that irritated me about the game, and I don’t think these problems are unique to Oblivion, I think it’s the whole “rich RPG” genre that irritates me. These games can make you do things that just are simply not fun in my opinion.

Since you can “save anywhere” rather than at carefully chosen points, the game designer takes license to put the player into bad situations where there’s no way to get out of them. “If you don’t like the direction the game is heading, restart from your last save.” This works as long as you save often. When you forget to save, you’re screwed. This happen to me more than once; the first time it cost me about 2 hours of gameplay.

Starting over in these types of games is rarely fun. When you end up having to repeat something that wasn’t particularly challenging in the first place it’s especially not fun.

Because starting over sucks so bad you end up taking even more advantage of the “save anywhere” than you probably should. At any time when you think there’s even the slightest potential for the game to sink you into a hole you create a new save. As you progress, your threshold for what constitutes a “hole” diminishes. What you end up doing is you make things even less fun for yourself because you just eliminated the risk from the game.

You start out saying: Oh! Before I attack this mob I should probably save in case I die. I’m glad I remembered!

And by the end you’re thinking: Should I use 30 lockpicks to discover what treasure is in this chest? Who cares, if it’s not worth 30 lockpicks I’ll just revert to my last save file.

In the 12 hours I played the game I created over 70 save files. Something isn’t right when a player feels they need to take out that many insurance policies. With no risk you diminish the fun. But you can’t have the flip side either: making the player redo 2 hours of game play isn’t right either. (That is, unless repeating what you did previously is the game)..

The Avenger to the rescue

I got some nasty malware on my computer this week; I’ve had it shut off until I had the energy to investigate what was going on. AVG Free was reporting I had four viruses on it at various times:

Trojan dropper.agent.git
Trojan dropper.agent.dbo
Backdoor.agent.PDA
Virus Win32.lop (an adware virus)

However, no amount of quarantining was getting rid of the viruses, something was actively installing them. The damn thing was also continuing to infect other programs on my system..

Looking in my Windows\System32 folder I found several recently modified files:

ctfmon.exe
sstqp.dll
ddccaxv.dll
ptqss.ini
sstqp.exe
vturq.exe
qrutv.ini

I’m sure most of these file names were randomly generated… I was able to delete all of them except the dll’s. sstqp.exe kept reappearing, but I managed to nullify it by deleting it and then replacing it with a 0k read-only file.

Searching the registry, sure enough, I found a dozen spots where these files were referenced. Some in pretty clever places: Did you know you can specify an executable to run whenever winlogon is run? Did you know you can specify an executable to run whenever the windows authentication service is run? **Seriously** — what the hell Microsoft? You can’t even boot in command prompt mode to get rid of this crap.

Deleting their references in the registry didn’t work, something was just adding them right back. I needed to delete the dll’s to prevent them from loading, but how?

This stumped me for a good hour. I tried a bunch of different things to get rid of the dll’s (without pulling the drive and putting it into another NTFS compatible system) but nothing seemed to work. Running Unlocker on them hard-locked the system. Move on Boot was worthless.

Finally, while searching for references to “dropper.agent.git” I stumbled upon a hacky little tool called The Avenger that did the trick. With this tool you have to write a script that specifies the file(s) to delete and it will delete them the next time your computer starts up, presumably before Windows has a chance to execute them. IT WORKED.

Thank you, Avenger!