Posted on Leave a comment

Facebook Sponsor The Godot Game Engine

The Godot Game Engine have just been sponsored by Facebook Reality Labs. It comes in the form of a grant that is funding future XR (Virtual Reality/Augmented Reality) development. As a direct response to this grant, Bastiaan Olij is now going to be hired full time starting early 2021. In addition to being the lead developer on the Godot VR efforts, Bastiaan also worked on GDNative and other core Godot contributions. He also runs a very solid Godot technical YouTube channel available here.

Some details of the work he will be performing from the Godot news announcement:

  • OpenXR implementation for desktop and mobile. OpenXR is the new open standard for XR (Extended Reality, encompasses Advanced Reality (AR) and Virtual Reality (VR)). The OpenXR specification reached version 1.0 in 2019, and now has multiple conformant implementations by major XR players (Oculus, Microsoft, Valve, and more!). As an open source, cross-platform and vendor neutral game engine, we’re thrilled by the support that IHVs are giving to OpenXR and want to rely on it as our main interface.
  • Extending Godot’s input action system to support VR specific actions across all devices based on their respective capabilities (hand tracking, controller sensors, buttons).
  • Adapt the XR plugin system to the new Vulkan renderer design. While Godot 3.2’s XR support is functional, the upcoming Godot 4.0 release changes all the rendering backend and needs work to make XR functional again.
  • Implement Vulkan rendering on Android. This is necessary for mobile VR devices such as Oculus Quest 2, and will benefit all Godot users who want to make Android games.
  • Various rendering optimizations:
    • Stereoscopic rendering enhancements, providing details about the eye for which an image is rendered.
    • Support for compositor layers, which make it possible to render e.g. UI as an overlay without going through the eye buffer with lens distortion, allowing for sharper and more stable UI.
    • Support for variable rate shading in Vulkan, providing performance gains with techniques such as foveated rendering.
    • Rendering optimizations for mobile, implementing alternative techniques to the ones suitable on desktop platforms for better mobile performance.

This Godot Engine sponsorship from Facebook is their second in less than a month. In November it was announced that Facebook had become corporate sponsors of the open source Blender development fund. Even if you aren’t a big fan of Facebook, this investment in the Godot engine should be a win for everyone. You can learn more about the grant in the video below.

Posted on Leave a comment

Oculus Quest 2 Game Development Options

October 13th is the official launch date of the Oculus Quest 2, and with millions of Quests now in gamer’s hands, some are no doubt going to want to figure you how to develop games for them. This is a quick overview of the various different technical options and tools for developing games on the Oculus Quest 2.

The very first thing you are going to want to do is visit the Oculus Quest Developer Portal, the central repository and jumping off point for Oculus VR development. You are also eventually going to have to register to get your developer keys, which are required to deploy your completed game onto a headset. We will cover this in a later tutorial. For now let’s look at some of the options available for Quest 2 game development.

Native Development

Oculus release a set of low level C++ development tools for creating your own game or application basically from scratch. Native development is ultimately Android NDK development and requires Android Studio to be installed, as well as the Oculus Mobile SDK. There are a number of C++ code samples to get you started. Only take this option if you are an experienced coder and want to work at a very low level.

Unity Game Engine

The Unity game engine is perhaps the most commonly used game engine for VR development today. The Quest 2 is fully supported and you get a huge amount of starter content and tutorials to get you going. Oculus have getting started with Unity guides available here.

Unreal Engine

After the Unity game engine, Unreal is probably the next most commonly used game engines for VR development. Like Unity, Oculus have getting started materials for Unreal Engine available as well. If you are having trouble deciding between Unreal and Unity, check out this video comparing the two.

Godot Engine

The open source Godot game engine is another option for Oculus Quest development. There is a Oculus Mobile plugin available here as well as the Quest specific Quest Toolkit for Godot, which ships with tons of examples to get you up and started.

Other Engines

CryEngine can be used for Quest 2 development, as evidence by The Climb. Unfortunately CryEngine mobile and VR support is only available in a private beta currently. Additionally the Lumberyard game engine supports VR development, but currently only desktop platforms. You can run Rift and Vive games on the Quest, but using Lumberyard you can’t currently do native development.

WebVR

One of the easiest and quickest to get up and running is creating browser based VR games that can be run on the Quest 2. Here one of the easiest options is A-Frame where you can create 3D worlds using simple HTML-esque markup. Three.JS is the technology A-Frame is built upon and is another option, while the higher level PlayCanvas game engine has VR support as well.

You can learn more about the Oculus Quest 2 and the development options available in the video below.