Download with pretty pictures HERE.
Our camera distorts EVERYTHING. We will require extra in game testing for every asset because objects will not look like you expect them to. Here is a cube (thick white lines) inside of a sphere (grey lines) around the player. You will notice that the cube looks rounded and the sphere looks square. The top and bottoms of the sphere are stretched dramatically.
Distortion: Objects closer to your eye level will be magnified. Objects below you will be stretched vertically. Straight lines become curved lines. The center of an object looks larger than its edges. Things that are close to you look significantly larger than you would usually expect.
Here are a series of rectangular shapes rendered with a 120 degree camera (left) and ours (right).
These two objects are the same distance away but with our camera the object appears smaller expanded. But as you approach an object the distortion becomes much more apparent as seen below.
With our camera an object never leaves your field of view because you can see everything.
Principles of 360 degree camera success.
Negative Space: Our camera expands depth. The magnified depth makes the shapes look very different. Objects that felt very flat suddenly have dimensionality to them. Negative space becomes very important in identifying an object as 3 dimensional shapes can appear very warped.
Cylinders: Withstand distortion very well, especially if their vertical segment is fairly short. Multiple short cylinders together seem to work very well together.
Squares and cubes: While it seems counterintuitive, squares and cubes can look fantastic with our camera especially for levels and static objects. Depth is magnified and negative space made more prominent. Square tiling patterns give a consistent understanding of depth.
Shapes: Simple geometric shapes with clear differentiation between them. Textures are relatively simple with complex and accurate pbr settings for roughness, metalness, etc.
Colors: Colors will be used to differentiate objects in the game. Characters can use primary colors. Levels will be low saturation secondary colors (orange is a good choice). The world is clean and bright.
Our characters are hybrid animals; American West Mountain Buffalion, Russian Wolfbears, Chinese Red Panda Pandas, Jackelopes, etc. They each hail from a separate culture and preserve some of that heritage in their props and costumes. Each character also has specialized boots that enable them to walk on walls and alter gravity.
We looked through a lot of different characters to get a feel for what worked in our game. We found 2 options that looked great with our distortion.
While they seem fairly different at first, there are some basic principles that Cylinders and rounded shapes, complex negative space, small center. Your character will be invisible to you so characters need to look best to other players. Despite some early efforts to combine the two it makes more sense to use the mechanized character shapes for weapons, and the sonic/megaman like attributes for characters.
Animations: Characters are bipedal and we will be using motion capture data in mechanim. We are using an Inverse Kinematic Plugin that will allow for live retargeting of the characters which will smooth the transitions for the characters. Character tails and hair will be animated dynamically. All characters share the same skeletal hierarchy and will share animations.
Unlike other FPS games you will not see your own gun on screen. With our detached aiming system it would be very difficult to use 3d models so we will be using HUD elements to convey relevant information. The gun’s identifying characteristics will need to be readily understandable from the reticule/crosshairs.
Reticles must be instantly recognizable, simple, and varied in color. Each gun gets its own crosshairs.
Because the gun is not visible on your own screen, guns will only be seen at a distance in other player’s hands. Guns will have tracer effects, particles and colored lights attached to them when we fire.
Particles for Tracer Rounds and gun effects.
The gun’s silhouette must be instantly recognizable at a distance of 50 meters. Because the Guns are for enemies to identify, not for you to see, the guns will be BIG and chunky. A gun the same size as the character is acceptable. Guns should be composed primarily of cylindrical shapes.
Because we can potentially interact with every surface in the game will potentially be part of level design.
Repeating Textures: A consistent scale of features is important for users to gauge distance. Patterns should be multiples of 1 m per texture. Not everything in the level has to have tiling textures on it but they need to appear often enough to help understand scale, distance, and speed. Even a normal map detail on the material will be enough to get an accurate sense of scale.
Here are some references of simple diffuse maps with accurate pbr settings for material definitions. Warm colors like orange and yellow work well. Emissive materials should be set to white.
Decals: We will be using a decal system to spice up our levels. Reusing decals of the same scale will also help give players an understanding of distance.
Racing games like Trackmania use tiling textures and decals to relay direction and speed. An atlas of Scifi panels. Checkerboards, panels, and cross sections also help with identify shape through distortion.
Lighting: Unity 5 has introduced high quality lighting features. While we may not be able to do screen space effects we can take advantage of Unity 5’s PBR workflow to get very high quality materials and textures. We will use extra bounce light settings to keep shadows subtle.
Post Process Effects: Our camera is actually 5 cameras stitched together so screen space effects can look very strange. Camera blur behaves differently in the most distorted areas.
Light Probes and Reflection Probes: Will be necessary to get lighting interaction with Guns, particles, character effects, etc.
Render Style: Deferred Lighting: With Deferred lighting we can have multiple moving lights. We have been testing outlines/toon shaders and they seem to help in differentiating objects.
Heads up display
The top and bottom of our screen is drastically distorted so we will use this area for health, ammunition, selected guns, etc.
Our current favorite font for titles is Piranha.