Archives For General

Mik

Hi everyone!

With Oculus’s recent announcement regarding requirements and specs for the consumer version of their HMD (https://www.oculus.com/blog/powering-the-rift/), I figured it was the perfect time to write that performance bit I teased about the last time around. Let’s see how we’re dealing with optimization on FATED! First, some math to have a clear vision of what we’re trying to achieve.

Know Your Numbers!

FATED is pretty much fillrate bound (http://en.wikipedia.org/wiki/Fillrate), and it’s safe to assume that most early VR games will also be. This is why the following info is important.

A current generation game will generally push about 124 million pixels per second when running at 60 fps in 1080p. FATED is currently running on a GTX 970 (the recommended card for the consumer version of the Oculus) at ~305 million pixels per second.

1920X1080 upscaled by 140% = 2688X1512 * 75(Hz) = ~305 million

The CV1 native resolution and refresh rate looks like this:

2160X1200 * 90(Hz) = ~233 million

Oculus’ Atman Binstock revealed that “At the default eye-target scale, the Rift’s rendering requirements go much higher: around 400 million shaded pixels per second.” After some math, you can figure out that this pretty much means a 130% upscale seems to be ‘the norm’ for Oculus.

2160X1200 upscaled by 130% = 2808X1560 * 90(Hz) = ~394 million

While we don’t have the final hardware yet, we can have an estimate of what it will need in terms of processing power. The closest we can get using the DK2 is by pushing the screen percentage to around 160. This is what we are aiming to achieve!

Trade-offs A.K.A. Battle with the Art Team

Unreal can be pretty daunting when you first enter it, mainly because the engine cranks everything to 11 by default. The first thing you want to do is take a look at what is costing so much and turn off what you don’t need. Sometimes, the art team will hate you for asking to remove that extra post-process, but remember that a vomit-free experience is more important!

With FATED, we decided to go with a ‘stylized’ look so we could remove some of Unreal’s cost-heavy features while keeping the visuals as stunning as possible. We are also making the conscious decision to have each scene as tightly contained as possible. We want to control which objects are seen at each moment (limit draw calls!) and so we design the levels in consequence. These assumptions allowed us to remove some of the features of the engine without overly affecting our visual target. Here are some decisions we made early on:

  • No dynamic shadows, everything is baked (with exceptions…)
  • No dynamic lights either (with exceptions…)
  • Limit post-processes: No DOF, motion blur, or lens flare

Console Command Options

Here are some interesting commands that we used to disable some costlier features:

r.HZBOcclusion 0: Disables hardware occlusion

r.TranslucentLightingVolume 0: Disables translucent lighting

r.AmbientOcclusionLevels 0: No ambient occlusion! It’s a nice feature, but we don’t need it; remove that!

r.SSR.Quality 0: Screen space reflection is also cool, but it’s costly and we don’t need it; delete!

Profiling Limits: Dig Deeper with GPA

At one point, it’s hard to pinpoint what is really happening GPU-side using only the GPU Profiler. To really get a sense of what is going on, we need something to dig even deeper! We’re using a free tool called Intel GPA.

mic1

https://software.intel.com/en-us/gpa/faq

We won’t go in depth on how to use the tool, but there is one important thing to know: it won’t work in ‘Direct to HMD’ mode. So, to start a capture, you need to be in ‘Extend to Desktop’ mode. The quickest way we found to take a capture was to open the editor, set GPA to ‘Auto-detect launched app’, and then run the game in ‘Standalone’.

Now for the Juicy Tips!

Analyze your scene: I talked about the ‘show’ commands and ‘stat scenerendering’ in my last post; this is where you want to use them to determine what your bottleneck is.

Instancing Static Meshes + Foliage: If you have too many draw calls, this could be a life saver! Foliage is especially great if you want to have a dense forest or lots of smaller meshes. But keep in mind that the level of detail in foliage can easily multiply your draw calls. Also, instancing is not always the best option, so make sure it’s really going to help. Don’t hesitate to compare using GPA!

Particle System Bounds: While profiling FATED, I found out that a lot of particle systems we were not supposed to see where being rendered. Turns out the culling of particle systems is not set by default!

mic2

Project rendering settings – Screen Clear: This is a minor optimization, but every microsecond is worth it! If you always render something on each pixel (you have a Skybox, say) this is worth setting to ‘No Clear’. Be aware that this should only be set for actual builds, since it will cause weird artifacts in the editor asset viewer viewports.

Project rendering settings – Early Z Pass: This is one of the best helpers for the fillrate. This will do more draw calls, but it’s such a huge help for the number of pixels drawn that it is worth enabling. Some frames got as much as 25% speed gain by enabling that!

mic3

Disable post-processes when not using them: We got some really nice post-processes for some features in our game, but they are not always used. Be sure to remove those from the ‘Blendables’ array when they’re not needed!

Shipping Builds: It’s good to remember that your shipping build is going to run a bit faster than your dev build.

We’re always looking for ways to improve performance, and we’re not done optimizing, but this should give you a basic idea of how we’re working on FATED: always profile, add one feature at a time, and look for more ways to make the game run ever more smoothly. There is whole section dedicated to performance in the Unreal 4 documentation (https://docs.unrealengine.com/latest/INT/Engine/Performance/index.html); I highly recommend it to those who want further insight!

Meanwhile, if you have tips to share, or any questions or comments, send them in and I’ll be happy to address them! ‘Til next time!

Mick / Lead Programmer

Hey again,

The excitement for Virtual Reality continues! We saw some amazing stuff coming from the RIVER start-ups (powered by the Rottenberg Ventures), special mention to FOVE and their awesome VR eye tracking system! They just launched a Kickstarter campaign, back it up!

day21

The Project Morpheus demo with the guns was a big star here. It was really fun just to watch the great reactions from the players. We got to try a Sixense demo, also with guns… it was just great! Having controllers definitely adds to the VR experience.

day22

A few more people played our FATED demo. Even though it’s still pretty early in Alpha, it’s still making quite an impression. Quote of the day: “Best Demo I’ve played during the event and it was in a f**king Hotel Room!”

day23

We finished the day with a great talk from our friends at Epic. It was good to hear that their Showdown demo worked without any modification @120 Hertz on the Project Morpheus. This is really high end stuff and it was running on a very high end PC rig. The PS4 is a powerful machine and mustn’t be underestimated.

But as all good things must come to an end, we need to get back to work now.

See you later folks!

Vincent Martel / Producer / @Vincent_Martel

Hello everyone,

Michael and I are in the Silicon Valley area this week for the SVVR 2015 convention. So far, the event is great, it’s nice to meet other VR devs and chat about our passion for the medium. Even though we don’t have our own booth, we brought a pretty polished demo to show to members of the press and other VR enthusiast devs at the event.

20150518_080904

We wandered the showfloor and got to try many cool demos. The teams from Kite And Lightning and Cubicle Ninjas did a fantastic job with theirs.
It’s refreshing to see non-gaming VR applications too. There’s a lot of passionate people out there looking to make the world a better place.

Also, we were lucky enough to get our hands on the new Oculus Crescent Bay kit and it’s awesome; lighter headset, better resolution, great sounds… can’t wait to try FATED on it.

20150518_130152

So many people to meet and so many demos to try!

We’ll keep you posted tomorrow about Day 2.

Vincent Martel / Producer / @Vincent_Martel

RAGNARÖK

@Vincent_Martel —  April 30, 2015 — Leave a comment

MuralOnly

“Brothers will fight

and kill each other,

sisters’ children

will defile kinship.

It is harsh in the world,

whoredom rife

–an axe age, a sword age

–shields are riven–

a wind age, a wolf age–

before the world goes headlong.

No man will have

mercy on another.”

The Poetic Edda

Laurent

Hello guys,

Vincent went down to the CDRIN ( Digital Imagery Research and Development Center ) to try out their installations. We’re lucky to have the largest motion capture studio dedicated to research in North America just a couple hours away from the studio.

2015-02-12 13.09.552015-02-12 16.33.04

During our visit we experimented a few things, here’s an example of a Mocap Rig we will be using for our cart:

2015-02-12 12.39.37Chariot

The cat is out of the bag now, we will be using Motion Capture for FATED! We believe that using motion capture for our characters will positively improve the sense of presence in the game and bring a level of emotions for our scenes that only a real-life actor can achieve.

Here’s a quick look of what we made in just a couple of hours. Keep in mind that this is very preliminary stuff.

What do you think?

Laurent Mercure
Community Manager / @laurentmercure

Forging Worlds

louispatalano —  April 16, 2015 — Leave a comment

Hi all,

My name is Louis Patalano. I’m the Associate Producer, and “Lore Master”, on Fated, and I’ll talk about how we came up with the concept for Fated.

Making a VR game is more than just a quest for an appealing mechanic; for us, it’s a fusion of experience and imagination.

Experience: We knew we wanted to tell a deep and touching story, but we also wanted to showcase the best that VR has to offer and provide a unique experience only possible in VR. So we tried to think up as many concepts as we could for a VR world, and while a lot of pioneers out there were already working on awesome VR experiences of their own, we wanted ours to have its own unique twist. Strangely, we constantly ended up coming back to giants. From steampunk metal giants to Greek titans and gargantuan behemoths, we weren’t sure what we wanted exactly, but we knew we wanted something BIG!

Imagination: Then we looked at the kind of universe we wanted, one that would feed our desire to create a touching story, but also provide the perfect setting for an amazing VR experience. We had always found Norse mythology very compelling, not to mention that we had yet to stumble upon a Norse game that did any level of justice to Ragnarök. We tried to imagine how mindboggling it would have been to be part of such a rich and powerful mythos, filled with gods, monsters and, of course, giants, all locked in a final battle destined to bring about the end the world.

passage

So we went with what appealed to us most: awesome giant creatures and the rich universe of the Norse gods. And so was born Fated.

Here is a glimpse of what the first story has to offer:

We follow in the footsteps of a simple man who must do the impossible to ensure the survival of his family in a world where gods and giants have descended upon the nine realms to wage the great battle that would end the world.

We hope you’ll have the chance to see our game firsthand and accompany us on all the journeys that VR has yet to unravel!

Oh, and one last thing: trust me when I tell you that being charged by a 50-foot giant in VR will change your life forever!

Louis Patalano
IP Associate Producer

HELLO WORLD!

@Vincent_Martel —  February 27, 2015 — Leave a comment

Vincent
A BIT OF BACKSTORY

Like most people, my first contact with Virtual Reality involved a roller coaster demo, a DK1, and a bunch of people laughing at me because I couldn’t stand up during the ride.

Even though I was mind-blown by the experience, I felt that VR would probably be the next gimmick that everybody forgets after a few months. The severe case of VR sickness that stuck with me for several hours after the demo surely didn’t do anything to change my mind.

Needless to say that it took me several weeks before I wanted to give VR a second try, but I’m definitely glad I did.

This second experience also involved a DK1 and a bunch of people laughing at me, but this time for a whole different reason.

I was in the middle of a not-so-great horror demo when suddenly I was literally paralyzed by fear. I couldn’t move forward, even though I knew I was in a game. I was too scared.

Call me a wuss if you like, but this experience totally changed my opinion of VR. From that moment on, I knew that VR would change the way we tell stories and touch our audience. I knew I had to work with virtual reality. I had to create a meaningful experience for this platform and play a part in the birth of what will be the next great tech breakout.

After a few weeks/months of preparations, we presented our project to the CMF, who granted us the necessary funding to achieve our greatest ambitions.

FATED was born.

WHAT IS FATED?

FATED is a first-person action-adventure episodic virtual reality game that combines rich storytelling, emotional moments, intense action scenes, and innovative gameplay mechanics.

Set in the mythical age of Vikings, FATED tells a tale of courage and sacrifice where an everyday father and husband must do the impossible to protect his family from the destruction of their world at the hands of giants of old.

Stay posted, as we will share a lot more information about the development of the game in the next few weeks.

BLOG INTRODUCTION

This blog will mainly serve two purposes. Obviously, we want to share our passion for FATED and hopefully get you as excited about it as we are, but we also want to share our experience with VR development.

Virtual reality is new to almost everyone. There’s a lot to be learned, and we firmly believe in sharing our learnings so that others can use them to create awesome games as well.

In the end, it’s the quality of the content we create that will determine the future of VR, and we most definitely want VR to succeed! So expect to see lots of Technical and How-To posts from our team. Hope you’ll enjoy!

Talk to you later!

Vincent Martel

Producer / @Vincent_Martel

Laurent

Hello everyone,

My name is Laurent Mercure and I’m community manager at Frima.

I am extremely thrilled to be opening this blog today as it will follow the development of our very first Virtual Reality game called FATED!

We’re excited to take our first steps into the world of VR with such an amazing project.
I will let Vincent, the producer, give you a little more details about FATED and where the idea for the game came from in his next post.

As for me, my role on this blog will mainly be to engage with you guys in the comments, collect feedback and coordinate the content with my fellow team members.
We’ll keep you posted weekly about our findings in VR and our progress in making the game. If you have a specific question on about VR development or on the game that we’re making, don’t hesitate to reach out. We might make a whole entry about it!

All the social media platforms for FATED have launched today as well so if you’re interested in following our development on a day-to-day basis, you can follow us on Twitter at @Fatedgame or on Facebook.

See you again soon!

Laurent Mercure

Community Manager / @laurentmercure