Metrospective: 4A Games vs. Digital Foundry
Metro 2033's technical mastermind explains the game's post-S.T.A.L.K.E.R. technology.
Unreal Engine has defined the technological standards of high-definition console shooters, but Gears of War apart it seems as if it is down to proprietary engines to exceed them: Infinity Ward, Bungie and Guerrilla Games have produced the most critically well-received FPS titles on console, and all of them are using their own in-house technology.
Coming from the technological architects of GSC's S.T.A.L.K.E.R., the new 4A engine powering Metro 2033 from THQ is another proprietary codebase that looks capable of producing pretty astonishing visuals. Thus far, most of THQ's marketing efforts have concentrated on the visually superb PC build, though Eurogamer got hands on with both versions last month. Digital Foundry has had extensive access to a preview Xbox 360 build, and what we've seen has been impressive.
To give you some idea of what has caught our eye, here's a video of the game running on the Microsoft console, captured and edited by us with a view to showcasing the unique visual look of this new technology, and how it translates into the gameplay.
Digital Foundry captures of the Xbox 360 build of Metro 2033, showcasing environments, effects and gunplay. The thumbnail above is an actual in-game shot, by the way.
We wanted to know more, so arranged an interview with 4A Games' chief technical officer Oles Shishkovtsov. Having previously worked with GSC as an instrumental guiding force behind the technologically impressive S.T.A.L.K.E.R., there has been controversy that the 4A engine is an offshoot of proprietary GSC IP, but Shishkovtsov disagrees, saying that the new tech was started as a pet project borne out of the frustrations in dealing with his older engine.
"The major obstacles to the future of S.T.A.L.K.E.R. engine was its inherent inability to be multi-threaded, the weak and error-prone networking model, and simply awful resource and memory management which prohibited any kind of streaming or simply keeping the working set small enough for 'next-gen' consoles," explains Shishkovtsov.
"Another thing which really worried me was the text-based scripting. S.T.A.L.K.E.R. was purely LUA-scripted," he continues. "Working on S.T.A.L.K.E.R. it became clear that designers/scriptwriters want more and more control and when they got it, they were lost and needed to think like programmers, but they weren't programmers! That contributed a lot to the original delays with S.T.A.L.K.E.R."
It was these problems and issues that left Shishkovtsov looking for an entirely new direction for the next engine.
"I started a personal project to establish the future architecture and to explore the possibilities of the design," he says. "The project evolved quite well and although it wasn't functional as a game (not even as a demo: for example it didn't have any rendering engine back then) it provided me with clear vision on what to do next."
Shishkovstov and his colleague Aleksandr Maksimchuk left GSC a full year before S.T.A.L.K.E.R. eventually shipped, and the 4A engine, with its emphasis on a hugely efficient implementation of multi-threading good for both PC and console, took shape. Shishkovtsov claims that the 4A engine has no relationship with the S.T.A.L.K.E.R. X-Ray tech because a port would be "extremely difficult".
"A straight port will not fit into memory even without all the textures, all the sounds and all the geometry," he reckons. "And then it will work at around 1-3 frames per second. But that doesn't matter because without textures and geometry, you cannot see those frames! That's my personal opinion, but it would probably be wise for GSC to wait for another generation of consoles."
According to Shishkovtsov, the philosophy of parallelising the code is different to many games, but akin to the techniques employed by Criterion Games for Burnout Paradise: processing tasks are allocated to whatever processors are available at the time.
"We don't have dedicated threads for processing specific tasks in-game with the exception of a PhysX thread," explains Shishkovtsov. "All our threads are basic workers. We use task-model but without any pre-conditioning or pre/post-synchronising. Basically all tasks can execute in parallel without any locks from the point when they are spawned. There are no inter-dependencies for tasks.
It looks like a tree of tasks, which start from more heavyweight ones at the beginning of the frame (to make the system self-balanced). The last time I measured the statistics, we were running approximately 3,000 tasks per 30ms frame on Xbox 360 on CPU-intensive scenes with all hardware threads at 100 per cent load."
And again, similar to Criterion's multi-threading work, 4A Games has found that a similar implementation works on the Sony console too.
"The PS3 is not that different... We use 'fibres' to 'emulate' a six-thread CPU, and then each task can spawn a SPURS (SPU) job and switch to another fibre. This is a kind of PPU off-loading, which is transparent to the system. The end result of this beautiful (apart from somewhat restricting) model is that we have perfectly linear scaling up to the hardware deficiency limits."
While the engine is described as a complete cross-platform development environment, there is to be no PlayStation 3 SKU of Metro 2033. The game will launch on PC and Xbox 360 only. However, the Sony console played a big part in the development work for the core tech.
"From the start we selected the most 'difficult' platform to run on. A lot of decisions were made explicitly knowing the limits and quirks we'll face in the future," explains Shishkovtsov.
"For me personally, the PS3 GPU (they like to call it RSX for some reason) was the safe choice because I was involved in the early design stages of NV40 and it's like a homeland: RSX is a direct derivative of that architecture. Reading Sony's docs it was like, 'Ha! They don't understand where those cycles are lost! They coded sub-optimal code-path in GCM for that thing!' All of that kind of stuff..."
You may also like...
-
Metal Gear Solid: The "Lost" HD Remasters
-
Face-Off: SoulCalibur 5
-
Who Killed Rare?
-
Mobile Controller Group Test
-
Retrospective: Grim Fandango
-
The Story Behind XBLA's Biggest Game
-
Game of the Week: SoulCalibur 5
-
Why Do Developers Give Away Their Games For Free?
-
Gotham City Impostors Review
-
King Arthur 2 Review
-
Skyrim patch 1.4 now live for Xbox 360
-
Street Fighter X Tekken Preview: Year of the Dragon Punch?
-
Skyrim makers create dragon riding, Kinect shouts, new skill trees
-
Diablo 3 release date narrowed
-
Double Fine Adventure raises $1m in less than 24 hours
-
Itagaki: Tecmo tricked me into releasing unfinished Dead or Alive 2
-
Activision promises "meaningful innovation" in next Call of Duty
-
Kingdoms of Amalur: Reckoning Review
-
World of Warcraft universe recreated in Minecraft
-
Jaffe: Developers should focus on gameplay, not story
-
Apple to reveal iPad 3 in first week of March - report
-
UKIE lobbies to make crowd funding legal in the UK
-
Arkham City developer laments health of UK games industry
-
The Darkness 2 Review
-
Psychonauts developer Double Fine making fan-funded adventure game









Comments (65) Latest comment 2 years ago
Comments threads automatically close after 30 days, but please feel free to continue chatting on the forum!
Comment below viewing threshold Show
Comment below viewing threshold Show
Comment below viewing threshold Show
Comment below viewing threshold Show
Comment below viewing threshold Show
Comment below viewing threshold Show
Comment below viewing threshold Show
also, KZ2 while looking good was only devloped for one platform, with the financial backing of sony, I'd say most of this game was developed solely by 4A, who I doubt are bigger than 80 people, so its a damn fine engine for so little people, compared to the 300 or so that worked on KZ2
edit: 130 it is then Widge
but anyway, productivity increases exponentially per person in the team I guess?
Comment below viewing threshold Show
Comment below viewing threshold Show
I'd rather have the STALKER gameplay on console, please, than just another FPS.
Comment below viewing threshold Show
Comment below viewing threshold Show
Sounds like the cosnole version would benefit from using HD, you think a game would ever come out which stipulates HD 1 GB required for streaming...
Comment below viewing threshold Show
Hard drive edit:
I think the PS3 does require X amount of cache for streaming on some games, but thats the thing about having a base level console that has a HDD. You've got to think about the amount of 360 people who just have a bog standard mem card as their storage. There must still be a few, a guy on here donated me a 20GB HDD to pass onto a mate as he had been using a mem card up until now. I'm sure there will come a point where a dev will say "fair enough, we're cutting out a bit of the market, but you have to have an HDD for this game" though. Its getting that way with the likes of Capcom where they are going for disc/download voucher solutions to games that push past the size of a DVD.
As I said in the article, hope they get round to doing something on the PS3 too, or if this game is a success, moving it to the PS3 as well. Its nice to see that they have done some decent coding towards the PS3 setup... and that they seem to be quite at home with the architecture.
'Ha! They don't understand where those cycles are lost! They coded sub-optimal code-path in GCM for that thing!' is just the sort of stuff that goes through my mind when playing UE3 games on the PS3 too. I'm sure its the same for all of you out there too.
Comment below viewing threshold Show
Comment below viewing threshold Show
http://www .youtube.com/watch?v=_-I99JdSmCM
Comment below viewing threshold Show
Comment below viewing threshold Show
Comment below viewing threshold Show
Comment below viewing threshold Show
It's amazing they can pull off this level of detail, and lighting, at 40-50 fps @720p with AAA on the 360. That really is outstanding.
Comment below viewing threshold Show
Comment below viewing threshold Show
It has sub HD texture, and everything feels blurry.
Even stalker's light rendering kicks its ass badly.
Being in the wide open zone (and not tiny corridor), watching the next nuke cmoing is FAR more impressive than anything in KZ light-wise
I'll get loads of disagree, but it had to be said
Comment below viewing threshold Show
Comment below viewing threshold Show
I guess that PS3 is good for something after all...lol
Comment below viewing threshold Show
watching a zone blowout 60fps@1080 is just so amazing...
I didn't meant to say killzone 2 is a bad game, it's absolutly not
Comment below viewing threshold Show
Comment below viewing threshold Show
Pity the publisher put the kybosh on a PS3 version as from what he says it would've worked very well on that system aswell.
Comment below viewing threshold Show
Comment below viewing threshold Show
Comment below viewing threshold Show
Dont you get embarrased when you are pointing out a game that actually has sub hd resolution and low res textures to give that vision?
Comment below viewing threshold Show
Maybe if more devs did the same they may get more sales on the PS3 with certain games?
Anyway game looks great
Comment below viewing threshold Show
Comment below viewing threshold Show
Comment below viewing threshold Show
Comment below viewing threshold Show
Well done. /golfclap
Comment below viewing threshold Show
Comment below viewing threshold Show
Still the game does look amazing, though the last preview mentioned bullet sponge enemies that lack any kind of hit animations when you shoot at them.
Fancy graphics are great, but I for one won't be picking this up if that's the case in the final game!
Comment below viewing threshold Show
Comment below viewing threshold Show
Until STALKER:Call of Pripyat, which is ridiculously stable. I've encountered extremely few bugs, one of which was Beard getting disengaged from his table, but he fixed himself. >.>
Oh, yeah, and X-Ray engine does pump out lighting like crazy. It's ridiculously impressive, considering the god-rays it pumps out in CoP, and the game itself is well designed. Awkward animation, but fun as hell, with rather difficult enemies, all of which are a threat if the situation plays to their strengths and weaknesses.
Comment below viewing threshold Show
Comment below viewing threshold Show
I bet this guy is a hit with the ladies!!
Comment below viewing threshold Show
I wouldn't be at all suprised if that'd be the reasoning for skipping the PS3 release, afterall xbox360 is more or less a shooter platform so it's natural it'd have higher amount of fps fans.
Comment below viewing threshold Show
Comment below viewing threshold Show
Comment below viewing threshold Show
It's taken until CoP to beat out the worst bugs, but yes, in 2 play throughs I don't think I've seen a single game breaking bug.
I attribute this to a new anomaly which fixes code if you throw your game in it.
My main problem with it now is AI behaviour such as when you're in cover and some friendly decides they want to be in that exact same cover. They proceed to shuffle into you until you're pushed into the open and they take your spot and you die.
I also have been badly wounded dozens of times because one NPC wants to fight another one you're near, but not an enemy of. They think nothing of grenading you and the enemy NPC together.
An impressive engine is one thing, but I'm not quite sold on the game itself yet. We'll see.
Comment below viewing threshold Show
DX11 does promise another shift change in graphic detail (if the new Nvidia Fermi tech lives up to potential) and, I think will show over the next 18 months the graphic quality we can expect from the next console generation (whenever they appear!).
Comment below viewing threshold Show
Comment below viewing threshold Show
Keep marking down my comments please. You're all 360/PC fanboys anyways. I have all three systems. You lose.
Comment below viewing threshold Show
As for mention of Killzone 2: well, it's currently the most impressive FPS-targeted graphics engine on any console, so if someone else is gunning (oh-ho) to do as powerful an engine as possible on console, it only makes sense to mention it.
I'd be pretty sure Gorilla would disagree with some ways the 4A engine does things just as 4A do with theirs: doubtless they've both taken decisions to do certain things very well for specific reasons.
They've also both got products to sell
Comment below viewing threshold Show
Didnt understand a word.
Comment below viewing threshold Show
Great read again, looking forward to seeing this tech first hand
Comment below viewing threshold Show
Although being good is an important factor, the fact that the tech is this good shows 2 things. 1) That both consoles still haven't released a game that takes full advantage of the hardware. 2) That (for the 360 at least) there is a better engine available for developers to use instead of Unreal.
Therefore, irrespective of whether the game is any good, all this "technical talk" could eventually lead to some amazing looking games on 360/PS3.
*There is of course a proviso! That they allow the engine to be licensed by other studios.
Comment below viewing threshold Show
Comment below viewing threshold Show
Comment below viewing threshold Show
Main one for me, control lag.
EG had done an interesting article on this and ehich illustrated how GG had decided to opts visual over control, and which was claimed as lending weighted feel. Right, handgun being pretty light weapon yet still at quick aiming within a short time is does not result in an easy time of aiming!
You can try to practice hell out of it to get your brain wired to make up for the lag, sure but compared to other FPS.
I would be very delighted if GG can overcome this for KZ3 and have much more shorter control lag, but won't dispute the tag of best VISUAL fps on console.
Interesting article on new engine as I m not so keen on Unreal engine and having more competition raises the standard everywhere.
Comment below viewing threshold Show
Comment below viewing threshold Show
Comment below viewing threshold Show
"In KZ2 there is intended weight to guns/aiming with input acceleration(not input latency)".
No, latency. If you press fire you expect it to fire before you notice a delay. FPS is twitch gaming and needs twitch reactions. I don't mind it taking longer to turn, or move, but it should start to move when you ask it to. I don't like a game that does absolutely nothing about your input for a whole fifth of a second before moving/turning/opening fire.
It's a graphical marvel, yes, as is this game, but it seems in both cases we're seeing great engines thrown at monochromatic environments (greenish grey for KZ2, brown for this one). IN KZ2 the pretty processing led to input latency that was unplayable for me - if this game is the same, it's just as pointlessly good looking.
Comment below viewing threshold Show
Every thing in KZ 2 generally looked great where actually set pieces - which you never actually interacted with until the set-piece ran it's course, the explosions where so sub standard, the respawning of characters (only upto 9 onscreen at once - if that), sub textures, the vehicles looked and played dreadful and not very interactive esp with explosions...I can't understand why KZ 2 is held as fps classic - infact it's so overrated in gameplay and actually graphics (nice but there's game already out that do just as good or better!)
I also noticed in KZ2 how you can stay behind a certain point in the game - nothing will happen, the characters just drop of and respawn continuously until you reach that point - the game moves to the next section (but you can just sit back and nothing develops untill you reach that point and take action) - take example the 1st bridge section on opening level!...Also there only a few different variations of enemy - which looked almost the same!
To me KZ 2 may look pretty, but it has taken shortcuts compared to the Ai and open spaces and freedom, onscreen characters, physics of Halo 3.
KZ 2 is more like a HD Medal Of Honor - may have been good but the flaws start to show once experienced other Superior fps. If this was not a exclusive game a lot PS3 fanboys would not really bother with this game. I fell for the hype, but realized it's more hype then gameplay and was pleased but not convinced that this is great looking - thatnks to the fanboys .
I hope Metro 2033 will come to PS3 as it was originally coded for PS3 - as it looks more exciting then the usual fps.
Comment below viewing threshold Show
I certainly understand the concept about how the player should move - about gaining ground bit by bit, not breaking cover unless you are sure, and so on. That's the weighted movement you refer to, and I'm happy to adapt to that. But even if someone's carrying a gun that weights half a ton, when he pulls the trigger he shouldn't have time to blink twice before it fires. If he needs to turn, he shouldn't have to give it time enough to sniff sharply before moving at all.
This is what I mean by input latency, and it must must must be lower than the threshold where it's noticeable, which DF estimated at 133ms. So for all the comparisons that 'Metro 2033's technical mastermind' makes with KZ2, if his engine has comparable input latency, it's not for me.
Comment below viewing threshold Show
Comment below viewing threshold Show
Yes! I do believe Halo 3 is superior fps in most ways then KZ2. The large battles, the AI of enemy , enemies, multiplayer, online, weapons, freedom the way you decide to battle with integrated option of proper use of vehicles, physics effects were better, weapon use and design etc etc...So I give the game credit as KZ2 was hyped PS3 Halo killer, KZ2 to me is actually fairly sub standard fps. Even graphically while very good - not spectacular in the way only PS3 fanboys keep going on about!
Comment below viewing threshold Show
Comment below viewing threshold Show
The tech sounds incredibly impressive, hopefully the 4A Engine and the new Crysis engine will give developers more of a choice when selecting a development platform for their titles, it's a good thing that U3 is finally getting some real competition.
Comment below viewing threshold Show
Comment below viewing threshold Show
Comment below viewing threshold Show