Virtual reality (VR) has well and truly emerged as a booming sub-sector in the domain of mobile app development. In 2016, the total downloads of VR apps and games witnessed a 276% increase over the previous year (the download count being more than 225 million). In terms of revenues too, the recent performance of virtual reality tools has been staggering. The industry has been projected to reach $75 billion by the end of 2021 – a growth of over 957% over the current figures ($7.2 billion). Not surprisingly, many conventional app developers have started to work on the VR platform. Over here, we will share some tips and pointers for those who wish to start making VR-based apps:
Learn the languages
It would be naive to try to learn about the game engines without having a solid base of programming expertise. C# and C++ are the two scripting languages every game developer should master thoroughly. The language you decide to learn first would also determine the engine with which you can start developing VR games. Thorough expertise and experience of working with C++ and C# will let you get the maximum out of the existing game engines, and make tweaks in the source codes (as and when required) without any hassles.
Get familiar with VR hardware
Before you get down to development, you should have a fair idea of the devices that you will be developing for. Start off gradually – with experimentation on hardware with 3 DOF (like Google Cardboard). Once you get a proper hang of that, move on to more popular VR tools like Oculus Rift (Facebook), Playstation (Sony) and Valve HTC Vive (each of which offers 6 DOF). An in-depth knowledge of positional tracking mechanisms will help you create blueprints of new VR games with ease.
Start off with the mobile platform
With virtual reality and augmented reality (AR), there are practically no limits to the degree of realism that can be incorporated in games and applications. For new developers, it would be prudent to start VR development on the mobile platform first (a simplistic mobile web app, perhaps) – and then move on to PCs and consoles later. While working on VR apps for smartphones and tablets, you can pick up important nitty-gritty about the technology – things that will stand you in good stead when you scale up to other platforms.
Note: During the Christmas week in 2016, more than 20 million VR apps were downloaded from the Apple App Store. The corresponding figure from Google Play Store was in excess of 37 million.
Learn Unity first; Unreal Engine comes later
After you have gathered the required programming acumen and have a decent idea of existing VR hardware tools, it will be time to get started with game development engines. Provided that you know C# well, you can easily start out as a Unity developer. The engine is basic and user-friendly, has a gentle learning curve, and can deliver very high-quality, immersive games. On the other hand, your knowledge of C++ will help you learn the features and capabilities of Unreal Engine (by Epic). Both Unity and Unreal Engine can be used to make high-quality 2D and 3D games – although UE does have an edge when it comes to making advanced 3D gaming apps. Unity 5.6 was launched about a month ago, while Unreal Engine 4.15 came out in February.
Identify and deploy user-friendly buttons
A VR app might have the best of features – but if it cannot be controlled easily, it won’t find much favour among end-users. This, in turn, brings to light the importance of using easy-to-control buttons (and no, not all buttons are the same) in VR software. Try to avoid using ‘grip buttons’ unless they are really required, and go with single button trackpads, ‘trigger buttons’, menus and interaction buttons (3D) instead. Four-button trackpads are also rather difficult to control.
The audio factor
High-quality audio effects (background music, narrations, special sounds, dialogues, etc.) can significantly boost the immersiveness of mobile VR applications. Experts from the field of game development agree that ‘sound is half the image’ – with the audio support complementing the visual elements of any game. In a three-dimensional space, different types of sounds can be used to capture the attention of users and make them explore more. Without good audio, even an otherwise good VR app seems half-baked.
Provide users with a definite starting point
Do not make your audience wander as to how they can start playing your brand new VR game. Provide a starting point in the form of a ‘Start’ button, which they will have to press/tap – to get immersed in your application. The presence of this starting point would ensure easy onboarding for users, and will remind them to keep their VR headsets and controllers ready. Once the game starts, this start button can double up as one of the primary controllers.
Consistency and predictability are important
The experience you deliver to users via VR apps and games should be consistent with the interactions in the real-world. Find out how you can include additional gaming layers over and above the real environment, with the help of virtual reality and augmented reality. The assets used in a VR game (for instance, a torch) should function in the same way as it does in the real world. People have certain expectations while interacting with things around them – and if the same/similar things are replicated in the virtual world, the interaction results should be consistent with these expectations. Making something way too outlandish is never a good idea.
Pay attention to framerates
Whether your ambitious VR game looks outstanding or decidedly tacky depends on the framerates of the elements used in it. As a rule of thumb, avoid including anything in your game that has a sub-90 fps (frames-per-second) rate. You can, in fact, set the minimum graphics settings of your VR app to 90 fps. VR apps with high framerates have a definite ‘presence’ about them – and have much more chances of being liked by end-users.
Make use of visual clues
It is not always the smartest option to let users look in every direction, while playing a VR game. What’s more, you are not likely to have all the necessary resources to develop for the entire area. Customize the app design in a manner so that users get definite visual clues about the direction in which they are supposed to gaze at any point. In the virtual world, these ‘gaze clues’ serve as handy guiding tools. They also cut down on the total amount of VR development required. A #win-win for developers and end-users alike!
Pay attention to VR analytics
The importance of delivering top-notch VR-experience to final users cannot be overemphasized. The technology is still relatively new – and as a developer, the onus is on you to keep track of how people behave, while using your mobile application. Find out whether most people play your game till completion, or if there is a point where significant drop-off occurs. If the latter is indeed the case, find out and eliminate the underlying problem. Remember…most users at present download VR apps to check out the technology – and if a certain app makes them dizzy or uncomfortable in any other way, they are not going to use it.
Don’t bring things ‘too near’
Ever tried to watch a 3D movie while sitting in the front row, extremely close to the screen? It is not a pleasant experience, and if you bring the VR gameplay too close to the eyes of the user, (s)he will face similar problems. App developers working with VR tools need to have a proper idea about ‘depth perception’ – the benchmark distance level at which the activities in a VR game should take place.
Study references; Prototype your VR apps
Prototyping is an integral part of VR app development. You need to create multiple prototypes of your product (minimum viable products, or MVPs), share it with testers/other users, and actively collect feedback from them. Ideally, the feedback loop for your game should start with the first prototype you create. Also, check out the successful VR apps available at present (Superhot VR, Pokemon Go and Minecraft VR are good examples). Find out the points that make these games tick, and try to incorporate such features in your app. Regular networking with other VR developers, and close collaborations with UI designers and testers are also essential.
Keep yourself updated with all the changes happening in VR technology (particularly the new SDKs). Do not limit yourself to first-person viewpoint games, since there are plenty of other interesting perspectives and views to work with. Scale the elements/assets in your VR app carefully – so that they do not seem unrealistic. Give users the option to customize text size and type. Having a keen eye for detail is an absolute must, when you are making a virtual reality software.
Games account for close to 57% of all VR applications – comfortably the biggest app category in this technology. The second and third positions are taken up by entertainment apps (18%) and image/video apps (11%) respectively. The world of VR apps is all set to grow bigger, the scopes for developers in this field are excellent, and you can follow the points mentioned above to come up with high-quality VR software.
Latest posts by Hussain Fakhruddin (see all)
- How do mobile apps help small businesses? - October 10, 2019
- Top 15 Mobile App Ideas For 2020 - October 1, 2019
- Top 15 Software Development Trends To Watch Out For In 2020 - September 18, 2019