Intro
For the GGJ 2018 we decide to create a virtual reality game were the player can draw a weapon and use it to attack enemies. Along with various other features like procedurally generated characters and story content it feels like the promo video does not do justice to our efforts. So this year we decided to write a few words about our game and our findings, For us to remember and hopefully provide some insight to others.
Story
Our character has crash landed in an alien planet and sends a transmission to the Galactic Space Assistance for a tow. While stranded he is supplied with 2 special spray cans that can be used to “draw” defensive weapons in case of an emergency. Surely moments later they natives show up and they are not happy about you or your transmitter. The player has to survive the waves of angry aliens that are set to destroy his transmitter.
Download the Game
Art and Style
We wanted our game to have unique cartoon style finish, but developing our game in VR inherently meant that all content had to be in 3D. The above 2 mixed together create a challenge on its own since the content needs to be consistent (can’t use Ready made 3d assets) and art creation in 3D in general can be quite time consuming. We have been experimenting with Tilt Brush in the past and it supports Unity by providing import tools so in the spirit of GGJ we decided to put it Tilt Brushto the test and use Tilt Brush as an asset creation tool.
As far as the requirements mentioned above Tilt Brush performed excellent, as our artist was able to create a unique looking colorful scene and intriguing characters fast. But as soon as we wanted to put the assets into action things got a litle tricky.

Main issue was that we encountered was the high number of polygons in the generated models since every "brush" stroke generates a high details mesh plane. We used a asset store tool called Mesh Simplifier that allowed us to scrape of about 40% of the polygons but byoend the model were starting to deteriorate.

Another time consuming issue was the fact that Tilt BrushTilt Brush does not offer any grouping features. This meant that we had separate the character body pieces in Blender and to create editor scripts to easily restore the correct materials since original references had been lost.
After speaking with the Tilt Brush team we came to realize that there is way to export individually items from the scene therefore could avoid the above steps.

In Conclusion Tilt Brush can be used as a creation tool but the processes isn't seamless yet. If the brilliant minds at google fix the above problems i believe Tilt Brush could be a super useful tool and provide designer with a competitive advantage.

We already plotting our next test using Google Blocks!-)
Development
The Spray weapon creator tool:
In the starting phase of a game jam a team member will drop the key question that will define the game. In this instance the question was: “Wouldn't it be awesome if you can draw something, as you do in Tilt Brush, and use that as a weapon?”, and that’s how it all began.

The approach for the weapon creation was pretty simplistic: we created lines in world space that followed the motion of the spray can and we added colliders on them to make sure that the weapon would have a valid grabbing and damaging area. The system would use different prefabs for the lines and the colliders, which allows for easy implementation of different kind of lines.
The colliders where added to each line as separate objects, however they were not placed in every point of the line. Instead, they skipped a variable number of line point positions for optimization purposes. All the lines where then parented to an object which served as the weapon for the player to hold.

After the game jam, some changes took place to improve the overall feel of the weapon creation and weapon handling. Since we did not introduce bounds for the players to draw in and all the lines were parented to the same object, we ran into an issue where players would draw the blade far apart from the handle. The weapon was still functional, but the aesthetic result was not the one intended.
Therefore, in a new update, each new line has to almost be attached to a previous one, so every brush stroke would serve as an extension to the already existing weapon.

Furthermore, the mechanic where the weapon returned to the player’s hand was improved, as it now also gets attached to the controller without the need for separate interaction. For this mechanic to work better, some adjustments were made in order to move the weapon’s pivot to the center of all the brush strokes that correspond to the handle

It was clear from the start the creative freedom the tool provided since in  play testing we saw people creating typical weapons like swords, katanas and hammers but other players resorted in more creative solutions like golf clubs, boomerangs and magic wands.


Character Generator:
By using Characters created in Tilt brush meant that we won’t be able to use skinned meshes, but we already decided to created various body parts that we could placed as child to the appropriate bones in the character animation skeleton. By automating this process we were able to create an Enemy Character Generator that added variations in the characters by:
Audio
Original soundtrack
Generally for a soundtrack composition the first part is the hardest, but after some research we found a sample the was the catalyst for the creation of the rest of song. We used Logic Pro X to take the advantage of the great library of sounds, loops and the stock plugins as well as some Kontakt instruments libraries.

Sound Deisgn
In the spirit of game jam you have to make due with what you got, so when we decided to do our own voice acting we ended up using a microphone from a Macbook in room that had lots of reverberation. We applied equalizers, compressors and tape saturators from an audio plugin library called Waves to fix the quality and to give the recording the appropriate tone.
For the sounds design editing we used Cubase 7.5 since the process is easier.
Other practices
Every year we have serious issues with internet and Wifi connections due to high volume of people in the jam site, so this year we reduced our dependency on the network on site by bringing our own Network Switch that allowed the team to be always connected.
Together with a Network Drive it made really easy for the team to share files and to have a project repository. For project syncing we use a file synchronization program called Good Sync that resembles git repository logic but its easier to setup and more user friendly for non technical people.
The Team

Spiros.

hand model, influencer, enterpreneur

Akis.

Sound Extractor

Sotiris.

Lead/Code

Renaldas

The Secret weapon

Chris.

3D & Motion

Harry.

Code & Shader wizard
Previous Game Jams Submissions
2017 All Hands on Deck (Waves)


2016 Mpumalanga
(Ritual)