Friday, 30 December 2016

Games of the Year 2016


Adult game of the year:

    Ladykiller in a Bind



Soundtrack of the year:

    Mafia III



Virtual city of the year:

    Tom Clancy's The Division







Best new spin on a classic 2016:

    Rez Infinite




Level design of the year:

    Dishonored 2



Blue skies of the year:

    Uncharted 4: A Thief's End



Please come fuck me up 2016:





Stylish gameplay loop of the year:




The games that didn't quite make the cut:





Wednesday, 14 December 2016

A Period of Absence

So... long time, no posts.



Wednesday, 17 August 2016

Dissection of a Rendering Choice in No Man's Sky

Update: please note that this is now a historical post provided for educational value alone. The patch on 18/8 for PC removed the strong blur pass and fixed the AA settings.

So there has been lots of talk about internal render resolutions and game output this console generation. Is this game a 900p one, does the XB1 get forced down to 720p and then upscales it? It's a good topic for people who care about technical quality (say, all us render engineers who write the often boring code to throw polygons at screens via GPUs) and an endless swamp of people intent on having "heated debates" about their favourite consoles and which is best.

Anyway, No Man's Sky has come out and lots of people have mentioned that it looks muddy or low res, even on PC. Some people are speculating on it being rendered at a lower internal res and upscaled to explain what they are seeing. From everything I can see, this isn't correct but it's an amazing opportunity to dissect what is really going on and why it looks like that might be the case.

Straight off, how the game is running for me just in case this isn't true for you. SSAAx4 (rendering at 4x res and downsampling from inside the game) in the settings straight isn't working at all. No effect. I'm not the only one who has noted this so I'll call it either widespread or a feature that's not actually implemented yet. The other two options are FXAA or no AA. My experience is that FXAA, if it does anything when turned on, isn't the implementation you should have built into this game to make it actually fix aliasing issues. I also assert that anyone using SweetFX or drivers to inject SMAA/MLAA/FXAA into their game at the end of the render chain is also doing next to nothing for their game in the same way that doesn't work when you upscale a game and then apply it. (FXAA looks for the typical shapes [eg L shapes] of aliasing in high-contrast areas and selectively blurs them, but this only works when you've got those shapes as pixel-wide features to find.)

The reason why and the reason why lots of people seem to think this game is rendering at a lower res than stated or is just "really muddy" (as the pros have called it): because there's a 1px Gaussian blur being applied to this game before output. I would explain this is part of a HDR/bloom solution; only it isn't, it eagerly blurs everything, not just highlights. It's a blur on everything that weights significantly from the non-central pixel in the neighbourhood; a strong blur compared to what you normally see in real-time graphics.

And here's the major issue with that: it blurs the scene without any anti-aliasing being done first. This gives a bloom (light for highlights, dark for low features) to every bit of severe aliasing including the thin line geometry and shader aliasing going on. It does soften the aliasing, but this means FXAA can't find it and clean it up because it's no longer a hard line but a blurred one.

"But doesn't the blur fix everything wrong so what's the issue?"

Glad you asked - this is where slicing up what we see in screen captures of NMS really pays off. We do complex anti-aliasing (when rendering, even though it's often pretty expensive and comes with technical limitations that tie our hands) and not a blur because a blur doesn't work right.

Above is an example I generated to show anti-aliasing. It's zoomed up somewhat to make the pixels clearer but that was a clean zoom so each pixel edge is preserved (unlike how you'd normally blow up an image that also blurs it - the same is true of the zoomed in bits of the top image below). Take an aliased line (1) and blur it (2) and you get a bloom around an aliased line. This is a very clear visual and you'll be spotting it in No Man's Sky all over the place. But if you run anti-aliasing on that first line (3) and then blur that (4) we can see how that line looks good under the simple Gaussian 1px blur.

This is why you can't just use a blur: it leads to something that's still very much a stair-stepped but not with clean edges you can fix (it's a right pain to make line 2 into line 4 and AFAIK totally impossible to do that fast enough for real-time rendering; however making line 1 into something very much like line 3 is much cheaper/easier). If you want to run a blur for artistic reasons on your scene then anti-aliasing first will give the blurred line a really great and clean profile. The blur works with the anti-aliasing to give a result that's hard to deny.

A really weird thing I noted when finding this: the blur is always a 1px blur; same when running at 1080p and 4K. But there are twice as many pixels per inch of screen with a 4K render (outputting to the same display) and the scene being rendered is the same for both. The game-distance from any point to any other is the same but the pixel count to get there has doubled.

Why does that matter? It means the higher the resolution you set NMS to, the smaller (in scene size) the blur radius used and so the less annoying (for me*) it is. This is not how you should do a blur if you want it for an artistic effect and means anyone playing at 720p is being coated in a much larger radius blur than high-res players. I find that high res really helps (to recover the "sharpness" of the scene) so rendering at 4K and downsampling to 1080p leads to a much nicer result than using 1080p native, just because there is less blur to muddy the scene.

* And I like soft rendering - if it was a good blur that improved the scene not drew glows around every bit of aliasing, I'd be all for it and the artistic justification behind wanting a blurry final scene for the visuals of this game). I'm one of the few people who thinks TXAA was actually an ok AA solution despite it being very soft. I will take soft and stable (my eyes really don't like visual instability) over sharp and flickering every time.

Thursday, 2 June 2016

Forza Motorsport 6: Apex (Beta)












Wednesday, 25 May 2016

My History with Forza

[Getting to] Forza Motorsport (xbox, 2005)

I initially played a bit of everything: from Destruction Derby to Carmageddon's focus on more combat than racing, from the more pure experiences of the endless Need for Speed titles to Screamer. If it arrived on PC, I probably had a go on at least the demo. On the MegaDrive it had been the likes of Out Run, Virtua Racing, and Super Hang-On that kept my attention. But, by the time Forza started out, I'd settled into some early-2000s series that stood out. Burnout was just getting started, pure arcade handing and innovative exploding puzzles. Midtown Madness was going back to the more open checkpointing of something like Carma that later defined Rockstar's racing attempts, amongst others.

Sega GT didn't quite connect for me but the Dreamcast had been where Metropolis Street Racer and San Francisco Rush 2049 took hold. The more relevant of those two to Forza, MSR had also spawned two Xbox sequels under the Project Gotham Racing name before Forza even arrived, and PGR3 was known to be coming for the new console out that year. While not aiming to be realistic, PGR had helped teach me I needed surround-sound for driving games just to hear where the car behind me was before a corner. Those lovely drifting corners that felt a million miles away from the arcade grooved arcs of Mario Kart or Ridge Racer.

The other series that was letting me know the importance of audio positioning was TOCA Race Driver (later named GRID). Two games deep before Forza arrived, this was where I probably first got a serious taste for something less arcade-y. PGR was at least demanding you brake for the corner and plan your trajectory, but the TOCA games pushed that a bit harder and asked that you not sweep the back end out as you did it if you wanted to keep pace. By no means a sim, they did expect a bit more and set those expectations on real-world tracks - something which allows driving games to tap into your memories even between series as you know every corner of a track layout after playing it over several different series.

Finally, I can't end this pre-Forza introduction without talking about RalliSport Challenge. Where Colin McRae Rally had never quite captured me and Sega Rally had been some fun I possibly didn't fully grok at the time, RSC felt like it arrived just in time for me and was everything I wanted from a timed challenge on a set of tracks you needed to learn. Like PGR2, RSC2 leveraged the new Xbox Live system for online and, crucially, leaderboards to compare my times to everyone I knew. I still read lots of references to the series as a high point for rally games and there are a lot of giants in that genre it competes with.

I enjoyed the original Forza well enough but I wasn't throwing tens of hours into the series on the original Xbox. Therefore, I don't actually have particularly strong memories of the first game, possibly in part due to it coming at the very end of the generation. Likely more relevant was all the far more arcade-y racing and driving titles I'd played before this, detailed above.

Forza Motorsport 2 (360, 2007)

This game seems to be seen as potentially a slight low point in the unbroken chain of the initial four numbered titles. Moving to a new platform but without radically pushing forward from the original strong showing. My memories of the game are of a launch window 360 that was dying by the summer of 2007. My online profile doesn't even record that I played this game, because the networking had already died on my 360 before it arrived. Offline only, leaderboards were gone.

But I continued to enjoy the series with the difficulty assists on (effectively arcade-ish mode), but now really taking advantage of that dynamic racing line that allows you to learn a track without being terrible at each corner before you get a feel for the braking point you need for each car. An assist that allows you to drive at least somewhere close to passable on your very first attempt at a track: these are the teaching touches that let me really get into a game. Rather than making the game easier, it removes a stage of forced memorisation from being good at taking each track with each car.

Of course, trying to go back now is rather challenging. The AI instantly feels retro, with their driving a lot closer to being that classic on-rails (and non-reactive) design than later iterations. Just at the very basic level of controls, Forza 2 forces you to unlearn use of the clutch, because there is no manual with clutch option so the manual control arrangement puts the handbrake where most players now expect a clutch button. There are no in-car views to drive from (to perfectly spacialise the audio feedback for surround speakers and give an impression of the car's corners). Quality of life additions like rewind (to reverse a mistake or an AI blindly ploughing into you as it doesn't react to your clear positioning) and a career progression that focuses on providing choices (or even just race competitors that always correspond the car you bring to the track) is also very noticeably absent from the package.

It was later while I was first playing Forza 2 that the console finally gave the final white flag, the Red Ring of Death that got it swapped out for a warranty replacement by Microsoft. Bad memories, even if mainly by association. By the time I was ready to dive back in, the sequel was arriving...

Forza Motorsport 3 (360, 2009)

This where they really got me. This is the start of my phase of easily dropping 100 hours into a Forza game upon release and then going back for more every now and then until the sequel had arrived.

Just as Forza 2 had made the racing line a dynamic indicator to avoid needing to memorise braking points for the standard racing line, this game added the rewind assist. And what an addition that was, even if we'd already been playing games that gave limited access to that feature from Codies the year before. TOCA Race Driver was now without that brand association and called GRID but in 2008 they came out with Flashbacks - a rewind that meant if you messed up a corner then you could go back and try it again. Turn a race-ruining mistake into a second chance to keep going to the finish line. Colin McRae Rally was now called DiRT and also added the same assist, giving Codies two runs at the formula before Turn 10 had a chance to release their attempt.

The difference here, compared with Codies' system, was that you weren't limited. Turn 10 let you go wild with racing the perfect lap - if you had the patience, you could drive how you wanted. But it wasn't a clean lap. And this is a small stroke of genius for how this assist worked to give you more time racing on the edge without breaking the leaderboards with your friends. Cut a corner, use another car to change direction, draft for a boost, or rewind and your lap time was flagged as dirty. The leaderboards not only ranked your best laps but also automatically ranked clean laps above dirty ones. Even the slowest clean lap was worth more than a dirty one. You wanted to rewind to avoid disaster and being forced to restart a race but the leaderboards at the end were all about getting that clean lap. They also noted which assists you had on when you got that lap time.

This was the start of my journey into getting the depth of the simulation in the Forza games. The lists of top laps not only strongly encouraged me to worry about cut corners and making that one perfect lap (without using the rewind to fix a mistake) but also showed how all my friends were doing with assists on and off. After a while, I started experimenting with turning down the assists and seeing how the various cars handled without the more arcade edge. By 2010, I realised that with rewinds there to undo mistakes, I could experiment with the cockpit view and started to get a taste for it and the kinetic feel of that view.

Forza Motorsport 4 (360, 2011)

And here, here is where it all really came together. Forza 3 had captured my attention and put me on a path to wanting to know how the game was meant to be played, how the fake cars provided detailed feedback to do more than throw them through a corner and hope for a good exit. The dual games of starting off in the pack and working through the other cars cleanly and quickly before racing the top spot, then driving into the sunset to get those clean laps for the leaderboard comparison at the end. Checking for more optimal paths where the racing line was too conservative or suggested braking where it wasn't required.

The big innovation here that brought the series and how I played it into alignment was Car Clubs. World or even region ranked leaderboards are pointless, I've not got world class reaction times and I'll never be able to compete at that level even if the developer is keeping them completely cheat-free. Friends are where it's at. But I only have so many friends who play driving games and sometimes I'm playing quite early on after release and an empty leaderboard is no good. Forza 4 split the difference and provided a way of joining up with enough people to always have a leaderboard with some competition without it just being anyone. I joined a club with all my friends and got to know a few new names that became my regular competition for the better times.

I started out in 2011 with assists already scaled back somewhat from the end of playing Forza 3 but during my time with Forza 4, I definitely started to push further into the higher classes without going back to the assists to manage all that power. This was all automatics but I was otherwise clean: no ABS, STM or TCS. Using a basic joypad, the steering was on normal because you need to be able to flick the stick to make small adjustments while it damps the input to take that as a small wheel turn too fine to make on a basic thumb stick.

Earlier I noted that by 2005 I knew surround was essential for hearing the engine of the car behind me to know which side it was potentially going to attempt to pass on. By 2011, I had moved to only use cockpit view so started out with Forza 4 that way. And I got much better at using my ears to get a better feel for an assist-free way in which Forza tells you what you need to do. I'd not grasped this so clearly in Forza 3, starting out with assists (even for the slower cars) and an external view. Front speaker for your engine, four surround speakers for each tyre. Each one shouting out information about where the braking or acceleration is going to let go and how likely you are to hold this turn at this speed. Perfect.

Forza Horizon (360, 2012)

This was where Forza started to lose me - not during Horizon but immediately after it. The cadence of the series stepped up to annual releases and jumped to a new platform the next year. This game was great, from the open world to the soundtrack framed around a music event. I played it intensely but five days after the game was released in Europe, I'd completed every event and seen every hidden spot. A few days later I'd polished off all I cared to of the simultaneous online experience, only lacking the Free Roam achievement (as those seemed to be a poor copy of that idea from Burnout Paradise, where I did enjoy them several years earlier).

Horizon showed that the Forza handling model could be extended to allow tyres to touch something other than tarmac without destroying the feel. The assists may have been cranked up a bit and everything made more forgiving but it still felt like a Forza game. Making things more forgiving (the Horizon off-road handling was never aimed at simulating real sports cars on grass or gravel but rather making the game exciting to play) is not surprising when adapting a model that had previously said a tyre that touched off-track instantly lost all traction and two wheels or the underside of the car touching grass or gravel would instantly apply a massive magical braking force to the centre of the vehicle to try and avoid corner-cutting - a magic decelerator you can still find in spots in the latest FM games to avoid off-track cheating. One of the big changes for Horizon's handling seems to be that all vehicles had super-brakes - it takes a moment to get used to it but clearly helped in rapidly dealing with unexpected traffic or track changes. With assists off, Horizon provided a huge range of differently handling vehicles and a great range of courses to throw those cars at without it ever feeling too much like your choice of vehicle was fixed by the event's terrain.

Horizon had a great day-night cycle and some gorgeous visuals for the location on the 360. To this day, it still stands up surprisingly well and the low resolution of the 360 is offset somewhat by decent anti-aliasing and a soft look that masks how little processing power and texture space there was for those real-time shadows that came from a day-night cycle.

In writing this, I went back to try the DLC I'd missed during that single week of play in 2012 and see how much more was added to the game after I stopped playing. A clever free DLC called the 1000 Club offers a short list of challenges for each vehicle that effectively extends how much you can do in the open world while feeling rewarded. I can now say that I've enjoyed flipping through the handling of at least 146 different vehicles in Horizon in the last few days. All done now with manual clutches, which also gave me a greater appreciation of the range of handling (and even ease at which you can read the actual car's dashboard for information vs using the game's UI or just working purely on audio feedback) for that system. It's a smart addition that would have kept me playing for longer if it had been there at launch.

The main DLC/expansion (beyond the car packs that often feel superfluous) is some rally events and a new off-road handling pack that added a few extra parts for each vehicle to allow the handling required for some nice rally feel. I had a lot of fun here, especially after I turned off the braking line assist that appears to not have been tuned for the new rally parts and offers some pretty questionable advice. One of the really weird things is they made the rally expansion for you to lose (in a game and series otherwise all about you dominating the pack). 50 cars in each event with the need to do reasonably well to progress and unlock all the rally events but never the need to get to the top. Even going for Hard rather than Unbeatable, I was getting comfortably into the sharp end of the global leaderboards (top few percent) while also losing out to the top AIs. Fighting my leaderboard rivals (at the sharp end of my Car Club or from the global pool if I'd already topped that crew) was often easier than coming above the AIs one notch below the highest difficulty. It's a small touch but I found that an interesting choice (you can obviously drop the difficulty if you want some AI times that you'll find it harder to be much slower than on Easy).

Unfortunately, you can also see some of the ways the series was going into paid cheats appearing here. The 1000 Club repeatedly offers to unlock fast-travel anywhere if only you would pay some real-money currency (on top of the game already offering to unlock cars for real cash every time you go to spend your in-game credits - as I noted in 2012) and the Rally expansion tells you that while the events have to be unlocked in order and a points score exists for the final event, that only really matters if you're not prepared to use real money to unlock them all now. The events seemed easy enough to unlock but offering to remove that with cold cash paints the challenging nature of that expansion in a far less favourable light.

Forza Motorsport 5 (XB1, 2013)

Then the Xbox One happened. An underpowered and overpriced system focussed on an American TV customer that got hit doubly hard in Europe due to exchange rate moves. This was more expensive than a launch PlayStation 3 where I live and was clearly an inferior model of PS4 with different exclusives. It wasn't even as if it was a strikingly different silicon design. MS paid AMD to put a cache in rather than a 50% larger GPU and opted for weaker memory bandwidth to guarantee they'd get 8GB from the first plan to enable a larger OS footprint. Forza 5 launched with a severely cut back selection of content compared to the last Motorsport game as they moved to higher fidelity assets. I had a quick poke around on a friend's copy and decided to wait two years for the version packed with more content. They even doubled-down on the paid cheats and broke the progression curve to try and force more players to pay for currency, something I'd noted was starting to fester in the series when Tokens got added to Forza Horizon.

Forza Horizon 2 (360 & XB1, 2014)

This failed to recapture the magic of the first game for me. I wrote at the time "more devoid of life than the original, certainly a weaker sequel" after a few hours of play. I was quite happy to live in the somewhat more arcade-y (especially with those strong brakes) world of DriveClub that year, with dynamic weather and time of day making every race into a dynamic discovery of exactly what the track had to offer.

Forza Motorsport 6: Apex (PC, 2016)

Last year offered up Forza Motorsport 6 (XB1, 2015) with the promise that the progression has been walked back from the almost F2P-inspired design of Forza 5. But the console was still not priced well and I was happy to continue with DriveClub and jump into DiRT Rally.

So here we are today. Forza runs on Windows 10, at least in a free (and currently in beta form) variant to test the waters. This post is already getting rather long so we'll save the review for part two of this series. There are some major issues that come out of this being a stripped down experience. There are some issues which may reflect poorly on the series as it diverged from my personal perspective of achieving a peak in Forza 4 (and the path it didn't take towards perfecting that specific design). But I am now using a manual gearshift and flirting with moving the AI difficulty from Pro to Unbeatable (a tier missing back in Forza 4), so it appears to be back to pushing me to go deeper even with those issues nagging at me.

Tuesday, 19 April 2016

The PS4K (NEO): Some Notes

Here are some really quick notes based on the new technical data on a supposed PS4K mid-gen refresh that reworks the SoC (and possibly the RAM but I kinda guess that even the same mainboard design and chips they're currently using can probably clock that fast once the SoC's memory controller is poked a bit). I may come back and rewrite this properly but for some off-the-cuff notes, I'll share what I'd already noted on Twitter.

Ye, the free RAM upgrade (seriously, try to find chips that can't do 7GHz out of the box and AMD must have gotten their controller down by now even if that's something they usually go wide on vs nVidia's narrow bus with high frequency) - 224GB/s is the normal figure for 7GHz so maybe they're still not quite up there with the controller but I think that's more likely than making a wider bus. That makes my list as "most current PS4 are possibly one small tweak from being able to be overclocked like that anyway". Same with 911MHz vs 800: ye, most of the chips probably already get made that can hit that. Even the Jaguar cores moving from 1.6GHz to 2.1: not out of the question and certainly what a chip 3 years more mature could probably get away with under the same Voltage lines (ie power constraints: see GTX 950s that released as 90W parts but now are sold as 75W so no PCI-E power connectors required).

So the actual big news is double the GCN blocks than the current PS4. That makes sense for making it so that games can look visibly better on the new hardware and so bother to make this a second unit with software set to work on it slightly differently than the PS4. If you're building a 4K media box (and Sony have to, they make movies and even kinda have that TV division that's been 15 years without making a profit, right?) then that's not a terrible idea. If they're shrinking to 14nm then that's basically totally fine and easy to budget into a reasonably priced SoC at this stage. Hell, if you didn't double the GCN allocation then it'd look a lot like a CPU-underpowered version of next year's AMD APU (because that is getting AMD's next gen CPU cores: Zen rather than the mobile-focussed Jaguar tiny cores and has a modest amount of new GCN blocks).

As I said on that there Twitter: this isn't even that soon for a mid-generation upgrade. It's just last gen was a long one. UK window between xbox & 360 release was 1359 days. Today is the 872th day of PS4. A year from now: 1237 days into the PS4's EU lifespan. If you're going to release a mid-gen upgrade this is when you need to be getting it ready for release otherwise you might as well wait for a PS5 and a full generation with no forcing devs to keep making a lower-end settings config to make sure it still runs on a PS4.

I played GTA V on the PS3 Slim. If that had been a totally solid fps rather than the sub-20 creaking mess that R* managed (because that was all those consoles could hope to deal with for that scope of game)? That sounds like it would be worth that PS3 Slim being $50 more expensive than it was to me. And that's speaking as someone who had to buy the Slim because my OG PS3 died (optical drive) outside of Sony's warranty. My 'new' 3DS doesn't get a lot of use but I'm really glad I've got a much stronger SoC in it than the device launched with, even if only a few games actually make good use of that. The 'new' bit of the price tag was small, the potential benefit from a much faster and slightly more expensive SoC being inside is large.

Will the PS4K mean some games are released that are fine on it and run like junk on the PS4? Definitely. Is that the fault of the PS4K: nope. Play Just Cause 3 or grab this week's release for £45 on PSN of Alekhine's Gun: we're already at the point where PS4 games can run horribly because that's not a cert fail and some devs just don't get to finish their games. Don't like it, don't buy them; but a higher tier just means some people will get to pay to avoid that bad experience, just as you can buy your way into 1080p60 for most games today if you're prepared to pay for a gaming PC.

The current PS4 is a 1080p console, call it the baseline (shader perf per pixel required). The GPU is 1.8TFLOPS to give a very rough "how big is the GPU" metric (as much of gaming is shader perf limited).
You can get a GTX 970 for not that much: 3.5TF (so 2x1080p).
Current premium PC is a 980Ti: 5.6TF (3x).
The new big Pascal is coming (we know what it can do): 10.6TF (6x1080p - beyond 4K with PS4 level image quality on a per-pixel basis)!
It can also do half-precision mode: up to 21.2TF (12x1080p) and that's going so far beyond 4K as to almost hit 8K!

The new PS4K specs would make it a 4.1TF GPU. So that's not only significantly more than the current design but also putting it between PC VR spec (970) and PC hardcore spec (980Ti) - a good place to be in today for a device that'll be running VR in some months and has a new generation of PC GPUs coming with those numbers that are horrifically large now they've finally gotten to die-shrink to 14/16nm after years stuck waiting for a process that could make commercial 300-600 mm^2 chips that large GPUs demand.

You could maybe get some 4K games out of it, in the same way that a few games on PS3 even got to 1080p via lower per-pixel quality. I think many games would prefer to render at 1440p or something and then scale for output and so give you better anti-aliasing. You can also up the level of detail stuff so that PS4K games were on par with a PC release. When my GTX 760 [2.3TF but dealing with 2GB of RAM that really puts pressure on the new engines] is rendering the Division with far less issues of draw in and shadow detail than the console version then the PS4K can definitely benefit from more perf and being able to really push out the LoD issues. Even when hooking it up to a 1080p TV and using a game with some really good anti-aliasing tech already.

As long as Sony force devs to have a decent config file that allows the games to run on the original PS4, I can only see this as a great step for games on consoles. Make it so we have a base game and a config file for each system. Now let future systems patch in their new config file and, assuming compat that I expect them to maintain between x86 and GCN-derived GPUs (or even just the Metal-like not-GL API that perf games code to), we get to a point where it's actually almost zero effort to release a PS5 where you just put in a PS4K disk or load the PSN download up and it renders in 4K native with greater LoD distances and so on. Because of course you can do that: PC gaming has been all about making games that allow the sliders to go to 11 and one day even budget systems can run them like that.

When I play PS2 games, I do it on a PC because almost all of them can be hacked to roughly run to 1080p or beyond with anti-aliasing etc. And those games aren't even aware of this. Much better than using the PS4 to play the exact same game. Consoles need to get better at that because we're already well into the territory where last gen games look ok when "ported" to next gen via nothing much more than LoD tweaks and resolution increases (if you're lucky, they rewrite the lighting code). Let's call it a living archive and give console games an even longer sales tail rather than allowing 1% of games to get a "HD remake" and everything else is left to die.

Saturday, 5 March 2016

The Photography of Virtual Worlds

I'm assuming most people reading this are already aware of the various virtual photography communities. Dead End Thrills is probably the biggest.

This is something we've done forever on PC and now even consoles have dedicated space on the controller for a capture button (on top of the few games, often driving titles, that have put in an offline-render photo mode to really show off the art assets without the real-time rendering constraints). Hell, Firewatch even ties their virtual camera into a printing service, letting far more people realise they can print out their virtual photography because some of this stuff really does look good.

With VR about to arrive, people are about to really feel like they're present in the virtual environments we've been rendering for decades. The desire to take snapshots of places you're stood is only going to get stronger. Games built around photography are likely to bloom in the next decade, especially if they link the captures to a decent offline render pass so the files exported are the best quality the assets can be shown in. And not just games that add a camera as a proxy for a gun (for kids), adding jumps (for the more adult, horror games) or time constraints: those can also be fun games but I'm talking about photography as the act of having all the time you want to get the shot just right. The process of getting everything to be just how you want it at the instant of capture, moving to find the location that lines every elements just where you want it in the frame. I can even see a healthy market for big publishers reusing their AAA assets (every open world so far) in photography games.

An interesting things I noted while in the beta for The Division: even on tweaked medium settings picked to get to 60fps (because PvP promotes reaction times over nicer looking 30fps), even with a GPU I'm getting tired of waiting to replace (which is literally on the list as a minimum requirement for running the game), games with a decent anti-aliasing and lighting techniques can look pretty amazing. With only a few hours, a limited section of the map unlocked, and the constraint of primarily being there to shoot a gun (or be shot at), I still managed to get a few nice shots and can't wait to go back and take more. I just wish there was a button to hide my UI (and maybe even the protagonist) to do it.

Saturday, 27 February 2016

Super. HOT. Super. HOT.

In medias res, the brilliantly white level starts with two bright-red, crystalline dudes in front of me, guns being brought to point at my face.

The guy on the right easily gets there first and a black bullet comes straight at me with a flowing red trail emerging behind it. Time creeps forward with the bullet slowed as if through treacle.

I lean to the left, trying to also look around slightly, causing time to speed up, and I feel the bullet brush past my ear. But I've now formulated a plan.

I reach forward for the black ashtray on the table in front of me and manage to throw it at the dude on the left before he manages to get a round off. It smashes into his face, stunning him and, far more importantly for my plan, causes him to let go of the shotgun's handle. Shards of black glass that used to be an ashtray will keep him busy for the moment and that moment is all I need.

The gun's forward momentum from being brought to bear on my head keeps it coming closer to me, close enough that I can reach out and grab it out of the air. Already with a slug in the chamber, the guy on the right can only wait for his next round to arrive in the barrel.

Aim, shoot. This time it is me creating red trails in the air.

The guy on the right tries to dodge but it's not enough. His head explodes into a thousand reflective fragments as the buckshot impacts.

Now I've got a choice to make as I wait for the next shell to load, hopefully to take out the guy on the left: how do I spend that fraction of a second? For a start, now the super-imminent danger is over, I need to look around and see what else is coming for me right now. Work out where I am, what happened before these gentlemen decided I needed to not be here, and make sure there aren't any more bullets already heading in my direction...

Super. HOT.

Saturday, 13 February 2016

If You Don't Think You're Biased, You're Doomed

So I wrote a thing recently that's somewhat outside of the bounds of stuff I cover here but also thematically linked to a lot of how I apply my education in statistics, science, and engineering to wider issues and sanity-checking stuff that's more political, legal, and social than my day job typically involves.

If the worst thing that can happen to you is being called out, your unexamined biases mean you're pretty much the opposite of the Rationalist or "man of science" you perceive yourself to be. This will lead you down blind alleys, being highly selective in pruning your sources to fit a narrative you like but is fictitious. Then you'll have a very public meltdown defending the factually incorrect dribble you thought was a masterpiece of factual reporting. If you think you're white but totally not racist, cis but not transphobic, etc. you're setting yourself up for failure the moment it turns out you are partially the product of your environment. Read about exactly that happening.

Sunday, 31 January 2016

The Fall and Rise of Tomb Raider

I've enjoyed the Tomb Raider series(s). I mean, I've enjoyed all four (five?) of the different series of games that are called that or offshoot from that original 1996 title.

The grid-based frustration of the early games, back when exploring Croft Manor on PC was part of the post-Quake explosion of 3D that eventually resulted in me saving for a (3Dfx Voodoo powered) Orchid Righteous 3D. That amazing moment where buying new hardware suddenly made a load of games I already had into completely new games, jumping forward a generation. After the 3rd game in as many years, I started to lose track and the reviews started to indicate the series was coasting into the drain. That grid-based movement system could only survive so long and when analogue sticks were the norm, it made very little sense (especially by 2003 for the 6th game in the series). Hell, I even went back to that first game when it came out on mobile the same year as Angel of Darkness (where the grid was a better match for the nGage's digital buttons than the PS2 evolution of the series).

Then the series was rebooted in 2006 with a trilogy of games that completely redefined how the input system worked. Rather than being forced to perfectly input what the level demanded, the system looked at what the user was pressing and then did the most sensible thing. Pointing in the vague direction of something catchable and pressing the jump button probably means the player wants to jump there. The reboot, Legend, was a great romp; the remake of the first game, Anniversary, reminded me of those hours spent in 1996 while feeling completely contemporary in 2007; but I started to feel fatigue at the greater focus on combat (rather than exploration, traversal, and working out puzzles), the slightly rough edges on intuiting what input was demanded, and the increasingly fantastical plot in Underworld. But this was also the time when Naughty Dog was starting to make an exploration/puzzle-light, combat-heavy (and unfortunately bullet-spongey), very cinematic push into the sub-genre with Uncharted. Underworld was the first Tomb Raider that had to compete with Nathan Drake and I preferred the WWII zombies to the Norse zombies.

So the AAA Tomb Raider games went dormant again in 2008. Nathan Drake was left to take control of that sub-genre and move it even further away from puzzles and towards combat. But Lara Croft emerged as a budget series that courted mobile. 2010 saw Lara Croft and the Guardian of Light emerge on consoles, PC, and mobile. A co-operative puzzle game with more of a challenge arena design than a linear progression, it managed to get a console sequel and spin off to a pure puzzle game on mobile, last year's rather enjoyable Lara Croft GO.

While that was happening, AAA Lara Croft came back for another reboot. A new origin story this time, rather than repeating the story first laid out in 1996. 2013's Tomb Raider would have made my list, if not for the fact I didn't get round to playing it until the start of 2014. It polished those controls (including removing suicide from most of the traversal controls, leaving it for the QTE moments), expanded the combat so periods of action actually felt good, and completely reimagined progression into a semi-open world. This was a series of areas in which you could really explore, with collectibles to encourage full discovery of every surface. The story was a lot more grounded, despite still engaging with fantastical elements (as Uncharted does), and everything was just the right side of the reboot scale to feel both fresh and familiar. A 1996 relic had been completely transformed into the new series. The only thing I really missed: it lost the tomb raiding. There were hardly any puzzles left, leaving the traversal to feed into the open area designs and upgrade paths that unlocked new paths as you came back to areas. It all worked to make a great game but I remarked at the time that this was the best Uncharted game ever made. Better combat, more open areas and backtracking to justify the traversal as more than busy-work in linear levels, and a great story: this was the natural evolution of Uncharted. But it had shed the puzzles and lack of combat focus that made Tomb Raider games distinct from what Naughty Dog makes.

Which brings us to Rise of the Tomb Raider, released on Xbox last year but just this week arriving on PC (and coming to PS4 at the end of the year due to Microsoft paying to give Uncharted 4 some breathing room - something I'm sure Sony are none too unhappy about).

The 7 optional tombs of the last game have been bulked out, both each being larger puzzles and including 9 of them; the combat feels a bit better but I couldn't narrow down why; and the traversal skills have been slightly refined on top of the already-great power curve. It's all rather minor tweaks rather than any radical departures but as the sequel to the reboot of both mechanics and story, this game was always going to feel incremental. It's not a knock against the game, which feels every bit as great to slowly unwrap as the last game.

The engine has been completely rebuilt, although a 360 port does exist to enforce some consideration for 2005-era silicon on the general design. Within those constraints, the game (and 2013's title was never bad looking on PC and did reasonably well as a 1080p port on the current console generation without much tweaking to that PC template) can occasionally look stunning and rarely less than competent under a range of lighting conditions.

The 2013 reboot managed a diversity of locations and conditions hard to believe could exist on a single small island (because they couldn't, welcome to suspension of disbelief), giving it a great visual range. Rise fails to quite live up to that standard and, while it is by no means just a game about the same looking ice and snow, this is disappointing. There is a brief intro chapter in the desert to remind you of the old jet-setting level design ethos the series once had and some short cinematics in a room of Croft Manor and a small apartment but this is another exploration of a single contiguous space. Just like in 2013, that means a few very large and non-linear levels, many more linear sections you pass through a few times to hoover up optional tasks or travelling back for story reasons, and some corridor sections that literally exist to allow narrative to play or provide a break from the action as you move between areas - single use traversal or combat puzzles. As you spend most of your time in the large areas with fast-travel available throughout, this may contribute to the lack of variety felt. The large areas are not all the same but not as different as in the last game.

Rise is mechanically solid. The combat is still good enough to feel like you're getting a change of pace when it arrives, and you can upgrade out both skills and weapons to tailor that experience. Range with a rifle or bow or focussing on throwable makeshift gear, all the way into a melee-focussed character - the options are there and you can expertly switch it up as your upgrade tree fills out. Stealth and using the traversal tools during combat is not the deepest experience but is enough to facilitate competent stealth play. While the last game was contemporary to the Last of Us, this one feels like it maybe references back to that range of combat experiences - although that could be more down to how similar they both played in 2013 so a 2016 sequel that refines either one would maybe look like it was moving towards the peak of the two. If you can't see 6 different objects (mainly bottles) to throw and distract an enemy near you, you're in an area where combat is impossible.

Traversal is still an almost Metroidvania-lite experience of slowly collecting all the tools needed to travel anywhere and travel quickly. This isn't a game focussed on combat everywhere (small patrols that repopulate areas after first cleared are trivialised by the mid-game combat upgrade curve so just become resource dispensers) and lots of the more open areas rely on traversal being diverse with the more linear stuff needing each tool to be fun to use. Rise stands up to this task just like the last game, although there is now even less focus on QTEs, almost completing the transition away from their heavy use in the 2006-era trilogy. But those few times when the controls don't read my desired input correctly and result in a needless death feel all the more frustrating today (especially when it is one jump that consistently misreads my intent until I realise what input combo is actually required or direction to request the jump in). This is not to say Rise is worse that earlier games; it is not, and the checkpointing means you will never lose a collectible and usually only go back seconds. But my standards are always rising and it feels like Tomb Raider is standing still on this. It's not yet to the point where I never look at the death screen and think "that's not what that input is requesting happens!"

So incredibly solid, a worthy successor to the last game, and something everyone should play if they got any enjoyment out of the 2013 reboot. But why don't I feel the same passion for this as the last game? On the one hand, this is more of the same and not a heady combination of familiar and fresh - this isn't the series realising something Enslaved or a Naughty Dog game hadn't: going more open with the levels can be really good.

On the other hand, it's also the story and, crucially, the characters. The last game wasn't perfect, but when you got on that boat at the end there was a reason to care about the ensemble cast of secondary characters who made it with you and the ones who didn't. That cast is largely not returning and, strangely, not being replaced either. This is not the solo logs of Lara Croft raiding tombs, but the characters that do appear feel little more than vessels of ideology (which is better explored in the collectible texts) and functional story progression. Lara Croft is possibly the only vaguely human person in Rise. And that really hurts the story's urgency in a game filled with side-missions and collectibles. I hate to use the tired phrase, "this story is really video-game-y" but I'll say that this story presentation wouldn't have been out of place in a game released next to Underworld, where I last felt the narrative was losing me. World-weary, depressed Jesus fights the evil papal army sounds like an Assassin's Creed parody. Better characters and dialogue could have made a mechanically identical game to this stand a lot taller.

Finally, I need to address a potential disaster for PC gaming. In 2013's Tomb Raider, I played at max settings and 4K to remove aliasing (SSAA). This one I could only get near high settings at 1080p30 (with FXAA) and changing most settings or even resolutions lower than my picks did not make the game much better. Short of completely turning off the real-time shadows entirely, not much moved the needle and nVidia's numbers indicate this isn't just my mid-range machine (awaiting FinFET GPUs, and hopefully HBM2 if that gets into the affordable enthusiast tiers). "Newer game requires faster machine" isn't news and I accept that this is a better looking game and I do like the higher settings I struggle to run the game with. However, I have gotten to a place where the game is consistently around 30fps in all areas with my current settings. Except for when it isn't.

Sometimes the game will, when rendering something that I've seen it do before at 30fps, crunch down to a stuttering mess. We're talking ~10fps averages. Unplayable. It can also drop down in-between this and normal performance. At one point the performance woes got so bad (8fps average, indoor area) the map menu, which stops rendering the game (check your GPU logs, the load is <10%), couldn't get past 15fps - something was bogging down the CPU so badly it couldn't dispatch enough calls to render a 2D menu. The only thing I consistently found was that restating the game fixed it; going down to 720p or turning all the settings down (to minimum) didn't and the GPU logs didn't indicate something on my end like a heating issue or even something as visibly broken as Just Cause 3 had (logs showed the GPU stalled and then flushed the VRAM (or just stopped using it for a tick?) the same moment that game degraded into low perf mode). Reviewers have mentioned this issue. And I've heard this being reported on nVidia and AMD GPUs so it's not a specific driver bug.

I also want to bring in a 3rd PC port from the last 12 months and talk frankly about potentially ruining the experience of paying customers. Batman: Arkham Knight. The Denuvo (seemingly memory-resident rather than on-start one-time-check) anti-piracy technology is used in all three of these games that have unpredictable and somewhat setting-agnostic performance issues that (at least in my experience of Rise and JC3) seem to be a degraded perf mode that the game drops into. The game is capable of doing the job required, but sometimes it stops and you have to restart it to get back to the normal perf mode. And this happened more than once or twice. Both those games I've put in tens of hours and have encountered at least that many times when I've needed to quickly restart after the game massively chugged (as a persistent state, whatever location I moved to) for no good reason and with no alleviation coming from turning the settings all the way down. It's random as I've had it happen within a minute of booting the game up and had no issues for several hours solid gaming.

Rise is better than JC3 on my machine: I was annoyed but once I realising this wasn't my settings/machine but a bug causing a degraded perf mode, I could quickly react to seeing perf had stalled and restart to get back into the game. Frequent checkpoints find another use and SSDs show why they're mandatory for the PC experience when that loses you less than a minute. JC3 hit that degraded perf mode so regularly that I had to stop playing it for a few weeks. Some patches and my machine getting an OS wipe (moving from Win7 to Win10) later and it was still there but with about the frequency I find in Rise, so I could complete the game. I really hope this is just a coincidence or some bug in some shared code between Rise and JC3 (both Squidix published) because if this new anti-piracy software is getting in the way of the game code talking to the GPU drivers and stalling into a low perf mode, we are going to get a lot more bad PC ports that should really sing on a mid-range PC. I include Batman on this list because, despite having somewhat different perf issues, it was something the devs said simply wasn't fixable and if the anti-piracy layer was broken then those devs could not fix that if the publisher would not accept simply disabling it.