Working with Virtual Worlds: nDreams Dev Diary #4

We’re now into week 4 of our nDreams developer diary. That means the developer’s E3 reveal of its first title for both the Oculus Rift and Project Morpheus virtual reality (VR) headsets draws ever closer. The team is currently busy shining its reveal demo to make it presentable for the swarms of industry insiders that will be coming to the show in Los Angeles on June 10th – 12th 2014.

This week, then, the team’s Jackie Tetley talks on optimisation, and what the process is like at this stage of development. It’s just over 3 weeks to go until the big show, and VRFocus will be there to bring you all the latest on this project as well as the full range of VR experiences on display. For now, here’s Jackie once more.


Jackie Tetley, nDreams: Ah, optimisation.

In an ideal world everything would be optimal from the start. Not an excess graphics or processing hit in sight. The game would be a sleek streamlined sports car, each addition enhancing its performance and making it ever more perfect.

Alas this is not often the case. In the rush and excitement to make the BEST GAME EVER, far too much can end up being added, with the optimistic outlook that sure, the frame rate may be a bit chuggy now, but code will magically optimise all the problems away at the end.

To be fair, sometimes it DOES happen like that! A few magical investigations by code turn up a series of small tweaks that fix everything. I like that outcome. I suspect code sometimes secrete memory away at the start of the project in anticipation of all the other disciplines getting carried away, so at the eleventh hour they can uncomment some bits of code and be hailed as heroes…

More painful is where art and design have to start removing or refining implemented work. Everyone is quick to declare they can’t POSSIBLY change anything as it would RUIN the look/gameplay/experience/feel of the area.

Although it’s early days for project-wide optimisation, this week we’ve been having a pass specifically for E3, which is proving very useful for highlighting potential game-wide issues and elements we need to consider moving forward.

As terms like “occlusion culling”, “dynamic lighting” and “GPU and CPU” drop like tombstones from our lead programmer’s lips, I have been hiding under my desk and hoping no-one asks me to remove anything. So far, so good, and I have even been sneaking more things in. Only things that are absolutely necessary of course…

I’ve also been making myself popular by reporting bugs. At a previous company it emerged at the end of one project I had logged even more bugs than QA. I’m still on the fence as to whether that was a good thing.

Thankfully nothing too scary has reared its head here bug-wise so far, and everyone’s feeling positive as our E3 deadline draws near. I’m looking forward to the final polishing touches going in, and fully prepared for a possible last minute panic over something or other!