This was the first week the team really dove into the project and began tackling it head on. After some initial discussions, Tony, our artist and creative director began cranking on some work look iterations, painting some rough sketches of what our “base” might look like. . Remember from last week that we are building a VR competitive multiplayer game, so in this case, the base refers to the component of the level that must be captured by opponents. The world is going to be technological fantasy with ancient tech so advanced that it lends a magical aesthetic to the world. The art style will likely be colorful and bright, based off of a low poly/voxel feel. This will give us the best flexibility going forward, and allow us to create interesting unique 3D pieces, while leveraging the plentiful amount of low poly assets in the Unity Asset store.
Larry, our level designer began working on a sketch in 2D of the playing field and started creating a low fidelity 3d mockup of the final level. We want to make sure our level has many of the features that you would find in a triple A multiplayer game like Overwatch or Call of Duty. I personally believe that level design and game balancing is where we can make the biggest impact in the shortest amount of time, given the size of our team. Our plan is to integrate the level design into the environment scene next week, see it in VR, and continue doing iterations on it as the project proceeds.
Engineer and Production
On my side, I began working on the basic multiplayer networking infrastructure required to create a team based multiplayer game. In our game, one core objectives is to pull switches on a monolith in the center of the level of the map in order to summon a bad ass monster. I began by setting up the multiplayer component of that mechanic. I also worked on a tracking spreadsheet and prioritized features. We had to cut more than half of the features I originally scoped, and will probably still have to cut more, if we want a fun, balanced experience.
One of the things that is so nice about Unity, since the scope of our project is so ambitious, is that there is a free or paid asset for almost anything imaginable. Today I’d like to share some of the tools I’ve incorporated into my workflow over the past few months. There is still a mountain of work to be done before we have a playable version of our product, but thankfully there are many free and paid assets that are available online that make it feasible.
Photon is recognized as one of the most user friendly ways to build a multiplayer experience. It’s extremely flexible, and free up to 20 concurrent users! It is very simple to use for what it is, but remember to at least double your estimates for any product with multiplayer interaction, maybe more if it’s your first time. If you are planning on scaling your product to thousands of concurrent users, or need server authoritative logic, than you’d probably want to use something else, however it’s perfect for a smaller indie project. Especially for beginners.
VRTK is a free opensource toolkit that is cross compatible with both the Vive and the Rift. Exactly like it sounds, it provides a set of tools that allow you to quickly design VR experiences. Some of my favorite are built in interactions include grabbing, and interacting with objects, as well as teleportation. The people that work on it are also super nice and responsive.
Behavior Designer is like Play Maker for AI. Basically, it’s a node based visual scripting tool that allows you to build complex AI behaviors using a behavior tree. If you are a non-coder they have supplementary add on packages that make it easy to mock out all sorts of behaviors without writing a single line of code. If you are a coder, all of those actions I just mentioned are well documented with source code included so you can modify it and look at how everything works! The UI/UX is intuitive and easy to use, and stable, unlike some other free solutions out there. It’s not cheap, but if you are trying to do any sort of complex AI behavior in your game, I can’t recommend it highly enough.
Traditional animation is usually forward kinematic, each individual bone and rig usually needs to be carefully positioned and animated. For example to swing a characters arms out, you’d have to move the arm, the upper arm, the shoulders, the forearm. While these types of handcrafted animations usually look better, they are time consuming. Inverse Kinematics (or IK) is an animation system that works by apply motion to a single part bone on your character and allowing the rest of the character to follow suit. A simple example would be simply moving the hand of your character outwards to swing their arms out. Final IK is an IK solution that also features a VR component for the Rift and Vive. In this way, you can create realistic looking character animations for your player avatar, creating a realistic sense of body presence. Many successful VR titles published in the Oculus store actually already use a variant of this unity asset. (You may have seen the developer’s work in Arizona Sunshine)
Of course you can also use final IK to animate pretty much any character in your interactive narrative or game.