Creating a VR Game with Unity Game Engine in 48 Hours
Every year, the Global Game Jam gathers enthusiasts around the world for a weekend of game-making. Anyone can sign up at the global site and one of the numerous local sites in over 90 countries and try their hand at creating a game together with all other registered participants.
On January 26-28, 2018, four VR game developers from Alternative-spaces accepted the challenge along with over 20K participants from all over the world. In this post, we would like to share the experience, as well as some tips that may help you create your own virtual reality game in 48 hours.
Virtual reality game development challenge
Global Game Jam encourages innovation, creativity and collaboration. Whether a pro or a video games enthusiast, a programmer, artist, visual or sound designer, animator, 3D modeller, or jack-of-all-trades – all are welcome. Regardless of skill level or specialization, the participants are given 48 hours to form a team and create a video game from beginning to end.
On the competition weekend, the participants must bring their laptops/desktops, art tools, and software tools (see some details in the next section). Generally, it is recommended that teams should be formed on-site, but you may collaborate with friends and colleagues as well. The only restrictions are the common theme and the prescribed time span.
This year’s GGJ theme, ‘Transmission’, can refer to car transmissions, radio transmissions, communication, or whatever interpretation a team may figure out. We played around with the concepts of machinery, broadcasting and communication, and came up with the idea of a multiplayer VR game revolving around robot fights. This format enables players located across the globe to see each other as avatars and interact as if they were within a hand’s reach. Cool, isn’t it?
The 48 hours is a greater constraint. It is meant to encourage creative thinking to result in small but innovative and experimental games. Participants must be able to generate new ideas quickly, prioritize features, and rapidly prototype game designs. Luckily, we had several great solutions up the sleeve.
Equality, Creativity, Unity!
The team built the process around the Unity game engine, in which games are created by manipulating objects in 3D and attaching various components to them. Building a VR game implies the following steps:
- Bring in the artwork, audio and other assets;
- Test in Unity. Export to a platform;
- Test on that platform. Deploy.
We started with sketching and collectively picked out those designs which seemed feasible within 48 hours. Then we discussed the design of the robots and the level in general. We agreed that the scene was going to be a post-apocalyptic rubbish dump: the robots would be fighting in an arena among rusted metal scrap pieces.
Our 3D modeller created the models, including polygons, normal maps, lightning maps and diffuse maps, from the scratch in less than two days using Blender. The free 3D modelling software not only facilitates fast, very practical, yet beautiful artistry, but also allows dragging objects directly into Unity editor. The textures were made in the GNU Image Manipulation Program (GIMP) which provides sophisticated tools for graphic designers.
Unity 3D is excellent for fast prototyping. The robots took some experimenting and ended up with a lighter animated feature-style design to avoid oversaturation. The brief time span did limit the team’s ability to have everything tested, though, which resulted in some feature cuts.
The team was using a software development kit for VR downloaded from Unity Asset Store. The SteamVR plugin renders to both the Oculus Rift and the HTC Vive when you have to run the game, so it is an easy way to build for leading VR headsets.
The multiplayer aspect of the game, and namely the transmission of the physical movement on the network, took considerable time. There was no pre-coded animation of the robots’ movements, and each detail of a robot is dynamic and is managed by Unity’s physics engine. We also implemented a peer-to-peer architecture that was able to send events to the system clients, update the object properties, and render the gamers’ movements. This way, we were able to secure a visual contact for two gamers.
We believe that we managed to deliver the feeling of ‘presence’ fairly well thanks to in-house expertise in sensory technologies and image processing. The success of the Rodotproject has been proved by the fact that we placed 4th among the Ukrainian teams!
Tips for Teams
Here are some first-hand tips relating both to participation in game development jams and to building virtual reality games in particular.
If you are interested in VR game building but don’t know where to start, especially if you have no knowledge of how to code, one of the easiest ways is to learn the Unity game engine. You can get the development environment setup for free. Unity ID is your user account with the service: it allows you to connect with your teams and gives access to all Unity products and services. Unity engine supplies some suitable image effects and generic animations to start with, but we strongly recommend its Asset Store. There, you can download for free developer tools and game assets like characters, props, 3D models, environments, sounds, particle effects, animations, or anything you may need to create a video game.
To get started making VR games, you primarily need to obtain two types of hardware:
- VR headset;
- a capable gaming PC (since VR is about three times more intensive than normal PC gaming, you will need a powerful CPU and card).
The required software may be free. For example, the lternative-spaces VR game developers at GGJ were using Unity 2017, GIMP, Blender, SteamVR Unity Plugin, Primitive Plus Unity Plugin, and the Oculus Windows Runtime.
To work effectively as a team, people need to know what their role is, as well as the roles of their peers. If you have a team, it is important to get together before the jam begins to distribute the roles and responsibilities, as well as to get tuned in to the upcoming challenge!
Don’t be afraid to accept new people into the team or to approach peers that you admire. For instance, even an ordinary gamer without any development experience may prove an expert in best video games, and thus an asset to a team. Everyone is able to contribute ideas, participate in brainstorming and group decision-making, assist in playtesting, or give advice or moral support to a team.
For proper game development, you need the design, development and testing units collaborating closely. If you are short of resources, try to stream and engage with other game developers, for example, on the Unity Community.
Find the time to think over the idea of your future video game. Encourage your teammates to think outside of the box and to feel free to bring their experiences, feelings, and most daring ideas to the game you are about to build.
Experiment early and often. What sounds awesome or looks good on a board may turn out to be a disorienting, messy experience in virtual reality. But even when you fail, cheer up: the more failed prototypes you make, the higher your odds of creating something great.
And the last, but not the least. GGJ is open for entire two days, including overnight. Don’t forget that you need to have coffee-breaks, eat and sleep to stay at your best!
The annual Global Game Jam is a great place to meet like-minded people, start designing video games, and learn games development. Participants have only 48 hours to create a video game, competing and working concurrently with developers around the globe. This is a great opportunity for experienced and aspiring game-makers to push their skills, try out new ideas, and challenge their way of working. It is not a competition, but everyone ends up as a winner – with new friends, more knowledge and skills, breakthrough ideas and inspiration, as well as experimental prototypes that can be further developed into successful games!
Our experience at GGJ 2018 proves that it is perfectly possible to accomplish a virtual reality game development challenge within just 48 hours using only popular free software. Confirmed by the 4th place in GGJ Ukraine and the Best Unity Game diploma!
We hope you found this post useful or at least interesting. Looking forward to meeting you at GGJ next year and seeing more mind-blowing game prototypes!