Monday, January 23, 2017

Inside (spoiler-free review)

A friend of mine recommended me this game called "Inside". From the few screenshots I saw, I was a bit prejudiced against the game, due to its game genre.

Inside is one of these "2.5D" games. The kind where everything is modeled with 3D geometry, and all scenery is fully in 3D (usually going way back "into" the screen), but the movement of the playable character is strictly restricted to the 2D plane. In other words, you can only move left and right, and climb up and down. In other words, it's essentially a 2D platformer with 3D graphics.

I have absolutely nothing against 2D platformers, when they are well made. Some of my all-time favorite games are 2D platformers (such as Ori and the Blind Forest). However, I have always found these "2.5D" games on the boring side. They tend to lack that beauty and charm of well-made 2D games, but at the same time they never fully utilize the possibilities of 3D geometry, artificially restricting movement to the 2D plane.

Man, was I wrong in this case. Inside is, without any exaggeration, one of the best games I have played in my life, and I have played quite many games.

Somehow the developers succeeded in making the 2.5D mechanic work amazingly well with this game. Rather than looking artificial and restricting, it feels surprisingly natural. The controls are really fluent and comfortable, and the gameplay is very polished.

And another thing that's extremely polished is all the character animations. They look amazingly natural and believable. I do not know if they used rotoscoping to make them, or whether they were developed manually, but they look extremely fluent and natural, but without that "uncanny valley" effect that rotoscoping often has (especially when it was used decades ago). It's hard to describe; you really have to play the game to see it. If you go against a wall or glass window, the playable character will lean against it; if you are running away from a chasing enemy, he will look behind him while running; if some enemy sees him, the enemy will run to and restrain him, in a very realistic animation... Verbal descriptions can't make it justice; you have to experience it yourself to appreciate it.

But what really makes this one of my all-time favorite games is the ambience. The graphics use this strange mix of somewhat simplistic design with almost cell-shaded quality to it, with some almost photorealistic graphics (such as photorealistic water, fire and atmospheric effects). This might sound like they would clash with each other, but surprisingly they don't; they work surprisingly well. They create this almost surreal semi-noir style, which is just marvelous.

Of course graphics alone don't make a game, but what they do with them, ie. what the graphics convey. And it's just marvelous. This is one of those of those games that you have to experience yourself. It's more about the experience than the story.

I couldn't recommend this game higher. It's well, well worth its current price (ie. 20€ on Steam and PSN.) I have paid significantly more for much, much crappier games.

Monday, January 9, 2017

Invisible Inc, a surprisingly addictive game

Invisible Inc. was one of the complimentary games for PlayStation+ subscribers in the PlayStation store in December of 2016. Like so many other games given there, I get them into my game library, and then from time to time I download a bunch of them and try each one to see if there's anything good. A good portion of those games end up being on the boring side, but sometimes there are real gems among them.

Invisible Inc. is a turn-based tactical stealth game with procedurally generated levels.

Yes, that last part sounds like a real turn-off. I'm one of the biggest skeptics in terms of procedurally generated content in video games. They tend to be boring, and usually suffer from a lack of design, a lack of a core idea behind the level design. When people design game levels manually, they tend to have some higher-level ideas about what the level should be like; there might be some kind of theme, there might be some story, there may be some fitting puzzles. Especially things like buildings tend to look like designed by humans, and be functional. Or at the very least show some level of intent and purpose. If there are puzzles of some kind within the levels, they show clear signs that they have been thought out by somebody.

Procedurally generated content, however, tends to be too random and pointless, without the creativity and ideas that a human designer has.

Thus I was quite skeptical about and prejudiced against this game. But like all the games I get from PS+, I wanted to give it a fair try. At least 10 to 15 minutes of play. I was expecting to be just bored with it in that time, delete it, and move to the next game in the list.

However, I found myself still playing the game two hours later.

The next day I was thinking if I should continue. Maybe the beginning was ok, and somewhat addictive, but it didn't feel like it could hold that interest for much longer. I was seriously considering just deleting it. But I gave it another try. And several hours later I was still playing the game.

This game is surprisingly addictive. And the levels are really, really surprisingly good.

The procedural generation in this game is something out of this world. I have never seen anything of this level ever before. If somebody told me that the levels were fully designed by somebody, and that there was no procedural generation of any kind, I would have believed them.

In retrospect there may indeed by quite a lot of randomness in the level design. It's just that it doesn't feel random. Somehow the gameplay, the enemy behavior, the tactics you have to use in order to pass the level... they fit just perfectly in these levels. It feels exactly like the levels were designed intentionally for the kind of gameplay that this game uses.

I have no idea what kind of procedural generation this game uses, and how random the levels really are. Oftentimes it feels like there is an intentional overall design to a level, decided by a developer for that particular level. I don't know if that's indeed so, and that only the details inside the rooms, and some of the overall map layout is procedurally generated, or whether the entire level is just one big product of random chance, but oftentimes I have a hard time believing it's just the latter.

For example, in one level the mission was to find a laboratory where the agents could get a couple of augmentations for free. Said laboratory was right at the beginning of the level, right next door to the starting room. Thus I got the augmentations right away. However, the real challenge was that the exit was on the other side of the level, and there were tons of guards, drones and cameras along the way, and I had to tactically devise a way to get through all that alive.

It really felt like the level was purposefully designed like that. In other words, you get the mission target right away, and the real challenge is to get out alive. I have no idea if the level was intentionally designed like that (with just the details being randomly generated), or whether it was just by pure chance that it was like that.

Another level started with a guard facing away from your agents, apparently just using a console. And the direction he's facing is the only path to advance. While there were some covers here and there, it was impossible to avoid him seeing the agents if they just tried to walk past him. And, of course, the guard was armored so he couldn't be taken out. It was a real challenge to figure out how to proceed in the level without getting killed. Again, it really, really felt like it had been purposefully designed like that, rather than being randomly generated.

You also quickly grow emotional attachment to the two agents that you control. They can die, if shot. And they will be permanently dead if not saved. I grew so attached to them that I really didn't want them to die, and in some levels went to extreme lengths to have both reach the exit safe and sound. And when I succeeded, it felt like a real accomplishment.

Overall, the level design, as random is might be, just fits the gameplay perfectly, and doesn't feel random and pointless at all. And the game itself is enormously addictive. It might not be for everybody, but it certainly was for me.

Friday, January 6, 2017

Xbox One controller ingenious design

I recently decided to purchase an Xbox One controller to replace the old Xbox 360 controller I have been using for PC gaming for years. (I have an Xbox 360, which I haven't used for a couple of years. I don't have an Xbox One, but I like using the Xbox controller for most PC games.)

I have been using both an Xbox 360 and a PS4 controller for quite many years. The Xbox One controller immediately felt like a really well-designed and sturdy product, especially compared to the Xbox 360 one. The analog sticks felt less stiff and easier to use, as well as the triggers. The d-pad is a lot "clickier", making a quite clear click when any direction is pressed.

There was one thing, however, that at first felt like a massive disappointment and a huge design blunder: The massive shoulder buttons. This image compares the size of the shoulder button compared to the other two controllers (click on any image for a slightly larger version):


Of course size is not the problem, but the way they are positioned and how they work. Comparing the Xbox One and the PS4 controllers in profile shows how much higher the shoulder buttons are in the former:


In the image, the baseline (where the bottom part of the controller, where you hold it with your middle and rest of your fingers) as well as the shoulder button lower and upper edges have been marked. As you can see, in the Xbox One controller they are enormously higher.

This makes the shoulder buttons quite awkward to use, if you try to use them like with the other controllers. Not only that, but there's another problem: If you try to press them with the tip of your finger, as demonstrated in the picture below, they don't actually work! That part does not trigger the button (or, more precisely, it triggers it very poorly).


At first this felt like a huge disappointment. The entire rest of the controller felt really, really well designed, high quality, sturdy and easy to use. The shoulder buttons, however, were positioned very awkwardly, and were hard to press.

However, after a while of using the controller, I realized the actual idea behind the design. And it's quite ingenious!

You are actually not supposed to use the trigger button like above. Instead, you are supposed to press it with the part of your finger around the second knuckle, like this:


Why is this an ingenious design? Because it actually allows you to, if needed, press the shoulder button and the trigger at the same time! And you have full control of how much you squeeze the trigger.


If you compare this to how you press the shoulder button in the PS4 controller, you'll see that there it's just not possible to press both with the same finger:


Of course it's perfectly possible to use your middle finger to press the trigger while you use your index finger to press the shoulder button, and this can be a completely viable and comfortable way of playing. However, if you are using both fingers like this, then you'll be holding the controller itself only with your ring and pinky fingers, which is slightly less firm. Not that it can be a huge problem, but it can be less comfortable.

Tuesday, December 27, 2016

A lesson developers seldom learn: Text-based tutorials

There exists a principle of graphical user design that many books and university courses on that subject present: If you feel the need to explain the use of some element via a text label, that's a sign that it's badly designed and could benefit from a re-design. The simpler the element is to use, the more likely it is that it's badly designed if its use has to be explained with text.

(Note that this is different from simply naming an element with a text label. The name of, for example, a button can make it clear and self-explanatory what that button does. Problems begin when the function of said button is not clear from its name alone, and instead there needs to be additional text explaining what it does. Perhaps the most egregious example of this is a dialog with something like "click OK to (do something)", or similar.)

Optimally a user interface would have as little explanatory text as possible, and still be very intuitive and easy to use, where every element is either completely self-explanatory, or at least very easy to figure out (and doable so "safely", in other words, just trying it doesn't cause irreversible, or hard-to-reverse, changes to anything.)

This same idea can be, and optimally should be, applied to video game design as well. It should be a lesson taken to heart, with the vast majority of games: If you feel the need to explain something, or add a tutorial, in the form of text on screen, then you are doing it wrong.

As an example, suppose you are making a 2D platformer, where the playable character can "wall-jump" (in other words, when the character is in mid-air, but touching a wall, the jump button will make the character jump off the wall, to an even bigger height). These wall-jumps may be an integral part of gameplay (even to the point of some levels requiring it to be passed.)

There are essentially two options to inform the player of this mechanic: Explain it with text, or create an introductory level where players will intuitively and naturally discover the mechanic on their own.

Some games embrace and implement this idea of subtle "tutorial levels" to a magnificent extent (the Portal series being a good example.) However, way too many games are too lazy about this and will simply go the easy way of just slapping some text-based tutorial texts on screen. This just feels like lazy game design.

Intuitive controls and game mechanics, learnable without any text-based tutorials, are especially important in casual and mobile games. That's because the average casual gamer does not read text. (There is also the practical consideration that not all players might actually understand the language.) But they are important in all types of games.

But this is a lesson that most game developers have still not learned. Text-based tutorials are ubiquitous, even though games that succeed in being intuitive without them feel much better designed.

Friday, December 23, 2016

PS4 Pro 4k checkerboard interpolation explained

The PlayStation 4 Pro is an upgraded version of the original PlayStation 4, with a more efficient CPU and graphics chip. New to the console is native support for 4k displays, in other words 3840x2160 pixels (which is exactly double that of the standard 1920x1080 "full-HD" resolution in both directions, or, in other words, exactly four times as many pixels.)

The 4k resolution is, however, quite demanding in terms of graphics hardware, and even the PS4 Pro is not capable of rendering many existing PS4 games at that resolution (as it requires four times as much fill rate from the graphics hardware.)

In order to take advantage of the 4k display, however, the PS4 Pro uses by default (unless a game specifically wants to use native 4k) an interpolation mode in which only twice as much fill rate is needed, rather than quadruple. In other words, it renders the game at 1080p twice, covering half of the entire 4k screen, and then interpolating the other half.

It does this by first rendering the game normally at 1080p, and then again, but with the viewport shifted by half a pixel diagonally. When these two images are then interweaved onto the screen, it will cover the entire 4k display with a kind of checkerboard pattern. The remaining pixels are then just interpolated from the surrounding pixels, which is a lightweight operation for the graphics hardware to do.

The following image (which has enlarged pixels) demonstrates this process (click on any of the images below for a full-sized version). The first image is a small section of one of the two 1080p images, the second image demonstrates the checkerboard pattern formed by the two 1080p images, and the third image has the remaining pixels interpolated from those.


As you can see, the final result will have more details to it than the original 1080p version.

Below is the same example in four modes for comparison, how they would look like in a 1080p and a 4k display: The original 1080p version, that version simply upscaled to 4k, the checkerboard interpolated version, and a version rendered in native 4k.


While the checkerboard-interpolated version doesn't exactly match the quality of the native 4k resolution, it's nevertheless closer to it than the 1080p version.

That section, as well as the following ones, are taken from this screenshot. The locations of the details being demonstrated are marked in the image. Click on the images to see a full sized version.


As the last image demonstrates, this technique is not always without its flaws, as it sometimes introduces a very distinctive dithering-like pattern. The quality of the technique is highly dependent on what kind of content the image contains.

Tuesday, December 20, 2016

Choosing the perfect monitor... harder than one might think

I decided recently to buy a new monitor to replace my almost 7-years-old BenQ GL2430. Not that there's something wrong with it; it's actually quite good for its price. But I wanted something better, especially since I have a PlayStation 4 Pro.

There were several things I was looking for.

Panel type


That old monitor used a TN (twisted nematic) display. The advantage of that panel type has historically been a much cheaper price, and good refresh rates. Although in this particular case a 5 ms refresh rate is nothing to brag about. The biggest disadvantage of TN panels is that they have extremely poor viewing angles, especially vertically: With that monitor (as well as most other TN monitors as well), you only need to raise or lower your head a few degrees to see a significant change in colors. It's in fact so bad that the upper area of the display will have a visibly different pixel coloring than the lower side, for the simple reason that the viewing angle is different for them (unless you are watching from quite far away).

A much higher quality alternative is the IPS (in-plane switching) panel. While not absolutely free of that viewing angle problem, it's nevertheless only a very small fraction of that, compared to TN panels. Also IPS panels tend to have more vibrant colors, and be able to reproduce the entire sRGB color spectrum better and more accurately (which is why they are preferred by professionals dealing with graphics, such as printing). Historically their disadvantage has been a higher price, and slower refresh rates. However, in recent years both things have improved significantly, up to the point that IPS panels are seriously starting to compete with TN panels in terms of reaching the mass market.

Since I'm upgrading my monitor, I really prefer the IPS option.

Resolution


The next consideration was the resolution. While 1920x1080 of that BenQ monitor is not horrendous, if I'm upgrading my monitor I would prefer a higher resolution. There are several options for this, but the two most common ones with a 16:9 aspect ratio are the WQHD resolution, ie. 2560x1440 pixels, and the 4K UHD resolution, ie. 3840x2160 pixels (which is exactly twice the amount of pixels of the standard 1920x1080 on both directions).

Now, if I had been buying this for my PC only, then the WQHD resolution might have been the perfect spot. That's because my PC, while quite a hefty gaming PC (i5, GTX970), is not exactly capable of rendering most modern graphically-heavy games at 4k resolution at 60 FPS. But that 2560x1440 ought to be fine. The problem is, however, that I am also buying the monitor for use with the PS4 Pro.

The PS4 Pro only supports "standard" TV resolutions. That means 1080p or 2160p, but nothing in between. If you connect a 1440p monitor to it, it will simply use a 1080p resolution. (This information was actually surprisingly hard to find online.) Using a 1080p resolution on a 1440p monitor might not be the best possible scenario (as each source pixel will be scaled to 1.333 size for the display, meaning that two thirds of the pixels will be blurry.)

While buying a 1080p monitor was not completely out of the question, it was really tempting to be able to use the PS4 Pro at 4k. Thus, preferably, the new monitor would be a 3840x2160 "4k" monitor.

There was one additional requirement for the 4k monitor, though: It had to support HDMI 2.0 as input. That's because HDMI 1.x only supports 4k resolution at 30Hz, while HDMI 2.0 supports it at 60Hz. The PS4 Pro has a HDMI 2.0 output, and can, at least in theory, output in 4k at 60Hz. Some games (current or future) might even do that.

So, primarily I would be looking for a 4k monitor, with a fallback to a very good 1080p one if everything else fails.

G-sync


The next consideration was a long-time dream of mine: G-sync support. It would just be great to be able to have g-sync, and not worry anymore about games not just quite reaching that golden 60 frames per second, and me having to resort to some sort of compromise (ie. either lower the graphical quality, or accept a 30-fps lock.)

And, of course, the price of the monitor shouldn't be exorbitant. While I was ready to spend a decent amount of money on it, I'm not exactly super-rich.

Conclusion


So, one would think that the best possible solution to all of the above is, well, all of the above. Except it turns out that, at least at this point in time, there doesn't seem to be a monitor available with all of the above features!

The closest thing that seems to exist is the Acer Predator XB271HK: 3820x2160, IPS, g-sync. That would seem like the jackpot, except for two things: It only has an HDMI 1.4 input port (meaning that the PS4 Pro wouldn't be able to use it at 60Hz), and a rather hefty price. That former limitation is quite a killer; if only it were HDMI 2.0, it would be an almost perfect monitor, even considering its price. It's really incomprehensible why Acer decided to put a HDMI 1.4 input in it (given that they have HDMI 2.0 in many of their other 4k monitors.)

4k monitors with g-sync are still a real rarity, even if using TN, and especially if using IPS.

Perhaps quite surprisingly, my fallback plan doesn't seem to be much better either: The combination of 1080p, IPS and g-sync seems to be almost as rare! There just don't seem to be almost any monitor with that combination either. (This would be a much easier choice given that it wouldn't even need to have HDMI 2.0.) Basically all 1080p g-sync monitors are TN.

There are quite many 1440p IPS g-sync monitors out there but, as said, that's a bummer in terms of using it with the PS4 Pro.

I in the end, I decided to purchase an Acer S277HK: 4k, IPS, HDMI 2.0, and quite good reviews. And at a discount when I bought it (normally almost 700€, but discounted at 597€). No g-sync, but I'll just have to live without it, as I have done so far.

(In the end, g-sync has a lower limit of 30Hz, after which it just stops working and resorts to your normal screen-teared no-sync, or regular sync. Playing at 30Hz with a regular monitor is not all that bothersome to me, so I suppose I'll just have to be content with that, with the heavier games.)

So, does it look good?


It actually looks better than I expected, both on the PC and the PS4 Pro. In the latter, for instance, prior to this purchase, I was playing Titanfall 2. After I got the monitor I continued the game with it, and it looked really great. I don't know if this game in particular is using 4k natively, or that 2x1080p checkerboard-interpolation scheme, but it certainly looks like native 4k nevertheless. All edges are crisp and razor-sharp, and everything is full of tiny details.

Monday, November 7, 2016

Poker clichés in old western movies

The poker card game is one of the staples of western movies (especially older ones, made in the 70's and earlier.) Almost invariably it will be depicted as straight poker, meaning that each player is dealt five face-down cards, from which they can swap any number of cards with new ones, after which there is a round of betting, with possible raises. When non-folding players have all bet the same amount, cards are revealed and the winner takes the pot.

The choice of this poker variant is probably realistic, as it's one of the oldest variants, and probably the most common in the United States in the 19th century. Variants that are today more popular, like Texas Hold'em, didn't exist back in the 1800's.

There are many clichés that you can see in lots of these movies, especially older ones. Many of them feel quite strange.

One of the most common ones is the player who runs out of money and can't match a bet. Often he will then search for valuables to bet, or ask for a loan, or something similar. The implication being that if he can't match the bet, he just loses by default.

This seems highly strange. I have no idea what the poker betting structure was in those times, but it feels highly, highly unfair, to the point of making the whole game moot. The richest player would always win by making an all-in every single time. Since no other player could match his bet, he would always win by default. Which would make absolutely no sense.

I remember one movie in particular, where a woman was playing poker against a group of men, and she ran out of money and couldn't match a bet. It ended up with all the players going to a bank, where she asked the bank's owner for a loan.

Maybe this was solved back in those days with betting limits (ie. you can't bet more than a certain amount.) However, I don't remember ever seeing this mentioned or depicted in any of these movies.

The modern solution to this problem is the side pot mechanic: If you make an all-in, and somebody then raises to even more than that, the extra money goes to a side pot, where any remaining players will continue betting any amounts above the main pot bet. (On showdown, or if all other players fold, the side pot goes to the winner among those other players, after which a showdown of the main pot, now including this original all-in player, will ensue.) This means that you can always participate, even if you have one single coin left. (Your current amount of money simply limits how much you can win at most, which is that amount times the number of players, assuming all match your bet.)

As said, I have no idea how this problem was resolved back in those times. The cliché so popular in movies (ie. it's not solved at all) seems completely nonsensical, though. It might make for drama or comedy, but it's still nonsensical.

Another cliché, perhaps even a more common one, is the crucial showdown, where the bad (or at least antagonistic, often unpleasant) guy shows a very strong hand, like a straight or a full house, and without waiting for the protagonist to show his hand goes to grab the pot. Of course only to be stopped by the protagonist showing even a stronger hand, like four of a kind. The antagonist is shamed with his hands around the money, which he then can't take.

Very commonly this antagonist is depicted as a very experienced and ruthless poker player. Which raises the question of which poker player would just go to grab the pot without waiting to see his opponent's hand? This feels a bit unrealistic, and artificially played for drama or comedy.

This one is often not unrealistic, especially if we are talking about a 19th century decrepit saloon in the middle of nowhere, or a friendly game at someone's home, or something along those lines, because it probably happens a lot in real life as well (probably because it's so common in movies and people will imitate them!) but another cliché is the player who does a "I call your hundred... and raise 500!" This may be ok in casual informal play, but especially in more official tournament play, and in groups with more formal rules, that's an improper way of announcing your action. This especially if it's accompanied by the player first throwing the 100 into the pot and then 500 more (which is likewise very common in these movies.)

In fact, in most tournaments, with strict rules, if you say "I call", then that's it: You have called. You can't then raise. It doesn't matter if you amend those words with "and" anything. The proper way to raise, if you say it out loud, is to say directly "I raise". And first putting forward some coins and then more is outright forbidden. You have to make the entire bet at once, not in parts.