Former Fable engine lead Don Williamson talks about the Xbox One among other trends.
Celtoys isn’t a company that’s brought up very often but it has a lot to its credit. Founder Don Williamson has worked on engine and pipeline optimization throughout his career, including being the lead for Fable’s engine. The last time we spoke to Williamson was about DirectX and the impact of cloud computing. With the Xbox One X now available worldwide and VR gaming picking up, GamingBolt chatted with him once more to learn his take on the industry at present.
"Scaling to 4k can be a difficult problem and each team likes to explore or avoid it differently."
It’s been close to two years since we last interviewed you. How far has Celtoys come along in that period?
Business is going really well; we’ve helped ship some games, including No Man’s Sky, Dauntless and WonderWorlds, helped Google DeepMind with some of their AI efforts and completed various other smaller consulting projects to get new devs off the ground.
Can you tell us what happened with Celtoys’ PC Project?
Development was stalled for 9 months to bring in a bit of extra cash. It will start back up again in January with an eye to release a few months later.
With the VR industry growing more and more, how has Celtoys’ growth kept up in that industry in terms of support and features?
VR hasn’t been a priority as I’m genuinely terrified of the distraction. The nature of our own game makes it perfectly suited for VR and I’d get carried away implementing loads of features without bringing in any money. Nevertheless, I make it a point to stay on top of the state of the art.
The advent of iterative consoles has put more burden on developers specially given how 4K adoption is still on the lower side. What are your thoughts on this and how is Celtoys dealing with it?
Scaling to 4k can be a difficult problem and each team likes to explore or avoid it differently. We’ve prototyped some 4k techniques and implemented scanline rendering for an iOS title that needed PBR with realtime AO/GI performance on Retina displays. The technique goes all the way back to what I learned on Fable 3 when we were one of the first to ship a 360 title with Temporal AA. I managed to stumble upon some history buffer rejection sampling patterns that were suited to the bandwidth-constraints of iOS9-era devices that I haven’t had the time to share widely.
"The goal of DX12 was not to be as ubiquitous as DX11; the target audiences are different."
You have worked with Microsoft before. Do you have any thoughts on why DX12 hasn’t become a huge success as initially planned?
I’m not sure how you would measure success here. The goal of DX12 was not to be as ubiquitous as DX11; the target audiences are different. After working on iOS I actually prefer Metal’s balance of API but Apple have it a lot easier with far less devices to support. Writing D3D12 code can be a bit like writing graphics driver code and requires a lot more programmer attention than D3D11.
The step from D3D9 to D3D11 was difficult for many developers because of a few paradigm changes; there was a whole bunch of engineering that needed to be costed to make the change that wouldn’t necessarily bring in equivalent sales. The step from D3D11 to D3D12 is larger. With legacy engines, smaller developers will be hard pressed to make the change at all. But legacy graphics drivers were getting horrendously complicated and the effort to simplify this and make a better experience for gamers is appreciated.
Another aspect was cloud gaming and the so called “power of the cloud”. Do you think consoles will ever see a future where they can use the power of the cloud to improve their processing capabilities?
Potentially but it’s a very grey area. We’ve been “using the cloud” for decades to build multiplayer games and some games have used remote servers to chew through expensive calculations for single player games that can be shared. I’ve recently spoken to a few startups built around the idea of moving more and more onto remote servers. I think some of them will have issues selling the implementation to developers while the others haven’t shared enough information with me to make that call. In the long term, the idea of air-gapped gameplay is unfortunately losing out so sharing more calculations remotely is logical.
Microsoft have made it compulsory for developers to make their Xbox One games compatible with Xbox One X and vice versa. Do you think this will hold back Xbox One X’s true performance in any way?
If you spend engineering time on two platforms rather than one then there will always be compromises. This has been the same since the dawn of computer games.
"A console’s fixed hardware with custom modifications and matched APIs makes it easier to get predictable performance from."
Do you think that as a whole, the Xbox One X is powerful enough to render AAA and graphically demanding games at native in 4K without resorting to techniques such as dynamic scaling or checkerboarding?
For certain classes of renderer, most definitely. I would much rather see a focus on HDR with higher quality pixels.
In your opinion, how does the Xbox One X compare to a high end modern gaming PC?
Desktop PCs have always come out ahead of consoles by an observable margin. However, a console’s fixed hardware with custom modifications and matched APIs makes it easier to get predictable performance from. PC engines are a mess of compatibilities that make focusing on performance much harder. The attribution of “yet another sloppy PC port” from some gaming circles is a visible reflection of this.
Have you gone hands on with the Switch? What are your thoughts on it? Many developers and publishers have been taken aback by its success. Do you have any thoughts behind its success?
I think it’s great that Nintendo are still relevant with the younger generation, even though I was a SEGA fan at heart. For large corporations this is a non-trivial task and they should be commended.