game unity games unity' support flash development developers features
Unity's annual developer conference, Unite, drew over 1200 attendees this year and offered 40 talks on shader programming, console developing, post-mortems from development teams, and much more. Ex-Blizzard exec David Brevik gave a keynote about staying on the cutting edge of game design. The talk's takeaway tagline, "What Would Nintendo Do?" referred to their ability to design games perfectly suited to a platform's strengths and weaknesses. He urged developers to be sensitive to a game's zeitgeist (input types, network connectivity, distribution models, graphics capabilities) and projected the next frontiers of game development to be AAA-quality browser games, mobile devices, cloud gaming, and free-to-play games.
Unity also announced a major set of feature updates for Spring 2012. They also gave some numbers for their popular Asset Store and announced their "AAA Initiative" aimed at providing support for larger, high-quality game projects.
Click here to view more event footage by design3.
The next version of Unity, 3.5, is currently in beta development. Some of these features will be available in that version, and others will be released as they become ready.
Unity will provide a cross-platform social API for integration of leaderboards, achievements, chat systems, and friends. Support for the iOS Game Center will be available in 3.5, with support for Facebook and XBox/PS3's native social system added in the future. OpenFeint support is also possible, but the onus is on them to provide a solution using Unity's new API.
In-game analytics can be used to enhance monetizing as well as to track player behavior and improve game design. Unity demoed an in-editor "heat map" that showed the parts of a game level at which players were traveling, dying, and quitting the game most often, giving developers valuable insight as to how players are experiencing their games. The analytics server will be hosted by Unity, taking the burden of building and scaling such a server off of a developer's shoulders.
Many free-to-play games are more lucrative that their paid-for counterparts. Even Infinity Blade, a $6 game in a market dominated by $1 games, makes 40% of its money from in-app purchases (IAPs). Unity will add a cross-platform IAP solution that ties into its new social and analytics features and is fully integrated into the existing editor. This should provide a boon to developers looking for alternate ways of monetizing their games.
Many upcoming features revolve around Unity's desire to better support AAA game development. The ability to accommodate larger projects with larger teams and higher production standards is a priority in all of the following feature updates. In spite of this AAA focus, accessibility and usefulness for smaller projects remains at the heart of Unity's growth philosophy. Games like Bladeslinger and Shadowgun recently used many of these features to impressive effect.
Automatic LOD scaling will be added, meaning that models will be automatically tessellated at user-defined distance thresholds. LOD modeling has traditionally meant that artists had to create 3D art at varying quality levels to optimize performance of models that were far away from the camera. Auto-tessellation means that the engine handles this at build time and auto-switches between LODs at runtime. Unity's implementation of this uses renderers as well as meshes, meaning a developer could use a cloth renderer up close and switch to a low poly mesh at a distance.
NPC pathfinding is a pretty advanced AI feature that allows computer-controlled characters to navigate automatically around an environment. Unity's solution voxelizes the game environment and generates a navmesh wherever a character can walk. A developer simply has to set the NPC's destination and the pathfinding system will do the rest of the work. Environment planes at different heights can be manually seamed together into a single navmesh if ladders or teleporters are used, but slope limits and max jump heights can be used to automatically set jumping and climbing paths over ledges and stairs.
Unity's new crowd simulation tool is an extension of the pathfinding system by which crowds of NPCs detect each others' paths and intelligently adjust their own to save energy. This feature is definitely breaking new ground in terms of out-of-the-box game engine features, as this doesn't exist natively in any other engine at the moment.
Team Scaling Tools
Perforce and SVN integration have been added via a built-in editor UI. Perforce and SVN are two of the most popular asset and version control softwares on the market and use sophisticated text merging algorithms to accommodate multiple check-outs of the same piece of code. Unity has changed their scene files to be text-based, meaning they will be able to be successfully merged by these versioning softwares.
A cache server has also been added to allow for a "smart" import of assets to save time. Assets will also be able to be committed directly from within the Unity editor.
Optimizations to the occlusion culling system have been added, making the compilation of occlusion data up to 1600% faster than before. There's also live in-editor feedback as to which models are occluded based on the camera's current position. "Portals" can also be added now, giving developers the ability to change occlusion information based on an open or closed door or window shade. You can view a tutorial of how to use Unity's occlusion culling system here.
Directional lightmaps allow normal maps to adhere to lightmap data, making specular and bump surfaces live up to their fullest potential in lightmapped environments.
Lightprobes have been used for years in cinema visual effects and open up huge graphics possibilities for Unity. Previously, if a character was in a lightmapped scene, it would appear to be lit from a totally different light source than the rest of the environment. It wouldn't react to areas of light, shadow, color, or any parts of the environment that didn't use a dynamic light. Lightprobes tetrahedrize the space and encode lighting info from every direction at that point. It can then apply that data to the textures on a moving model. When a model exists between two lightprobe areas, the data is interpolated.
This results in some seriously amazing results. Shadowgun is a first-person shooter that used this tool to achieve 60fps on an iPad 2 with graphics that look absolutely first-class. Dynamic reaction to muzzle flashes, diegetic light sources, and emissive surfaces were all present, and not a single dynamic light was used.
Light calculations can now optionally be performed in linear space and translated into gamma space (what monitors use) later. Specular surfaces will no longer get blown out, and textures look more realistic in general. Halo 3 and Uncharted are performing lighting calculations this way, and it may prove to be the future of video game lighting.
HDR support will be added, allowing areas of the environment with dramatically different light levels to intelligently coexist in-camera (such as a bright sunny outdoors viewed from the mouth of a dark, torch-lit cave).
The new GPU profiler will complement the existing CPU profiler, letting developers see, on a per-object level, how GPU performance is being impacted.
Multithreaded rendering and modified memory allocations in Unity 3.5 will result in an out-of-the box performance improvement of between 10% and 300%.
Particle System Updates
The 3.5 particle system is curve driven, giving developers control over most of the 100+ parameters over the lifespan of a particle. There's also a time scrubber, live editor feedback to changes, and a mesh emitter that allows 3D meshes to be used in addition to the existing 2D plane support. 3D meshes from a particle emitter can even cast shadows, just as any other mesh in the game.
Mic and Webcam Input
Access to a device's microphone and webcam will be natively supported on all platforms, including mobile phones.
Advanced Audio Access
Unity will now allow access to audio buffers, which will allow development of games that rely heavily on audio control and interaction. This will also allow for the creation of custom audio filters.
Find Scene Dependencies
Developers will now have the ability to look at an asset and get a list of scenes that use it, letting them optimize or clean up their projects.
Minor Prefab Updates
You can now add a component to a prefab instance without breaking the connection to a prefab.
There were no demos of a new GUI system as they weren't in a polished enough state to show off. Whether or not a GUI update makes it into 3.5 is anyone's guess, but it is on its way.
Unity's Asset Store
There are almost 2000 asset packages available in the Unity Asset Store, allowing developers to round out their skill set by buying assets from other members of the community. Artists can buy code, coders can buy art, and content creators of all types can make money. The top 15 Asset Store sellers average $5000 per month, with $140,000 in total sales occurring in September 2011 alone. The newest version of the Asset Store allows users to preview assets live in their game before purchasing.
What is Unity?
The central concepts are "game objects" and "components." A game object is a focal point for functionality, and a component is a unity of functionality that can be attached to game objects. Components include Transforms (position and rotation), mesh renderers, colliders, and all custom scripts. By developing with this in mind, a more aspect-oriented approach can be taken rather then the conventional object-oriented/inheritance approach.
design3 is celebrating game development this "Dev-ember" (December) by offering 50% Off memberships and giving away prizes worth over $2,500 all month long. Prizes include: Xperia™ PLAYs (on the Verizon Network), Kinects for Xbox 360, games, design3 memberships and exclusive design3 T-shirts. Learn more about the month long design3 "Dev-ember" giveaways.