Jump to content

Q&A with Cory Corvus - Developer Relations Engineer


SuperNikoPower

Recommended Posts

Cory Corvus Dev Q&A

 

In our Developer Blog Series, we sit down with many of our VIVE colleagues who work with developers daily to highlight our way of thinking and help developers best take advantage of all the opportunities available at VIVE and VIVEPORT. This month, we’re chatting with Cory Corvus in our San Francisco Office.

 

2128762341_corycorvusprofilephoto.jpg.0fc5c23195c782bd399eae9450cd5afa.jpg

 

Please introduce yourself. What do you do for Viveport?

My name is Cory Corvus and I’m a developer relations engineer for HTC Vive. I work with the content team to help bring awesome VR titles to the Viveport store. Usually, I’m busy helping developers with technical assistance, improving our SDKs and documentation, and giving talks about our new products like eye tracking with the Vive Pro Eye.

What attracted you to VR?

I got started with mobile VR and was blown away when I first tried it with my phone and a piece of cardboard. I got a taste of what VR could be and was really excited by the future potential. Shortly after that I got a DK2 and Vive Pre and have been working on VR projects ever since.

What is a normal day at the office for you?

Normal days include supporting developers by answering questions about VR development, SDKs, and hardware. As a part of the content team I also get to help find and play new titles to bring to Viveport.

How do you work with developers to bring and optimize their content for Viveport?

It depends on the developer and their needs. Generally, I’m answering technical questions via email or the forums, providing design feedback, and sharing developer feedback with internal teams.

Do you have any best practices to share for developers who are currently working on VR projects and thinking about distribution? Anything they can do to be better prepared on a technical level?

Yes! VR is still a young industry and developers should expect fast paced changes so it’s important to think about supporting multiple HMDs and store platforms early.  Best practice is to find ways of separating the core of your app/game from specific HMDs or store SDKs. For example, using wrapper functions or initializing your content for different HMDs before loading into the game. Planning architecture decisions early can really help make it easy to port between platforms and add support for new hardware.

And for developers starting on a project, what should they keep in mind when planning out their scope and future development?

Planning out the scope of a project or future development can be tricky for VR.  Many common design decisions and best practices that work for 2D games may not apply to VR development.  That being said, my suggestion would be to not try and reinvent every design choice for VR. It may be tempting to create a fully skeuomorphic UI with 3D objects for everything or creating a brand-new locomotion system for your game.  But these design decisions can create a lot of work that may not improve the user experience that much so don’t be afraid to use a normal floating UI panel or teleport locomotion. Speaking of teleport locomotion, it’s important to remember that VR can cause serious motion sickness for a large number of players so always include comfort options and minimize artificial locomotion if you want everyone to be able to actually play your awesome game.

What is that one-handy tip you find yourself often telling developers who are finishing up and putting that last layer of polish on their title?

The most important thing to do when finishing a project is to spend some time performance profiling. For VR it is very important to hit a consistent frame rate and to not drop frames. Spending the time to improve performance can really help the quality of an experience. Also, improving performance is great for lowering the minimum specs required or if you are targeting mobile VR it is very important to be efficient which can improve battery usage.

I know you are also heavily involved with enabling developers to integrate eye-tracking with the Vive Pro Eye. At a high-level, how can a developer get started with eye-tracking?

Obviously getting a Vive Pro Eye HMD is helpful for development and testing eye tracking applications. But ambitious developers can integrate features such as foveated rendering with just the game engine plugins we provide. Besides the hardware, it’s required to install the eye-tracking runtime which is necessary for running any applications which support eye tracking. Foveated rendering plugins have a special requirement of currently needing a NVIDIA Turing GPU but isn’t necessary for other eye-tracking uses. If you’re interested in eye-tracking, you should download the SDK from our developer resources site and we have a Unity plugin on GitHub or the asset store.

·         https://developer.vive.com/resources/pc-vr/

·         https://github.com/ViveSoftware/ViveFoveatedRendering

·         https://assetstore.unity.com/packages/tools/particles-effects/vive-foveated-rendering-145635

 

What kind of experiences does a feature like eye-tracking enable?

The most important eye tracking feature that all VR apps and games can use is foveated rendering.  Foveated rendering can improve performance by reducing the resolution in the user’s peripheral vision or with super sampling it can increase the resolution and quality where the user is looking.  The technology required for foveated rendering is pretty advanced but we’re providing plugins for Unity and Unreal which make integration quick and easy. Other use cases can range from improving training and analytics to scrolling menus or text by just looking at the edge of a UI.

What is the coolest thing you’ve seen using eye-tracking that you can talk about?

Besides foveated rendering (which is a pretty awesome feature), my favorite use case is enabling aim-assistance in any experience that has throwing or shooting.  Throwing objects and shooting guns or bows is popular in many VR games and since people always are looking at their target using eye-tracking can give a really nice aim-assist.  For example, the game QuiVR has a special power up that enables eye tracking arrows which will snap mid-air towards where you’re looking and feels really satisfying!

We’re gearing up for the imminent release of the Vive Cosmos. We’re all quite excited here at Viveport. What are you looking forward to with the release of the Cosmos?

I’ve been using the Cosmos a lot recently and really enjoy the flip up design and screen quality.  Being able to flip up the HMD to check my monitor and do work is very convenient for developers.  The screen resolution is really great for improved clarity and being able to read text in VR.  Also, being able to setup and use the Cosmos without base stations is great when I’m giving demos or setting up in a new location.

You’ve been helping as many developers as you can get ready for the Vive Cosmos release and make sure their titles are compatible. For most cases, what can developers expect to be compatible out-of-the-box and what will they need adjust?

Cosmos works with the OpenVR SDK and SteamVR runtime so if your title already works with SteamVR then it’s going to be easy adding support for Cosmos. The main change from the Vive Wands is that there’s a joystick instead of a trackpad. There is also more buttons and a trigger bumper so developers will need to think about how they can use these extra inputs to make the user experience even more intuitive.

Any resources a developer interested in ensuring compatibility with Vive Cosmos should check out?

Check out the blog post and forums to get the latest Cosmos developer info:

·         https://developer.vive.com/resources/2019/06/04/getting-started-with-cosmos-development/

·         https://forum.vive.com/forums/forum/77-vive-cosmos-developer-faqs/

 

Alright, the penultimate question! Any excuse to use that word from when I studied for the SATs forever ago. What are one or two of your favorite experiences in VR? What do they do well?

Recently I helped with the launch of Westworld Awakening developed by Survios and was so impressed by the quality of characters and animation.  Besides being a fun game with good controls and based on a show I really enjoy, I was blown away by the lifelike quality of each NPC in the game.  You can really get close and appreciate the fine details in their faces and movements.

And finally, if you could tell all VR developers out there one thing, what would you tell them?

VR development can be very challenging. Since it is still a young industry and a small developer community, I think it’s very important to reach out to your fellow developers, share any useful knowledge you’ve learned, and don’t give up!

 

Thanks for taking the time to chat, Cory! You can connect with Cory Corvus at LinkedIn here and if you want to get started with Viveport, head off to the Developer Console. Next month, we’ll chat with another member of our developer-facing team.

  • Like 1
Link to comment
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
×
×
  • Create New...