Showing posts with label doom. Show all posts
Showing posts with label doom. Show all posts

Saturday, January 2, 2021

Adventures in Old-School Gaming on Linux Mint 20

I had some free time recently, so I finally did a clean install of Linux Mint 20 on my PC, which seemed preferable to attempting an upgrade from Linux Mint 19.3. As usual, after getting all of the basic programs installed, I started reinstalling some essential games: Wolfenstein 3D, Doom, etc.

I did things a bit differently from last time — better, and less hacky, I hope — which required educating myself a bit. I also found a bug which doesn't seem to have been documented anywhere, and I honestly cannot be bothered to figure out where or how to submit a bug report, so I'm just going to document it here. Maybe it will help someone.

ECWolf and GZDoom

As I had done before, I started by installing some source ports: ECWolf for Wolfenstein 3D and Wolfenstein 3D: Spear of Destiny; and GZDoom for The Ultimate Doom, Doom II: Hell on Earth, Final Doom, Heretic: Shadow of the Serpent Riders, Hexen: Beyond Heretic, and Hexen: Deathkings of the Dark Citadel. Unfortunately, these source ports are not provided in Linux Mint 20's default package repository. Perhaps the easiest way to get ECWolf and GZDoom is to download .deb files from here and here respectively, but for the sake of automatic updates, I think it's best to grab them from the DRD Team repository:

wget -O- https://debian.drdteam.org/drdteam.gpg | sudo apt-key add -
sudo apt-add-repository 'deb https://debian.drdteam.org/ stable multiverse'
sudo apt-get update
sudo apt install ecwolf gzdoom

These don't actually come with the game files, though, so I downloaded the relevant games from Steam. (Although they could easily be acquired by... other means... they happen to be in my account thanks to bundles and gifts, and it's just the easiest way for me to get the data.) The Steam versions of the aforementioned games run in DOSBox by default, and the classic Doom games now come with the Unity ports as mentioned in an earlier post, but I would rather take the files provided by Steam and use them with Linux-native source ports.

Manual file management

What I did next, I now realize you probably shouldn't do. I manually copied the necessary game data into ~/.config/ecwolf/ and ~/.config/gzdoom/ as appropriate:

cp -t ~/.config/ecwolf/ -- \
    ~/.steam/steam/steamapps/common/Wolfenstein\ 3D/base/*.WL6 \
    ~/.steam/steam/steamapps/common/Spear\ of\ Destiny/base/*.SOD \
    ~/.steam/steam/steamapps/common/Spear\ of\ Destiny/base/*.SD1 \
    ~/.steam/steam/steamapps/common/Spear\ of\ Destiny/base/*.SD2 \
    ~/.steam/steam/steamapps/common/Spear\ of\ Destiny/base/*.SD3
for sd1 in ~/.config/ecwolf/*.SD1; do mv -f $sd1 $(echo $sd1 | sed s/SD1/SOD/); done
cp -t ~/.config/gzdoom/ -- \
    ~/.steam/steam/steamapps/common/Ultimate\ Doom/base/Doom.WAD \
    ~/.steam/steam/steamapps/common/Doom\ 2/base/Doom2.WAD \
    ~/.steam/steam/steamapps/common/Final\ Doom/base/PLUTONIA.WAD \
    ~/.steam/steam/steamapps/common/Final\ Doom/base/TNT.WAD \
    ~/.steam/steam/steamapps/common/Heretic\ Shadow\ of\ the\ Serpent\ Riders/base/HERETIC.WAD \
    ~/.steam/steam/steamapps/common/Hexen/base/HEXEN.WAD \
    ~/.steam/steam/steamapps/common/Hexen\ Deathkings\ of\ the\ Dark\ Citadel/base/HEXDD.WAD

For the most part, this is pretty straightforward, but things get a bit weird when we look at the Wolfenstein 3D: Spear of Destiny files. That ugly file renaming in the for loop ensures that the *.SD1 files that come with the Steam version of Spear of Destiny have the proper *.SOD names. I think Steam has these *.SD1 files because, when running the game with DOSBox, it needs to rename the *.SD1, *.SD2, or *.SD3 files to the appropriate *.SOD names depending on which mission pack is being played. ECWolf, meanwhile, just wants the Mission 2: Return to Danger and Mission 3: Ultimate Challenge files to be named with *.SD2 and *.SD3 respectively. At least, I think that's how it works. In any case, the manual renaming above resulted in ECWolf running each mission pack correcty with no complaints. So this manual file copying and renaming is an option if you just want to run the Steam versions of all these games with ECWolf and GZDoom.

However, I ended up undoing all of this manual file management in favor of experimenting with a program called game-data-packager, which took some work to understand but seems to work quite nicely most of the time.

Game Data Packager

I became aware of game-data-packager not because I went looking for such a tool, but simply because it was installed automatically as a dependency when I installed some Linux-native engines for Hexen II and the Quake trilogy (more on that later). If you don't already have it installed automatically for similar reasons, you should be able to install it on Linux Mint 20 as follows:

sudo apt install game-data-packager

Once installed, the game-data-packager program can be used to identify the required files for various games, and install them for use with various source ports.

The basic syntax is

game-data-packager [-d OUTDIR] [-i] GAME [PATH ...]

where GAME is the name of a supported game, and PATH tells the program where to look for the game's files (if it can't find them on its own). The game's files are packaged into one or more .deb files, which are written to the current working directory by default but can be sent to some other directory OUTDIR using the optional -d argument. The optional -i flag tells game-data-packager to go ahead and install the new .deb file(s) using the system's package manager. I think it's safe to delete the .deb files after installation unless you want to keep them. At this point, however, you'll need to use sudo apt remove with the name of the locally installed package (e.g. sudo apt remove doom-wad) in order to uninstall the game data from your system.

When executed with the -i flag, game-data-packager also attempts to install dependencies, including source ports and native engines, if they're not already installed. Basically, it should give you everything you need in order to play the game, as long as you supply the copyrighted data.

Wolfenstein 3D

For Wolfenstein 3D and Spear of Destiny, my usage of game-data-packager was as follows:

mkdir -p ~/deb/
game-data-packager -d ~/deb/ -i wolf3d
game-data-packager -d ~/deb/ -i spear-of-destiny

Additional positional arguments would specify folders in which to search for each game's files, but game-data-packager is smart enough to look in Steam's directories. Since I had already downloaded the games via Steam, the above commands were enough to locate the games on my system, package the necessary data into .deb files (which I saved to a ~/deb/ folder I had created), and install the games from those .deb files. In this case, the Wolfenstein 3D and Spear of Destiny data files get installed to /usr/share/games/wolf3d/. The package manager tracks these games' data as the locally installed packages wolf3d-v14-id-data, spear-of-destiny-data, spear-of-destiny-mission1-data, spear-of-destiny-mission2-data, and spear-of-destiny-mission3-data.

However, it assumes you want to use Wolf4SDL for Wolfenstein 3D; it did not care that I already had ECWolf installed, so it installed Wolf4SDL for me. If you want to use Wolf4SDL, you're in luck. If you're like me and you want to use ECWolf instead, you can either edit the BaseDataPaths field in ~/.config/ecwolf/ecwolf.cfg to include /usr/share/games/wolf3d/, or you can make some links:

ln -s -t ~/.config/ecwolf/ -- \
    /usr/share/games/wolf3d/*.wl6 /usr/share/games/wolf3d/*.sod \
    /usr/share/games/wolf3d/*.sd2 /usr/share/games/wolf3d/*.sd3

This got ECWolf to see all of the files it needs on my system. Wolf4SDL is still installed, which is a bit redundant, but I don't mind.

Doom

Next I used game-data-packager to package up the classic Doom games — The Ultimate Doom, Doom II: Hell on Earth, Master Levels for Doom II, and Final Doom — which I had also downloaded via Steam:

mkdir -p ~/deb/
game-data-packager -d ~/deb/ -i doom
game-data-packager -d ~/deb/ -i doom2
game-data-packager -d ~/deb/ -i final-doom

This installs all of the relevant .wad files to /usr/share/games/doom/, tracked by the local packages doom-wad, doom2-wad, doom2-masterlevels-wad, plutonia-wad, and tnt-wad. As with the Wolfenstein games, game-data-packager also automatically provided me with a source port, Chocolate Doom. I probably won't it use very much, because I already have GZDoom installed, but it doesn't hurt. Meanwhile, no tweaks were required to get GZDoom to find the data files; its default configuration included /usr/share/games/doom/ in the search path.

Master Levels

In addition to Chocolate Doom, the automatically installed dependencies also included a program called doom2-masterlevels which provides a simple GUI for selecting maps from the Master Levels pack. (Note that the command ending in doom2, above, took care of packaging the Master Levels for Doom II data as well as the Doom II: Hell on Earth data.) Here's where things get weird, though: I didn't even notice this doom2-masterlevels program until I found it by accident. There should have been a shortcut created in the Linux Mint menu, but it wasn't there. This is because the desktop entry file at /usr/share/applications/doom2-masterlevels.desktop contained a mistake:

TryExec=/usr/share/games/doom2-masterlevels-tryexec

The file referenced in that TryExec field, /usr/share/games/doom2-masterlevels-tryexec, does not exist. As a result, the entry was ignored and did not show up in the menu. However, the file /usr/share/games/doom/doom2-masterlevels-tryexec does exist. This discrepancy in the .desktop file is obviously a bug. I honestly cannot be bothered to figure out how to report this bug, to whom it should be reported, or whether it has perhaps already been fixed in a newer version of game-data-packager than my package manager provides. (Linux Mint does not always have the latest version of everything.) However, it's easy enough to fix the desktop file by changing the TryExec line:

TryExec=/usr/share/games/doom/doom2-masterlevels-tryexec

If you don't want to use a text editor, this can also be done from the command line using sed:

sed s/\\/usr\\/share\\/games\\doom2-masterlevels-tryexec/\\/usr\\/share\\/games\\doom\\/doom2-masterlevels-tryexec/ -i /usr/share/applications/doom2-masterlevels.desktop

With that fixed, the "Doom 2: Master Levels" entry now shows up in the menu.

Heretic and Hexen

I ran into some more minor trouble when I tried to package the Heretic and Hexen files. As with the previous games, I had downloaded them from Steam and tried running game-data-packager with the -i, and it failed with errors about engines not being available. Specifically, for Heretic:

ERROR:game_data_packager.build:Engine "chocolate-heretic" is not (yet) available, aborting

And for Hexen:

ERROR:game_data_packager.build:Engine "chocolate-hexen" is not (yet) available, aborting

However, these errors are nonsense. When the Chocolate Doom source port was automatically installed to /usr/games/chocolate-doom upon packaging and installation of the classic Doom games, the executables /usr/games/chocolate-heretic and /usr/games/chocolate-hexen were installed as well. These actually appear to be Chocolate Doom under the hood, but I quickly confirmed that they were able to run Heretic and Hexen respectively if executed with the appropriate -iwad arguments. Perhaps game-data-packager gets confused because chocolate-heretic and chocolate-hexen are virtual packages. In any case, to get past these bogus errors, we can omit the -i flags so that game-data-packager just creates the .deb files, and then install from those .deb files using apt:

mkdir -p ~/deb/
game-data-packager -d ~/deb/ heretic
game-data-packager -d ~/deb/ hexen
sudo apt install ~/deb/heretic-wad_64_all.deb
sudo apt install ~/deb/hexen-wad_64_all.deb
sudo apt install ~/deb/hexen-deathkings-wad_64_all.deb

I've probably discovered an actual bug here as well, but again, I really don't know how and to whom it should be formally reported, and the workaround was easy enough.

Hexen II

Hexen II is playable on Linux with the Hammer of Thyrion source port, which is called uhexen2 in Linux Mint 20's package repository. Hammer of Thyrion recognizes game data placed in ~/.hexen2/data1/, so we can copy the appropriate .pak files into that directory manually after installing uhexen2. Alternatively, we can use game-data-packager to install the files to /usr/share/games/hexen2/data1/, tracked by the local package hexen2-data. Again, I had downloaded Hexen II via Steam, so I didn't need to tell game-data-packager where to look for the files:

mkdir -p ~/deb
game-data-packager -d ~/deb/ -i hexen2

I think this would have resulted in the automatic installation of uhexen2, if not for the fact that I had already installed it beforehand using apt:

sudo apt install uhexen2

So that probably could have been skipped.

Quake

Linux Mint 20 also provides native engines for Quake, Quake II, and Quake III Arena, and all of these games are supported by game-data-packager. All three games are also on Steam, but I don't have the Steam versions. I have them on a set of CDs, in a box set called The Ultimate Quake, which I had purchased before I even created a Steam account. Fortunately, my outdated PC still has an optical disc drive, and game-data-packager can read from CDs (although it apparently needs to be told explicitly where to look).

The funny thing about Quake and Quake II is that the discs contain both game data and CD audio. In other words, each CD-ROM is also a music CD. Not surprisingly, game-data-packager creates separate packages for game data and music, hence the separate game-data-packager commands below. (Maybe the game files and music packages for a game can be created with a single command, but I used separate commands anyway because I don't think combining them would make things less confusing.) Meanwhile, ripping the CD audio required some extra dependencies which were not made known to me until game-data-packager started complaining that it could not find cdparanoia or oggenc. I assume these were not automatically installed as required dependencies because they are only sometimes needed. In any case, installing cdparanoia is trivial because that's the exact package name, and oggenc is made available for Linux Mint 20 in the package vorbis-tools, so I installed both:

sudo apt install cdparanoia vorbis-tools

Now, to install Quake, I ran the following commands with the CD inserted:

mkdir -p ~/deb
game-data-packager -d ~/deb/ -i quake /media/michael/Winquake/
game-data-packager -d ~/deb/ -i quake -p quake-music /dev/cdrom
game-data-packager -d ~/deb/ -i quake -p quake-aopfm

In the command to package and install the game data, /media/michael/Winquake/ is the location to which Linux Mint automatically mounted the CD when it was inserted, so that part will vary. The game's music doesn't show up in /media/michael/Winquake/ (because, I guess, that's just not how CD audio works), so in the command to rip the music, I used /dev/cdrom (which is a reference to the optical disc drive itself, and is actually a symbolic link to /dev/sr0). The last command installs the package quake-aopfm which is a free expansion. I can't vouch for whether this expansion is any good, because I haven't played it yet — but I noticed after installing the base game that a shortcut for the expansion had already been created in my menu, and that expansion shortcut wouldn't work without the expansion's package installed, so I figured I might as well install it instead of deleting the broken shortcut.

Installing Quake II was similar. I swapped out the Quake CD for my Quake II CD and ran the following:

mkdir -p ~/deb
game-data-packager -d ~/deb/ -i quake2 /media/michael/Quake2/
game-data-packager -d ~/deb/ -i quake2 -p quake2-music /dev/cdrom

Finally, Quake III Arena had no CD audio portion on the disc, so it required only this:

mkdir -p ~/deb
game-data-packager -d ~/deb/ -i quake3 /media/michael/Quake3/

I think these commands would have triggered automatic installations of these games' native engines, but I had already installed them manually beforehand:

sudo apt install quake quake2 quake3

Other Notes

I think much of what's written above could also be applied to other versions of Linux Mint, but I've been clear about the fact that I'm using Linux Mint 20 just in case I'm wrong about that. Meanwhile, as of the time of this post, I'm using gzdoom version 4.5.0, ecwolf version 1.3.3, game-data-packager version 64, chocolate-doom version 3.0.0-5, and uhexen version 1.5.9+dfsg-1.

Also note that game-data-packager gave me some warnings about being unable to unpack certain files due to missing programs, so I installed a couple of additional packages just to make the warnings shut up:

sudo apt install innoextract lhasa

However, these don't appear to be strictly necessary, and I'm not sure if it really made a difference. At least for the Doom games, game-data-packager was already finding all of the data needed for playing the games, despite the warnings.

Saturday, September 12, 2020

Classic Doom Unity Ports and Linux

This seems to be turning into a Linux gaming blog, and there's probably no stopping it, so I might as well not even try.

So, hey, the classic Doom games on Steam got updated to include those official Unity engine ports. That's cool. I mean, I guess it's cool. I'll defer to the video by GmanLives on YouTube for what's actually cool about it:

Update: It seems GmanLives has made the above video private, for some reason. Uh, okay...? Whatever. You don't need to watch this video before reading anything that follows. It was just a general overview of the Unity ports of the classic Doom games, and apparently some people disagreed with the opinions therein, but I don't remember any part of it being so controversial as to warrant removal.

It was thanks to GmanLives that I even found out about the updates to my Steam copies of these games. I go back to Doom and Doom II somewhat frequently, and in fact I do play the copies I bought from Steam, but I don't typically launch them through Steam. Last time I installed them, I immediately copied the WAD files out of the Steam folders to use them with GZDoom and then uninstalled the Steam copies. Therefore I don't often look at these games in my Steam library, and therefore didn't see the big "MAJOR UPDATE" notices, which I now see have been there since September 3rd.

So I was a bit excited when I heard that the Unity ports had come to Steam a week prior, because I thought I might be able to play the No Rest for the Living expansion for Doom II, which had previously been available on Steam only via Doom 3: BFG Edition, which I'm not going to buy because I already have regular old Doom 3. However, once I launched the game, I saw that the Unity version of Doom II includes only Hell on Earth and Master Levels by default. I think you can get No Rest for the Living as an official add-on, but that seems to require a Bethesda account. Maybe I'll create one. Maybe I'll download the WAD from elsewhere. I would rather play any add-on WADs in GZDoom anyway.

The real disappointment — and I'm fully aware that I'm nitpicking here — is that the inclusion of the Unity versions technically breaks the out-of-the-box Proton compatibility of Steam's The Ultimate Doom and Doom II: Hell on Earth on Linux. That's not a tragedy, because they can still be made to run on Linux quite easily. However, it's not a good look for Proton, because both games were whitelisted by Valve for Proton 3.7-8, and that whitelisting is now incorrectly applied to the Unity ports because they were added as updates to the existing games instead of showing up in users' libraries as separate items. Steam for Linux will launch the Unity ports with Proton 3.7-8 by default, and it won't work. Valve whitelisted these games only on the basis of their DOSBox-powered versions running well with that version of Proton.

Of course, using Proton to run the classic Doom games in the Windows version of DOSBox is a bit of a joke. You'll have a better experience running them in a natively Linux-compatible source port like GZDoom. If you really want to run them in DOSBox, there's a native Linux version of that too (and you can make Steam use it for DOS games by installing the compatibility tool Boxtron), so there's no good reason to run the Windows version of DOSBox in Proton. Nonetheless, Valve whitelisted the games for Proton 3.7-8 based on the fact that their old DOSBox-powered versions, in spite of themselves, did work perfectly in Proton 3.7-8 (and, in theory, still should). The new Unity versions don't run with Proton 3.7-8, nor do they work with the current version, Proton 5.0-9. They do seem to work perfectly with Proton 5.9-GE-5-ST, a fork of Proton which is not included in Steam by default but which is easy to install. So if you want to play the Unity ports on Linux, it requires only minimal effort.

The real problem here is that someone is bound to see "Proton 3.7-8 selected by Valve testing" on the newly updated classic Doom games and understandably assume the default versions of the games will run with Proton 3.7-8 out of the box. Now that the default versions are the Unity ports, that's not the case. When you launch either The Ultimate Doom or Doom II: Hell on Earth in Steam now, you will be presented with the option to run either the Unity version (which is the default) or the DOS version, and the default Proton version selected by Valve itself is good only for the DOS version which is now relegated to a secondary or extra option.

The other problem is that, because the Unity versions don't show up as separate games in the Steam library, you can't select different compatibility tools for the DOS and Unity versions. These versions being combined is good in general for those who don't want cluttered libraries, but preliminary testing on my own machine suggests that the DOSBox-powered version of The Ultimate Doom doesn't want to run using Proton 5.9-GE-5-ST which is the only way I know how to run the Unity version. If this is true and it's not just me, alternating between the two versions would require changing the game's compatibility settings each time. I suppose most people, upon deciding which version of the game they prefer, would just stick with it. Still, this bugs me.

Even if there is a Proton version which runs both DOSBox and the Unity ports, I still maintain that using Proton is sub-optimal for the DOSBox-powered versions anyway, and one should really be using Luxtorpeda as an alternative to Proton. Luxtorpeda runs the Steam versions of the classic Doom games in GZDoom automatically, and I probably would have used Luxtorpeda if I hadn't already set up GZDoom manually before I knew Luxtorpeda existed. However, selecting Luxtorpeda as a compatibility tool for The Ultimate Doom would work only for the classic DOS version; it wouldn't be able to run the Unity port. You can't select a single compatibility tool which runs both versions optimally, and you can't select separate compatibility tools for different modes of running a single entry in the Steam library.

In short, I'm slightly annoyed. I'm still just going to keep using GZDoom to run the original WADs anyway, so I guess you could say I'm annoyed on behalf of anyone who hasn't already figured this out. But I guess it's reasonable to assume that anyone who can't figure it out probably lacks the patience for playing games on Linux in the first place.

Sunday, August 25, 2019

Adventures in Linux Gaming

Last month I wrote about Playnite and GOG Galaxy 2.0. What I forgot to mention is that, for me personally, the major downside of each is the lack of Linux support.

I've been using Windows 7 for a long time. I didn't like the look of Windows 8 when it came out, and never saw the point in switching. Having used Windows 10 at work, I definitely have no interest in using it on my home PC, regardless of all the spying it supposedly does. I just don't enjoy using it. I suppose I don't particularly enjoy using Windows 7 either; I've had my share of problems with it. It just happens to be the best version of Windows which is still officially supported. Unfortunately, with that support ending at the start of next year, I would be forced to "upgrade" to a worse version of Windows if I want to continue to get security updates.

Do I really need security updates? I don't know. Is Windows 10 really worse or am I just biased? I guess it's a little of both. Ultimately, though, it probably doesn't matter. I've been somewhat unhappy with Windows in general, and... well, Linux is free.

Switching to Linux, and Why You Should, Maybe


Switching to Linux is seen by some as a daunting task, and perhaps there's good reason for those with no experience with Linux to be just a bit intimidated. To those terrified Linux beginners, I would recommend a user-friendly distribution like Linux Mint. That's what I'm using, despite several years of experience with Linux as a software engineer. It's just incredibly convenient. The Cinnamon desktop environment is fairly Windows-like, and Linux Mint comes with nearly all the features you need in order to avoid ever touching the command line if you don't want to. The installer is also very easy to use. Some casual PC users might not know what all of the options mean, but for those users, I think the defaults are probably fine.

Of course, no matter how automated the installer and how fully-featured the desktop environment, every Linux user will inevitably run into some kind of problem. The very same is true on Windows; the difference is that, when you search the internet for a solution to a problem on Windows, you'll almost certainly find a solution posted by someone who uses the same version of Windows. There are many Linux distributions, though; if you're not using one of the popular ones, you might find solutions which aren't quite what you need, or you might not even find any reliable documentation of the exact problem you're experiencing.

When I turn to the internet for help with installing something or fixing some error on Linux, the solutions I find are usually tailored to Ubuntu, which is fine because Linux Mint is based on Ubuntu, but it's not always the case. Sometimes the answers I find are all about Debian or Fedora. Sometimes it doesn't matter. Other times it does. I'm not saying that troubleshooting on Linux is a nightmare. These days, it really isn't. However, the fact that there isn't just one Linux comes with some inherent problems, such as this one, and troubleshooting does require a bit more patience.

But the fact that there are so many distributions means that, if you hit a roadblock and absolutely nothing works, you could always just try a different distribution.

How I Ended Up with Linux Mint


When I first decided to install Linux on my home computer, I tried Ubuntu. The installation process was mostly easy. I had some difficulty setting up dual-boot with Windows 7, but it wasn't Ubuntu's fault. It was because, while attempting to install Ubuntu from a USB stick, and I had inadvertently booted to my USB stick in UEFI mode while my Windows installation was using legacy BIOS. If you don't know what that means, don't feel bad; neither did I.

The short version of this story is that, when I booted my USB stick in legacy BIOS mode, the installation and dual-boot set-up went smoothly. However, I found Ubuntu's default desktop environment difficult to customize and annoying to use in general. Even after a bit of research, I couldn't figure out if my problems were the result of bugs or just obtuse design. Ultimately, for this reason and others, I decided that Ubuntu just wasn't for me.

That's when I tried installing Debian. The installation process seemed to work perfectly. Then I tried to boot to Debian, and nothing happened. I got a black screen. I did some research but there was really no way for me to try any of the solutions proposed to others who had similar problems, because I didn't even have a working terminal. I couldn't enter any commands. I assume that it was a video driver issue, and I could have attempted to fix it, but I decided that it wasn't worth my time. I had heard good things about Linux Mint, and I hadn't tried it yet, so I dropped Debian like a hot turd and started downloading Linux Mint.

That turned out to be the right decision; Linux Mint was easy to install, it booted up just fine, and to this day I've had no significant problems with it... except when trying to run games that were never meant to run on Linux.

Gaming On Linux


It always takes me a while to get to the point.

Linux Mint is great as a general-use desktop operating system. It comes with Firefox, LibreOffice, a media player, etc. But how is it for playing video games? Well, I'd say it's just as good for games as any other Linux distribution, and gaming on Linux today is better than ever, thanks in part to Steam.

Steam Play and Proton


A Linux version of the Steam client has been available since 2013, allowing Steam users to play any games which happened to have official Linux versions. It was only about a year ago, however, that Steam rolled out an update to the cross-platform Steam Play feature, allowing Windows games to be installed using the Linux client and providing a Wine-based compatibility tool called Proton which allows many of those games to run on Linux with very little effort from the user.

Installing Steam on Linux Mint doesn't require any command line usage, nor does it even require a web browser. You just open the Software Manager, search for Steam, select the first result, and click the install button. Meanwhile, enabling Steam Play for all games is just a matter of checking a box in the Steam settings menu. If I remember correctly, this option is disabled by default, and initially Steam Play is enabled only for officially supported games, which is no surprise; it's sensible for anything that isn't guaranteed to work to be disabled by default. But the option isn't hard to find, and often no effort is required to get games to work even if they're not officially supported.

ProtonDB tracks how well Steam games work with Proton by aggregating user-submitted reports. Games without native Linux support are rated on a scale of Borked (meaning it won't run at all) to Platinum (meaning it runs perfectly out-of-the-box), with three ratings (Bronze, Silver, and Gold) in between. I'll let the statistics on ProtonDB speak for themselves, but they appear to indicate that the majority of games are playable.

My own personal experience with running Steam games on Linux has been better than expected. Of course, I've been using ProtonDB as a resource since the beginning, and I haven't bothered to install games which are definitively rated Borked. In general, I've gravitated more toward the games with higher ratings. Therefore, I can't claim that the games I've tried playing on Linux via Proton, of which there are about a dozen, are a random sample. However, even when I've tried to play games rated Bronze or Silver, I've been mostly successful, as I've found solutions in ProtonDB's comments to some of the minor problems I've encountered. And the only game rated Borked which I've really gotten the urge to play since installing Linux Mint is L.A. Noire, and for such games, I still have Windows 7 installed on my other hard drive.

I won't describe my experience with every game in detail, but the first Windows-only game I played on Linux Mint was Max Payne, and... frankly, it just worked. It worked perfectly, actually. The only difficulty I had was not with the game itself but rather with the unofficial widescreen patch, and it was only a momentary setback. The comments on ProtonDB quickly set me straight; I added WINEDLLOVERRIDES="d3d8=n,b" %command% to the game's launch options in Steam and even the widescreen patch worked perfectly.

Similarly, Max Payne 2 works perfectly in Linux, and getting the unofficial widescreen patch to work simply requires adding WINEDLLOVERRIDES="d3d9=n,b" %command% to the game's launch options. Playing Max Payne 3 was a bit more difficult; initially, it wouldn't launch. Following the advice of comments on ProtonDB, I added PROTON_USE_WINED3D11=1 %command% to the game's launch options, and it worked, but with some bugs. The minor issues with Max Payne 3 which remain can probably be fixed, perhaps by trying one of the other Proton versions offered by Steam or by further modifying the runtime configuration, but I had only installed it for testing purposes anyway. I was really more interested in playing the first two games in the series, so I didn't spend much time troubleshooting the third.

Non-Steam Games and Wine


Despite needing the occasional web search to find the correct configuration with which to run a certain game, Steam Play with Proton is actually so convenient it's easier than ever for me to ignore the games I bought from other online stores such as GOG. While there are games on GOG with official Linux support, the GOG Galaxy client does not have a Linux version (despite a lot of GOG users wanting one). Downloading games directly from the GOG web site isn't hard, but clients such as Steam and Galaxy do offer a lot of convenience.

Furthermore, although I could probably use Wine or other tools to play many of the Windows-only games from my GOG account on Linux, it would require more effort than running Windows games via Steam, which very often just works automatically. I did install Wine with the intention of playing non-Steam Windows games, but I just haven't used it yet, because Proton — when it works, which it usually does — is just so effortless. If I'm trying to decide what to play, and I've narrowed down my choices to one GOG game and one Steam game, I'm likely to pick whichever is easiest to run on Linux, and that's going to be the Steam game nine times out of ten.

That might change a bit when I get around to trying Lutris, a game client not associated with any particular store, which also claims to reduce installation of many Windows games on Linux to a zero-effort, one click process. It looks like a promising solution for playing some of my GOG games on Linux. For what it's worth, though, installing Lutris is one extra step. I'm going to have to be a jerk and say that Steam still makes it easier by having Proton integration built in to its own client. So many of my games were already working on Linux as soon as I installed Steam that I haven't taken the time to use much of anything else.

So I don't have much to say about running Windows games with Wine, via Lutris or otherwise. I plan on experimenting with it eventually, and once I've done so, I'll probably write a sequel to this post. Right now, though, I'm looking at a huge Steam library and a high success rate with using Proton with very little tweaking, so I probably won't be straying away from Steam very often, except for the sake of experimentation. When I just want to play a game, Proton is often the best way to make it happen.

The Classics


There is one category of games for which I've already strayed outside the Steam bubble: Old-school shooters. I've got to have them.

The Steam versions of The Ultimate DOOM, DOOM II: Hell on Earth, Final DOOM, Heretic, HeXen: Beyond Heretic, and HeXen: Deathkings of the Dark Citadel all run in Proton. They were all, in fact, officially tested by Valve with specific versions of Proton, so that they show up in my Steam library with labels like "Proton [version number] selected by Valve testing" and will run with the indicated Proton version instead of the default I selected in the global Steam settings.

I find this rather amusing because the Steam versions of these games run through DOSBox which, if I'm not mistaken, has a Linux version. However, I'm not suprised that the game's publisher, id Software, hasn't made the effort to repackage these old games with the Linux version of DOSBox for an official Linux release on Steam, especially given that most users who are computer-savvy enough to use Linux will just take the game files downloaded via Steam and run them in a source port instead of DOSBox anyway.

That's what I did with all of these games, immediately after installing them. There's a Linux version of GZDoom, which isn't a suitable source port for anyone who wants the games to run exactly as they did in the '90s, but it's good enough for me. Like any sane person, I did disable major gameplay options which were not in the original games (such as vertical freelook in the DOOM games, jumping in DOOM and Heretic, and ridiculous stuff like crouching), but the graphical upgrades don't bother me.

Getting GZDoom to launch with the correct options for each game was a bit of a hassle, but no more than it was on Windows. The only real problem is that GZDoom, on my system, encounters some kind of error when I close it, which might have something to do with the fact that it doesn't seem to save changes to the gzdoom.ini file unless I enter the writeini console command while running GZDoom. Knowing the workaround, I'm not really bothered by it.

Satisfied with the DOOM and Heretic/HeXen games, I moved on to Wolfenstein 3D and its expansion Spear of Destiny, and installed the source port ECWolf. To my surprise, it seems to work perfectly despite being, in my estimation, less widely used than GZDoom. So then I moved on to the Marathon trilogy, available as freeware since 2005, and attempted to install the source port, Aleph One. That, unfortunately, could have gone more smoothly.

Not Everything is User-Friendly


The official Aleph One web site has some pretty basic instructions for installing the Linux version: Unpack the .tar.bz2 file and, in the unpacked directory, run ./configure && make && make install. Unpacking the file was easy, but I started having problems as soon as I ran the configure command. I won't bother going into all of the messy details, but I went through several iterations of trying the installation, which would fail due to missing dependencies, and then installing those dependencies.

Synaptic Package Manager, included in Linux Mint, makes finding and installing missing packages about as easy as it can be; doing it on the command line using apt or apt-get isn't very hard either. But I had never needed to hunt down dependencies like this. When installing software through Linux Mint's Software Manager, or even when installing a program using apt install, all dependencies are installed automatically (which I now regard as a miracle). Installing software manually, however, isn't quite so easy. Perhaps I was to blame for not knowing what all of the dependencies were beforehand, but it was getting frustrating.

When I finally got Aleph One installed, I was able to launch Marathon, but it printed some errors to the screen and there was no HUD. Searching the internet for a solution, it turned out I was still missing some "optional" dependencies, and installing those made things worse; my next attempt at installing Aleph One failed outright, seemingly due to a dependency which I had already installed.

That's when a comment on the Aleph One GitHub repository, posted only eight minutes before I saw it, clued me in to the fact that I had gone down the wrong rabbit hole. The easier and more reliable way to install Aleph One is to clone the Git repo, go into the root level folder, and run ./autogen.sh followed by make and make install. I had to install git (which I've used extensively but not at home) and I was still missing a couple of dependencies required by the autogen.sh script, but it told me exactly what the dependencies were, so installing them was just a matter of running the correct sudo apt install command.

So I've got Marathon and its sequels working on Linux now, but installing Aleph One took more than an hour after all was said and done. I've learned a lot, though, and ultimately the solution to every problem was revealed with a simple internet search. This story could scare people away from trying to play games on Linux, but it's important to keep in mind that I had this much trouble only because I was trying to play a 25-year-old game. Doing that on Windows isn't always easy either.

I still haven't installed the classic Quake games, and I think those are next. I can only hope installing their source ports will be a bit easier.

Conclusion


I guess the moral of this story is that installing and running games on Linux can take a bit of patience, but I only came close to running out of patience when I tried to do things that only an old-school game enthusiast determined to use Linux at all costs would ever try to do. With Steam, many of the games that work on Linux will "just work" and, for non-Steam games, I'm told that Wine isn't very hard to use either. However, I do know just enough about Wine to know that it requires some effort. The average consumer expects things to work with a single mouse click. They want one-click install and one-click launch of every game.

For games with native Linux support, you can have that. For the rest, Steam comes pretty close to providing that level of convenience. Until other stores like GOG implement some kind of compatibility layer like Proton into their own clients, Steam will dominate Linux gaming for the same reason that Windows dominates gaming in general: It's just easier.

Thursday, March 16, 2017

Losing Forever and Loving It


Lately, I've been playing a game called Devil Daggers, released by independent developer Sorath in 2016. I've been playing it a lot, which is interesting because it belongs simultaneously to several subsets of video games which I generally try to avoid:
  1. It's an endless game with no win condition. You play until you lose, and your score is the amount of time for which you managed to avoid losing. You can never really "finish" Devil Daggers; you can only decide that you're happy enough with your high score (or frustrated enough with the game itself) to stop playing. I like games that have definitive endings. I like to know when I'm done. Simply put, I like to beat games, but I'll never beat this one.
  2. The game is stupidly difficult. I'm almost 30 years old and I have a full-time job with a long commute and I'm getting married this year and I'll probably have children soon, and I don't have time to get good at stupidly difficult games. The only real measures of success in Devil Daggers are an achievement for surviving 500 seconds (which I'll never unlock) and placement in a global leaderboard (which will never have my name at the top). As of the last time I checked, only 49 people in the world were high enough on the leaderboard to have unlocked that singular achievement, and I very much doubt that I'll ever be among the top 50 players, no matter how much I practice.
  3. Despite being single-player, Devil Daggers is competitive (by way of that leaderboard), and I generally don't like competitive games for the same reason that I don't like stupidly difficult games.
  4. Devil Daggers is stressful. Each time I set a new personal record, my heart is pounding and my hands are shaking at the end. It's usually why my best runs come to an end. The game requires precise mouse control and shaking hands are a death sentence. This is not a relaxing experience. I wonder what it's doing to my blood pressure.
I suppose most of this can be summed up as follows: Devil Daggers makes me feel really bad at video games.

This isn't to say that I'm actually, factually, objectively bad at the game. Judging by the numbers, I think I've done rather well, reaching around 315 seconds on my best attempt which, at the time, nearly put me in the top 1,000 players. (To be more precise, I was ranked in the 1,040s, but a lot of players surpassed me while I was taking a break to play Dishonored and some other games, so presently I'm down in the 1,190s.) Then again, from where I stand, things look bleak. I've only gotten good enough to appreciate how much better the best players are, and how much better I would need to be in order to reach that 500-second goal. Devil Daggers is so incredibly hard that I still haven't survived long enough to fight every type of enemy, despite having gotten farther than the vast majority of players (who are numbered at over 100,000 according to the global leaderboard).

Maybe this makes me a sore loser, but I don't really like the idea of losing over and over again for eternity, with no end in sight (even if we consider 500 seconds to be a win state). Furthermore, I've never been a fan of having my scores, good or bad, permanently on display for the world to see. It seems that Devil Daggers is eating up an unusual amount of my time for a game that makes me feel like such a hopeless loser, especially considering I have an absurd number of games which I still haven't played and not enough time to play them. I really shouldn't be spending all my time on one frustrating game I'll never beat. So why am I doing it?

Because I'm addicted. Because, despite being exactly the kind of thing that drives me nuts, Devil Daggers is just a really good game.

It's also a simple game: There's one level. The same enemies always appear at the same times. You shoot them until you die and then you play again. There is no story. There are no characters. The faux-retro graphics are stylish as hell but are, of course, unlikely to impress anyone who doesn't have any nostalgia for that kind of thing. Setting aside the difficulty which extends the playtime via endless retries after infinite losses, there isn't much content. The best times, held by players whose skill level seems almost superhuman, are only around 1000 seconds. New content ends long before that time, when the "final boss" is defeated and enemy spawn patterns seem to enter a loop. It wouldn't be unfair to say that the length of the game itself, not counting countless replays, is only a few minutes.

None of this is meant as a criticism, though. Small games are okay if the price is right, and Devil Daggers is only $4.99, which seems appropriate. I got it from a $1.00 bundle, because I watch out for PC game deals like a hawk, but I wouldn't be disappointed if I had paid the full price.

Impatient players will conclude after a few attempts that Devil Daggers is merely a cheap novelty to be played for a few minutes and tossed aside, or that it's more of a tech demo for Sorath's brand of old-school pixel graphics than a carefully designed game. It's understandable that one might not see any value in the game after a few rounds of losing almost immediately. Until you get the hang of the basics, you'll die just because your reflexes weren't fast enough, or because your aim wasn't precise enough, or because you weren't looking in the right direction at some crucial moment. The surface-level gameplay (shoot things quickly and don't get hit) will appear to be all this game has to offer. However, Devil Daggers is deeper than it may appear at first glance. I wasn't lying when I called it a simple game — mechanically, it is simple — but even the simplest mechanics can introduce a layer of strategy.

Movement, spacial awareness, prioritization of targets, and understanding of enemy behavior are all very important, of course, as they are in any decent first-person shooter. Even weapon selection comes into play, as your primary dagger attack can take the form of a shotgun-like blast or a machine-gun-like stream, and limited homing daggers are acquired later on. What sets Devil Daggers apart are a few unusual gameplay mechanics, the most notable of which is somewhat counter-intuitive.

Although it might not be obvious at the start, you won't get far in the game without collecting the red gems dropped by tougher enemies. You'll acquire important power-ups at 10 gems, 70 gems, and (nominally) 220 gems. The catch is that those gems, which disappear after a few seconds, will move away from you whenever you shoot. They'll be attracted to you whenever you're not shooting, but, even then, they might not catch up with you in time, if you're moving away from them at full speed.

In a game with rapidly spawning enemies and infinite ammo, holding your fire and slowing down are exactly the opposites of what you'll want to do. It's easy to forget that the gems are even there, and the difficulty of picking them up increases sharply with the number of enemies on the battlefield; you won't have time for a break when you've got an entire army of demons breathing down your neck. In this way, the gem mechanic serves to punish the player for being unable to keep the battlefield under control. Giant spiders which steal your gems, and towering squid-like spawn points which periodically spit out enemies until destroyed, will have the same effect. When things start to go wrong, it can all fall apart very quickly.

The first step to becoming proficient at the game is recognizing that sound is extremely important. Each enemy makes a unique sound; you can usually hear them as they spawn, even before you can see them, and you'll even have some warning if one of them is approaching from behind. It's easy for some of the more subtle sound effects to be lost in the chaos, but you'll learn to focus on the ones that really matter.

More experienced players will learn to move faster by repeatedly jumping, to maximize shotgun firing rate with the perfect rhythm of click-hold-release, to collect more gems by deliberately leaving some enemy spawn points intact, and to gain more height by shotgun-blasting the ground while jumping (although the practical usefulness of this last maneuver is questionable). Ultimately, however, it seems the key to being the best is to memorize the game (after, of course, mastering aim and movement). You need to know exactly which enemies are in the upcoming wave and exactly how to defeat them most efficiently. The fact that each round is the same, in terms of when each enemy spawns, is arguably the game's greatest flaw. However, if the game were more unpredictable, it would also be a lot more difficult. The best scores would likely be a fraction of what they are.

On the subject of flaws, there are a few "gotchas" in the game's design, namely that homing daggers are acquired at 70 gems but using them will detract from progress toward the next upgrade. Inexperienced players might be unaware of this, because the number of gems acquired and the number of homing daggers remaining are both invisible to the player. But I guess the idea is that, once you're good enough, you won't need those homing daggers and, knowing they're limited, won't use them. Getting the last dagger upgrade would then come naturally, but perhaps not for more trigger-happy players. The fact that you can't see how many gems you have until you're dead is certainly an annoying feature, in any case.

If I could add one feature to the game — leaving all of the existing content intact, of course — I would add some kind of campaign mode. Maybe it's because the game is so reminiscent of Doom, Quake, and other old-school shooters, but it just seems to be begging for one. Besides, one flat arena is too bland an environment for a game with such a wonderful art style.

Okay, so maybe I just want the chance to say I beat Devil Daggers. That would be nice, too. But I also want more from Sorath, even if it's another game I'll never win. In the meantime, Devil Daggers is the perfect game to play when I have only a few minutes of downtime.

Monday, July 4, 2016

Steam Sales: The Golden Age is Over


This year's summer sale on Steam ended today. I didn't buy much, despite having $70 worth of gift cards to scratch off and some leftover credit from an older gift card which I never used up. I think it's fair to say I'm disappointed. This was my chance to go nuts, and I just couldn't force myself to do it. There just weren't enough games that seemed worth buying. Needless to say, I'll have to tell people not to get me Steam gift cards anymore. If they keep it up, I'll never be able to spend it all. It's going to take me a while to burn through all these Steam bucks, and it's not even a lot of money as far as video games are concerned. Some people spend $60 on a game without blinking.

However, I've grown too accustomed to my own "never pay more than $5 for a video game" rule. To be honest, I probably wouldn't have regretted using $35.99 of my precious gift-card money for the new Doom, which, despite being a supposedly great game, was discounted an impressive 40% (from $59.99) only six weeks after release. However, if it drops that fast, it's probably going to drop even more if I wait until the next sale, and I'm not really in a hurry to play a game in which the multiplayer mode is supposedly the worst part. In any case, even though I didn't take advantage of this particular deal, I wanted to mention Doom as an example of how this Steam sale was pretty okay. It wasn't all bad. However, Doom aside, it just didn't feel special.

Every year, there seems to be a general consensus that the biggest events on Valve's digital store — namely the big sales in winter (around Christmas) and in summer — aren't as "big" as they used to be. Every Steam sale in recent memory has been accompanied by exclamations of disappointment and claims that previous sales were better. I think it's party because these events have generated a bit too much hype over the years. When there's a certain amount of hype, it becomes impossible for reality to keep up. Moreover, with every passing Steam sale, there's another sale to which every future sale can be compared. We also have to be aware of the effects of nostalgia, and ask ourselves whether past Steam sales were actually better or whether we only think so because we have fond memories of enjoying them.

Stories of the good old days, clearly, should always be taken with a grain of salt. For the record, though, I do think there's some truth to them. "Steam sales used to be better" is a subjective statement, and assessing the "truth" of such a statement is difficult to do in any meaningful way, but there are some relevant objective facts which need examining, namely that Steam sales have undergone two major changes in the past few years.

I have no intention of limiting myself to total objectivity in everything that follows, but I think I can be objective enough to make a valid point. Personally, I'm not disappointed in this sale because I fell for the hype. I wasn't really hyped at all; my expectations, actually, were rather low. I'm not disappointed in this sale simply because of nostalgia, either. My disappointment with this particular sale is related to pricing; it can literally be quantified. What might be true is that I'm disappointed in this sale largely because I've already taken advantage of so many previous sales that, of all the games which could have been expected to see deep discounts this summer, I've already acquired most of the ones which interest me. If this is the case, however, it's unfortunate that so many of the remaining games which do interest me were discounted less in this sale than they have been in the past.

I had heard good things about Dark Messiah of Might & Magic, for example, and considered buying it last night. It was only $4.99, so it even fit within my "never spend more than $5 on a game" budget which shields me from any potential buyer's remorse when I don't have more than $70 in virtual money burning a hole in my Steam wallet. However, I always want to know I'm getting the best deal (or something close to it), even when the use of a gift card limits my options to a single store, so I looked up the game's price history on SteamDB. It turns out I would have been spending twice as much as the lowest price. The fact that such an old game was discounted a mere 50% should have been a clue; the 75% discounts are usually the ones which justify any Steam sale hype, and Dark Messiah of Might & Magic had several of them (putting the game at only $2.49) prior to this year.

There were several other games which I would have bought if their price histories hadn't shown better deals in the past (leaving open the possibility of repeats in the future). The best examples I can remember (coincidentally each with a base price of $9.99) were those which, like Dark Messiah of Might & Magic, had been demoted from 75% discounts to 50% discounts at some point over the past couple of years: Lisa was $4.99 in this sale, but had been $2.49 during the most recent winter sale; Far Cry 2 was also $4.99 in this sale and in the most recent winter sale, but had been $2.49 during last year's summer sale and in several prior sales; Papers, Please was $4.99 this time but had been sold for less on numerous occasions, going down to $2.49 at least once.

In only one case, I overlooked the effective "increase" in price: Once upon a time (although SteamDB's price history doesn't seem to go back far enough to show it), Max Payne 3 had been $3.99. For some reason, I chose not to buy it on that occasion, and the price has gone only as low as $4.99 in every sale since then. I really wanted the game and I had doubts about the price ever hitting $3.99 again, so I bought it anyway. It's not a big deal, really, but the other games mentioned here were low enough on my wishlist that I could stand to forgo the purchases on principle.

Looking up the price history of every game on Steam in order to draw a scientific and unbiased conclusion about the quality of any given sale is too much work for a blog post, so I'm going to stop that here. Still, the last two major Steam sales — i.e., the one which just ended and the most recent winter sale — were different from previous sales in a far more obvious way: static discounts.

It used to be that every major Steam sale followed a fairly predictable pattern. While a large number of games would be discounted for the duration, a few games would be featured daily with greater discounts lasting only a day or two. At some point, these daily deals were supplemented with flash sales posted every eight hours, so we had those for a while too. These limited-time deals made it worthwhile to check the Steam store on every day of such an event, or multiple times per day after the addition of flash sales. In fact, doing so was practically necessary if you wanted to make sure you were getting the best deal on anything. It was under these circumstances that I posted this guide, which is totally useless now that daily deals and flash sales are no more. In my opinion, it's unlikely that Steam sales will return to the way they were before.

This isn't necessarily a bad thing for everyone. Although the sense of excitement is mostly gone for those who enjoyed checking the store every day for new deals, those with busy work schedules or unreliable internet access will find that the anxiety and frustration of missing these short-term discounts is gone as well. In many ways, the current model is better. Inexperienced shoppers (for whom I wrote the aforementioned guide) will no longer be tricked into buying a discounted game only to see the discount increase a few days later because they didn't know to wait for a daily deal. It's worth mentioning that Steam's refund policy could have helped to alleviate this problem as well, but I'm sure many appreciate the clarity anyway. Any deal you see on any given day of the sale is the best deal you'll get during that sale. Of course, as pointed out above, it might not be as good as the best deal Steam has ever offered.

And that's fine. It's normal for Steam discounts to fluctuate from year to year due to unseen forces beyond mortal comprehension. Nobody should expect every game to be at its absolute lowest price during every sale. Unfortunately, although I lack the hard data to back it up, I suspect that a game is now less likely to hit its rock-bottom price during a major Steam sale, thanks to the lack of short-term discounts.

A developer or publisher who was willing to sell a game at 75% off for 24 or 48 hours might be unwilling to sell that game at 75% off for a much longer period of time, like the 11 days of this most recent Steam sale. In choosing the discount for a promotion lasting more than a week, the developer or publisher might be willing to go only as far as 50% off. Dark Messiah of Might & Magic might be an example of this. The game hit $2.49 (75% off) for short periods of time on several occasions, but it hasn't gone below $4.99 (50% off) since Steam got rid of daily deals and flash sales.

The death of daily deals and flash sales is the second major change in Steam sales that occurred over the past few years. The first, explained in a previous post, was the death of giveaways and contests. The first three major Steam sales which I can remember were more than just sales: There were prizes to win, including lots of free games for a lucky few. In addition, badges were earned in part by unlocking special achievements in various games and by completing other simple community-related objectives. These things were meant to drive sales and build membership, of course, but people seemed to enjoy them.

After the 2011/2012 winter sale, the giveaways stopped, and so did the special in-game achievements. The next event did introduce flash sales (in which one of the games in each round was decided by a community vote), and still had community objectives as a way of earning badges. Starting with the 2013 summer sale, however, everything began to revolve around trading cards, which were henceforth required to earn each event's badge. During that sale, they were earned by casting votes for the community-chosen games in each day's flash sales. In this year's summer event (which lacked flash sales), you could earn these cards by clicking through your queue of recommended games each day. The one interesting sale in between was the 2015 summer sale, in which trading cards were earned by playing a so-called minigame, but it wasn't what I'd call fun. It was essentially a massively multiplayer Cookie Clicker, which didn't even work properly for much of the event due to Steam servers being predictably unprepared to handle the traffic load.

Anyone who thinks Steam trading cards are lame can still collect the free cards during each event and sell them on the market for Steam credit. It's hard to complain about free money. However, it's also hard to argue that the lack of free prizes makes recent Steam sales any more enjoyable for the community.

Although it might sound crazy, I do wonder if Valve is deliberately trying to kill the Steam sale hype. The giveaways were good for generating excitement, but Steam quickly became so well known for its sales that only the impatient or uninformed would ever buy a Steam game at full price. "Wait for the sale" became (and still is) the immediate response to anyone asking if a game on Steam is worth buying. Back when daily deals and flash sales were still a regular occurrence, the standard advice also included "wait for a daily deal or flash sale" (and perhaps buy the game on the last day of the sale if it never received either of these super discounts). Not only did Steam users learn not to buy games at full price; they also learned not to buy games at a discounted price until it was clear that the price wouldn't go any lower in the immediate future.

This is all perfectly rational, so it's not like Steam's customers did anything wrong. The situation might not have been great for business, though. Some developers have said they love Steam sales because it's when they get much of their revenue, but some might not appreciate the community's perception that the real price of a game is the "daily deal" price and that the game should be ignored at every other moment. The predictability of Steam sales is the problem; customers know they can get a game for 75% off if they wait, so those customers see no point in the game even being available at full price for the rest of the year.

Meanwhile, it wasn't an ideal situation for all consumers, either; I'm thinking mainly of the consumers who hadn't heard the advice about waiting for daily deals and flash sales. When a game is discounted for the duration of a several-day event only to be discounted even further for a shorter period of time within that event, the lesser discount can seem like a trick. If a game is going to be 75% off for a day, it's best to just leave it at that, instead of offering a 50% discount for several days prior. Recent Steam sales have obviously gone in the other direction, though, favoring long-term discounts. This allows for all kinds of bragging about the number of games on sale, even if this means some developers and publishers are less likely to push their prices as low as they would have done for daily deals and flash sales of years gone by.

As I mentioned above, I think it's unlikely that daily deals and flash sales will make a comeback, although it might happen if sales begin to suffer due to lack of interest and Valve decides they need to rebuild some of that hype. Likewise, I'm absolutely certain that giveaways and contests are long gone, never to return. However, even if it's true that the golden age of Steam sales is behind us, I can't really be too upset. It just means I was around for the best part of something which still, honestly, is pretty good.

I'm still disappointed, but I also know that I'm spoiled.

Friday, May 13, 2016

Game Journalist Attempts to Play Game

Yesterday, notoriously awful "gaming" website Polygon posted the first thirty minutes of the new Doom game's single-player mode on YouTube. There's no indication of who was playing, but it's pretty safe to assume it was indeed a Polygon employee, not just because it came from their YouTube account but because it's likely that the incompetent goons who write for Polygon are exactly this bad at video games:


I don't really need to make fun of this video. It speaks for itself. I don't need to spend any more than this one sentence expressing my mixed feelings of dismay and amusement that there might actually be a real person in the world who is so bad at a video game and yet so sure that the footage is good enough to share with the world, because I know everyone else feels the same.

But even now that I've accepted and learned to live with the fact that someone most likely got paid to record this video, there are so many other secondary and tertiary reasons to be upset:

"Lockdown in effect." Maybe it's just that this is the beginning of the game and the player is assumed to be in need of some tutorial lessons in a controlled environment. Maybe this "lockdown" sequence is a recurring event in a game which turns out to be what I fear most: a series of mandatory fights in a linear series of rooms, with only the occasional open area or branching path. Either way, it's just too "modern gaming" for a product whose destiny, I thought, was to pander to the nostalgic fans of an older Doom which featured less hand-holding and allowed more freedom to explore.

Tiny little cut scenes. I've known about it since the first trailer for the game, but it still bothers me. New gun? Tiny cut scene. New item? Tiny cut scene. Push the magic "look how awesomely I can kill this bad guy" button next to an enemy whose suddenly glowing body is supposedly an indication that he's about to die? Tiny cut scene. Drop from a great height? Tiny cut scene. It breaks the flow of what might otherwise have been a nice run-and-gun game worthy of being called Doom. But hey, what do I know? I'm just some old guy who remembers the '90s.

This bad video makes the game look bad (graphics aside, of course). That's probably why I'm nit-picking about minor aspects of the game instead of appreciating what it does right, like blood and guts.

This video is probably bait. Really, could anyone be this proudly awful at a game? It was probably done for attention. Surely the video has gotten more views for being awful than it would have gotten for being half-decent. And here I am contributing to that.

These people get paid to write video games news and reviews. I'm mad about this whether the video is serious or not. If they intentionally made the video so bad with the hope that their stupidity would go viral, I don't trust them to report on video games. If they are really this bad at video games, I don't trust them to review video games.

Polygon still exists. It's terrible.

People still play first-person shooters with controllers. I certainly don't mean to imply that the use of a controller instead of a mouse is the sole or primary reason for such spectacularly awful performance. However, even such a woefully inept and inexperienced player could have produced a more bearable and less embarrassing video with the use of a mouse, and even the best player's aiming is jerky and unnatural with a controller. The video is hard to watch for reasons that have nothing to do with skill. Every video of a first-person shooter being played with thumbsticks gives me motion sickness. "A mouse makes the game too easy" is always the first retort from people who think they need to defend their favorite toy from my opinions, but in any decent shooter, placing the reticle on a target is more of a basic requisite skill than a meaningful challenge, so there's no excuse for making it artificially hard by aiming with a device which is bad for aiming. Even video game developers know this, which is why console shooters have aim assistance. They don't want you to suck at aiming, but controllers are so awful that the game designers need to help you to not suck at aiming. Every good first-person shooter is better with a mouse and keyboard. Every player who is good with a controller can be better with a mouse and keyboard. No one can refute this with a straight face.

I'm tired and angry now. I can't even finish writing this.

Sunday, July 20, 2014

On Killing Thousands of Robots

For the past few months, during my unintended (laziness-induced) hiatus from updating this blog, I've been playing a few different games. I spent some time on Planetside 2, which is fun with friends but isn't something I would ever play without them. I also tried and failed a few more times to make further progress in The Binding of Isaac, whose randomly generated dungeons and mostly unexplained item system are a great source of replayability despite all the frustration that inevitably comes with such a strongly luck-based game.

More importantly, however, I've wasted far too much time playing a game called Hard Reset and also I've fallen back in love/hate with another time-sucker called Ultratron. I didn't expect much, since I didn't pay much — Hard Reset came as part of a $4 bundle from Bundle Stars, and Ultratron came in a $1+ bundle from Humble Bundle — but I've played almost 50 hours of the former and nearly 40 hours of the latter, so I probably got my money's worth.

Hard Reset is a gorgeous first-person shooter with some interesting weapon design, a minimalist heads-up display, and a heavy emphasis on using environmental hazards to destroy the seemingly endless waves of mechanical bad guys. The game was developed by some of the same people who made Painkiller and, like its occult-themed cousin, Hard Reset is often described as an "old-school" shooter — a throwback to the days of Doom and Quake. To some extent, this is accurate. Unlike so many modern video games, this one doesn't try very hard to be a movie. It's not filled with excessive dialogue and exploding set pieces and scripted action sequences. It's non-stop running and gunning all the way through. It's all about challenging the player. It's a real game. It does attempt to tell a story — perhaps it even tries a little too hard — but, just as in Painkiller, it's not a very good story and it should probably be ignored anyway.

Most of the exposition takes place during loading screen cut scenes, drawn and badly animated in the style of a comic book. When you get to one of these loading screens, I suggest that you go and make a sandwich or something. The plot hardly makes any sense, the acting and writing are both profoundly awful, and the protagonist (made immediately ridiculous by a hilariously typical video-game-action-hero voice) was apparently designed by some 12-year-old kid who thinks the unnecessary use of profanity is just the coolest thing ever conceived. For all intents and purposes, Hard Reset doesn't have a plot. It's far more story-driven than Painkiller, but even if you manage to decipher what's going on, you're not going to care in the end.

Where Hard Reset really strays from its old-school shooter roots is in the adoption of some modern gameplay mechanics. If you'll allow one more comparison to Painkiller, I'd like to point out that its demon-slaying protagonist could run circles around almost any enemy... or, more accurately, he could jump circles around any enemy. While running speed was rather slow in Painkiller, the player could accumulate a lot of extra speed by repeatedly jumping. Although this trick was not explained in any tutorial, it was crucial. This high mobility was a staple of Painkiller gameplay, and provided an advantage over the enormous hordes of enemies that would otherwise surround the player. Hard Reset, on the other hand, has painfully slow running speed and no "bunny hopping" ability. Instead, you just get a sprint button which allows a modest boost in speed for only a couple of seconds.

The limited sprinting ability does manage to be useful, but only marginally so. I must stress that "a couple of seconds" is no exaggeration. The protagonist runs out of breath faster than a morbidly obese pack-a-day smoker with one leg. The result is a game that feels maddeningly sluggish to fans of the same fast-paced old-school shooters to which games like Hard Reset and Painkiller draw so many comparisons. The problem is exacerbated by certain enemies whose attacks often seem unavoidable and — I'm convinced — sometimes are. Running at the speed of a tortoise, armed with only two seconds of slightly-faster-than-tortoise sprinting, can be extremely frustrating when you're being bombarded with missiles and you can't think of a way to output enough damage to kill the enemy before his carpet bombing attack kills you.

Even switching to the right gun can be a bit of a chore — a waste of time when there's no time to waste — thanks to the game's interesting but gimmicky weapon system. Most of the first-person shooters of my childhood days would allow the player to carry a totally unrealistic number of weapons (usually the game's entire arsenal) at once for the sake of fun. On the other hand, most  modern shooters limit the player's holding capacity (usually to two or three guns) either for the sake of realism, or for ease of access when using a console gamepad instead of a full keyboard, or for the increased challenge that might be faced by the player when he or she is forced to drop a useful rocket launcher in order to pick up a needed sniper rifle. The weapon system in Hard Reset almost seems like a parody of these modern trends in that, technically, only two guns exist in the entire game.

The player is immediately given an assault rifle and a plasma rifle. The gimmick is that each of these guns can be upgraded with up to four additional weapon modes, and most of these weapon modes have both a primary and a secondary function. So you'll get your shotgun, your grenade launcher, your rocket launcher, your lightning gun, and your big laser canon. You'll even be able to hold them all at once. Unfortunately, all of those functions will be crammed into two weapons, which means you often have to switch to the correct gun and then to the correct firing mode instead of just going directly to the weapon you want. This can be a problem when you need to pull the right weapon quickly, especially since the timely use of stunning weapons on fast enemies is all that compensates for the protagonist's lack of speed.

Despite these issues, Hard Reset is pretty decent. You'll need to adapt to the unusual weapon system, and you'll need to get over the fact that the main character can't run twenty feet without taking a breather, and you'll need to pretend the laughable plot doesn't exist... but none of these are reasons not to play. If there's a reason not to play, it's a lack of patience and an unwillingness to lose a lot before winning. Hard Reset is a rarity in modern times — a truly punishing game whose higher difficulty levels will be deemed impossible by many players.

As for me, it seems I'm a masochist. After starting at the easiest difficulty setting, I decided to work my way up to the hardest. Normal mode all right, Hard mode was frustrating, and Insane mode nearly caused me to smash my computer on numerous occasions. At this level, the game becomes a nightmare. The toughest enemies are bullet sponges, practically unavoidable projectile attacks can kill you in seconds, and you're forced to adopt strategies that weren't necessary before. The use of immobilizing weapons, like stasis grenades and EMP bursts, becomes an absolute necessity, and players who fail to utilize environmental hazards like explosive red barrels will find it difficult to overcome the cruel mathematical problem of dealing enough damage to the enemies before inevitably being shredded to pieces. The infinite waves of little enemies that harass you during boss fights are suddenly a real threat, and they'll kill you as often as the bosses themselves do. Splash damage from explosive weapons will kill you even when you think you're behind cover. When playing the higher difficulty modes, you will die a lot, even if it's not your fault. The game isn't fair.

But I beat it anyway. I kept trying even when I thought it was impossible. I responded to the game's unfair tactics with some unfair tactics of my own. I had an all-out battle of patience and reflexes and wits against a computer and won.

The only problem is that Insane mode isn't actually the highest difficulty. There's one more, called Heroic mode. It's even harder. Worse yet, mid-level checkpoints are removed. You have to beat entire levels without screwing up at all, and the levels are long. Throughout most of Insane mode, I died at least once or twice in every fight, and dozens of times in others.

I think this is where I give up. I don't think I'll ever get through Heroic mode. Even if I'm capable, I just lack the willpower. I've played through the entire game four times and it's no longer fun enough to justify that kind of frustration. And that's okay — I'm fine with that — except that my completion of the game will forever be stuck at 98%. There are just two achievements left: one for beating Heroic mode and then, stupidly, another achievement for unlocking all achievements.


It's just so close that I can't not be annoyed.

I don't usually care much about achievements. Some people can't get enough of them, and some people absolutely despise them. Most of the time, I'm indifferent. Optional challenges are great, as long as they're actually fun, and whether those optional challenges come in the form of "achievements" or some other functionally equivalent feature with a less silly name is irrelevant. If I play all the way through a game and I want to play it some more, the additional challenges are something worth considering. Sometimes I decide to ignore them.

But that's hard to do when I've already done all but a couple of them. It's not even about the pride of reaching 100% completion; it's about leaving things unfinished. It's about the fact that achievements on Steam are a permanent record that I have to see whenever I look at the game in my library, even if it's not installed. It's about something being so close to perfection and not being perfected. As far as I'm concerned, 0% is just as good as 100%, but numbers like 1% and 99% are the worst.

I have a similar issue with Ultratron, the other beautiful, chaotic, punishing, evil-robot-themed game I've been playing recently. If you understand that the title is a reference to Robotron: 2084, you probably already know that this one isn't a first-person shooter. Ultratron is a top-down arena shoot-em-up with highly stylized faux retro graphics and a multitude of ridiculous power-ups. Much like Titan Attacks, the over-the-top Space Invaders clone made by the same developer, Ultratron starts out slow and then gradually becomes an unforgiving hell of colorful projectiles and flashy explosions. And it's more addictive than heroin.

I loved Titan Attacks so much that I played it until I had all the achievements unlocked. I thought I loved Ultratron that much too, but a few of the achievements are just stupidly difficult. Once you're past a certain point, the game becomes extremely intense, and you only get a checkpoint every ten levels — after, not before, each boss. Worse yet, some of the most challenging achievements require a certain number of kills, and the counter resets to zero if you start playing from a checkpoint. If you want the game to count your 10,000 kills, you'll have to get them all in a single playthrough without ever dying. It doesn't have to be all in one sitting, since you can save at any time, but that save disappears after it's loaded. Saving is for taking breaks, not for backing up your progress.

I got fed up with Ultratron after a while, and stopped playing it for months, but I'm back at it again. I told myself I was just going to play a few rounds, but now I'm looking at those last few achievements and saying "yeah, I can totally do that." And I probably can't, but 94% is so close to 100% that it's hard not to try. I should also note that we're not really dealing with additional challenges, in this case, since Ultratron is one of those arcade-style game that goes on as long as you can keep winning. The game doesn't have a real "ending" so the completion of achievements is really the only form of "winning" there is.

Sure, it's silly to be so irritated by falling short of 100% completion, but at least I have the sense to know I'm being silly. At least I'm not so determined that I'm willing to keep playing these games past the point where they stop being enjoyable. When I wanted to unlock the last few achievements in L.A. Noire, just for the sake of neatly wrapping up a fairly enjoyable game, I just used a walkthrough for those idiotic scavenger hunt achievements (Star Map, Auto Fanatic, and Hollywoodland) because doing it myself would have taken so long that I would have hated the game by the time I was done with it.

Not everything can be helped with a walkthrough, though. So should I try to beat Ultratron? Should I bother to clear that last hurdle in Hard Reset? Surely I've blown up more than enough robots this year, with a combined 85 hours in these two games alone (plus whatever uncounted hours I spent playing them with Steam in offline mode). I guess the answer is "maybe someday."

Or maybe I'll just use Steam Achievement Manager — a tool whose use I never understood before now — to unlock these practically impossible achievements just so I'm not tempted to waste endless hours actually attempting them. Trying to master everything I play is exactly why I'll never get through my backlog.

Wednesday, October 24, 2012

Games to Play on Halloween

The best holiday is coming up in only a week, and if you're looking to get hyped for Halloween, the only thing better than a cheesy horror movie is a spooky video game. I'm going to list a few of my favorites here, in no particular order.

Of course, the most obvious can go first.

Resident Evil


I'm not sure what to say about the series as a whole. The franchise itself is nothing short of legendary, but I wasn't fond of the prequel Resident Evil Zero, and I've heard bad things about both of the most recent releases, Resident Evil: Operation Raccoon City and Resident Evil 6. This shouldn't be a surprise; any series that stays around as long as this one has is bound to go sour at some point. I did, however, enjoy the hell out of the GameCube remake of the original. It was the first Resident Evil game I ever owned, and on my first playthrough, it scared the crap out of me.

The controls were awful, as they were in every installment in the series prior to Resident Evil 4. The pairing of character-relative controls and fixed camera angles is truly one of the worst things ever to happen to video games — but I have to say that it did, in a pretty stupid way, make the game scarier. Avoiding or shooting a small number of slow-moving zombies probably doesn't sound like a frightening ordeal to anyone who plays the likes of Left 4 Dead, but with such clumsy controls, what would be a walk in the park becomes a nightmare. The character turns too slowly, and aiming for the head involves more luck than skill. The camera angles are uniformly bad, as well. It's frustrating, but effective at making the player feel helpless even with a gun.

What makes Resident Evil most effective, however, is that it doesn't rely on cheap "jump scares" to startle the player. The game is scary because of its expert control of suspense, because you don't know what's around the next corner, and because you don't know how much ammunition you can spare. It's the definitive survival horror, and it does almost everything right. As far as horror games on the GameCube go, the Resident Evil remake is second only to...

Eternal Darkness: Sanity's Requiem


I've already written quite a lot about Eternal Darkness: Sanity's Requiem, another GameCube masterpiece. It's not the scariest game I've ever played — not even close — but it's got a creepy atmosphere, a fantastic story, and some clever gameplay mechanics.

Eternal Darkness is a psychological horror, so it's a bit more subtle and slow-paced than most other horror games, which tend rely on sudden, loud noises and simple shock value to scare the player. It's only going to startle you in a couple of places, and there isn't a lot of blood and gore, but the sanity system will do its best to freak you out in a variety of (occasionally hilarious) ways. More importantly, the game doesn't do a bad job of creating an overwhelming sense of impending doom.

Overall, it's a nice game to get you in the Halloween spirit, especially if you're a big fan of H. P. Lovecraft. And speaking of Lovecraft...

Alone in the Dark: The New Nightmare


I almost didn't include this game on the list, but alas, the power of nostalgia is too great. It's been years since I played it, and I must admit that I never quite got to the end. Maybe I got stuck, maybe it was too hard, or maybe I was so creeped out by my first survival horror experience that I couldn't bear to go on. In any case, I was a lot younger at the time, and I wasn't as enthusiastic about PC games as I am now.

The New Nightmare is the 2001 sequel to the Lovecraft-inspired Alone in the Dark trilogy from the early 1990s — which, unfortunately, I've never had the pleasure of playing. (Or maybe it's more of a spin-off, since another sequel in 2008 apparently retcons The New Nightmare out of existence.) My memory of the plot is somewhat fuzzy, but what I do remember is that the game creeped me out more than a little. While I'm sure the graphics have aged poorly, I'd like to give the game another try, if I can ever find the discs.

The New Nightmare suffered from the same clunky controls that plagued the early Resident Evil games. And, like Resident Evil, it has two protagonists, takes place in a mansion, and involves a lot of puzzles. The similarities are hard to ignore, but there are some differences, namely the replacement of zombies, zombie-dogs, zombie-snakes, zombie-sharks, and zombie-birds with a slightly more creative variety of creepy crawlies, as well as the use of a flashlight to fend off the baddies. Actually, that last part kind of reminds me of...

Alan Wake


I wrote more than enough about Alan Wake in my earlier post on cinematic games, so if you're no stranger to this blog, you're probably aware that I enjoyed the game immensely. The transparently Stephen King-inspired psychological horror/action game earns its place on this list with a spooky atmosphere and a superb story. The two short DLC expansions, truth be told, were a bit weird, and I can't say I really enjoyed the sequel, Alan Wake's American Nightmare (of which the only redeeming quality, in the absence of a decent story, is the intense arcade mode), but the original game is definitely worth a try.

Like many horror games, it's not so scary once you get the hang of killing the bad guys, nor is it as thrilling once you know every plot twist and the location of every precious box of ammunition, but the first playthrough will have its share of potentially unnerving moments.

And those bad guys — whom, in the beginning of the game, consist largely of possessed, axe-wielding lumberjacks in the woods at night — can be really frightening. I think it's mostly in the way they move. Even when you dodge their attacks, you can almost feel the power behind every swing. The way they stumble when they miss, and the way Alan ducks out of the way just in time... there's a real sense of momentum that's absent in the awkwardly animated combat of a lot of video games.

Now just wait until you're surrounded by those guys, low on bullets, with a long way to run to the next safe haven. As in any good horror game, simply running away isn't an option. The bad guys are faster than you, and you can only escape them for as long as you can successfully dodge their attacks without running into a corner. At some point, you'll need to turn around and fight. The same is true of...

Killing Floor


Unlike every other game I've mentioned, Killing Floor is primarily a multiplayer game. In fact, you might say it's exclusively multiplayer, since playing the solo mode is essentially the same as going online and joining an empty server, and since playing alone isn't nearly as fun.

Generally, I prefer single-player games, but Killing Floor — a stand-alone game based on a mod for Unreal Tournament 2004 — has become one of my all-time favorites, for two reasons. The first is that it's cooperative. Up to six players team up against a horde of computer-controlled zombies, so unless someone makes a boneheaded move that inadvertently gets the whole team killed, there are no hard feelings between human players. For the most part, everyone you'll meet online is rather friendly. The second reason is that, unlike most multiplayer games, Killing Floor requires a lot of coordinated teamwork.

Forget about spooky ambiance and creepy music. Killing Floor is scary because it's hard. The easiest setting is a joke, but anything above that can be a serious challenge, depending on the collective skills of the team. And with the number of zombies in each wave increasing as more players join, there's little room for weak links. You need to be able to count on your team, and you need to keep them alive, because there's no worse feeling than being the last guy alive with a bunch of monsters chasing after you. Killing Floor is one of the least forgiving video games I've played in recent memory, and it's not for the faint of heart. But I love it. The only first-person shooter I've spent more hours playing is...

F.E.A.R.


Some would argue that F.E.A.R. falls flat on its face as a genuine horror game. It's got a somewhat spooky story, and occasionally you'll hear voices or see the ghost of a little dead girl, but there aren't a whole lot of monsters that jump out at you... at least, not for most of the game. But as a first-person shooter, F.E.A.R. excels and exceeds expectations. A horror-themed game doesn't need to make you crap your pants in order to be fun, and F.E.A.R. certainly is a lot of fun.

The enemy AI is very good; while the bad guys occasionally show their stupidity, they do attempt to flank you, and they're pretty good at flushing you out of hiding with grenades if they know where you are. The way they talk to each other while attempting to take you down also adds a lot of realism. The slow-motion feature, while a bit gimmicky, does add a little something extra to the gameplay, and is genuinely useful (perhaps too useful) even in the most dire of circumstances. The "scary parts" are all scripted, but if you're playing on the highest difficulty, the fear of being shot to death should keep you on the edge of your seat through most of the game.

There are two expansion packs and a couple of sequels, if you want more, but I don't have anything good to say about those. The story stopped making sense in the expansions (which were later retconned), and it became downright silly by the end of the first sequel. Also, be advised that the second sequel is meant to be played with two people. While there is a single-player campaign, it's really just cooperative mode without the second character, who mysteriously and nonsensically shows up nonetheless during cutscenes. If you just want to shoot things, go ahead and play the whole series, but don't expect any of the unanswered questions leftover from the first game to be adequately resolved. Speaking of great games with mediocre sequels...

Painkiller


A moderately fast-paced shooter with a demonic theme and an old-school style, Painkiller is easily one of the most solid purchases I ever made on Steam. The "Complete Pack" (which, at the time, included fewer games than it does now) was marked down to $4.99, and the first game alone is worth at least that much to me. The story is truly awful, and the voice acting is atrocious, but the gameplay is good enough to make up for that. Painkiller is pure; it's a first-person shooter without all the pointless fluff. It's nonstop carnage. It's all you could ask from a first-person shooter unless you really care about character development, and I know you don't.

If you're a fan of classic shooters like Doom, and more modern throwbacks like Serious Sam, this game is highly recommended. I enjoyed the first installment so much that I played through a couple of times before moving onto the others. Unfortunately, I soon came to realize that none of the other games in the series, thus far, were nearly as good — but by then I had already gotten my money's worth.

As of one week from today, there will be half a dozen standalone games in the Painkiller series, plus one expansion to the original, but there still hasn't been a Painkiller 2, or anything which might resemble a proper sequel. Worse yet, none of the continuations I've played have been worthwhile. Painkiller Overdose, apparently a fan-made mod that eventually became an official stand-alone expansion, was decent, but a step down from the original. Painkiller: Resurrection, which attempted a more open-world experience, was sloppy, buggy, and generally awful. Painkiller: Redemption, another fan-made mod that was turned into an official release, more closely followed the style of the previous titles, and was more enjoyable, but it was more of the same, at best. This is also what I expect of Painkiller: Recurring Evil, which I have yet to play. Then there's Painkiller: Hell & Damnation, which comes out on Halloween day, and while it looks promising, it seems mostly to be a (much prettier) remake of the original game.

To make a long story short, I highly recommend getting the first Painkiller, usually sold with its expansion as Painkiller: Black Edition, as soon as it goes on sale. The rest of the series is questionable. You might want to buy the Complete Pack, if you really love old-school shooters, but if you're not sure, you should probably stick with the first one for now. It's a great game to play on Halloween, and while it's easy to pick up and play, it requires some serious practice to master. (You'll want to learn how to bunny-hop, constantly, at all times, forever. The alternative is frustration and death.)