GDC 2016 is just around the corner, with doors opening March 14th at the Moscone Center in San Francisco, CA. Like last year, it looks like Valve will have a presence both on the Steam business side, as well as with holding info sessions. Below are the three currently known info sessions that Valve will be holding/presenting.
You'll notice that this years info sessions sound very similar to last year's, and I had written a summary of what those are about.
Practical Development for Vulkan (presented by Valve Software) with Dan Ginsburg
"In this session, Valve and other developers will share their experiences developing game engines with Vulkan. Come learn the ins and outs of Vulkan performance, engine design, content portability, and graphics debugging tools from multiple developers that have been building applications in this new industry standard API."
Outside the Studio Walls: MicroTalk Exploration of Non-Audio Ideas & Experiences with Emily Ridgway
"You are not just an AUDIO PERSON! Your sounds and music and artistic approach are shaped by your life experiences and influences, not all of which are other games or movies or songs. This microtalk will give you 10 brand new perspectives on game audio influences from outside the walls of the studio. In the classic GDC MicroTalk model, each speaker has 5 minutes and 20 seconds to go through their 20 slides (each timed at 16 seconds apiece). The ideas fly by fast and jabby, but aim to poke the audience in a long slumbering slab of grey matter to wake up some new inspiration for their own work!"
Advanced VR Rendering Performance with Alex Vlachos
"Reliably hitting 90 fps in VR is a significant challenge. This talk will present a method for adaptively scaling fidelity to consistently maintain VR framerate without using reprojection techniques, even on very low-end GPUs, while also having the ability to increase fidelity for high-end GPUs and multi-GPU installations. Valve's Aperture Robot Repair VR experience that was shown at GDC 2015 required an NVIDIA 980 to maintain framerate, but this talk will use that same experience as an example of how we now adaptively scale fidelity to maintain 90 fps on an NVIDIA 680, a 4-year-old GPU. The end result is an engine that appears higher fidelity throughout the experience, a lower GPU min spec, increased art asset limits, and a system that allows developers to stop focusing on framerate and instead spend their time increasing the quality and performance of their renderer while consistently maintaining framerate."
Expand your audience with the Steam Controller with Pierre-Loup Griffais and Scott Dalton
"In this session we will walk you through the varied options offered by the Steam Controller, demonstrate how users are already leveraging them to play your game in new ways, and provide a detailed list of recommendations to improve their experience and take your game to the living room."
To lessen some of the hype, it's worth mentioning that Valve held two similar talks at GDC 2015: Advanced VR Rendering and glNext: The Future of High Performance Graphics (Presented by Valve). If you are expecting to see Half-Life 3, or a lot of juicy info about Source 2, don't. These things will not be talked about - at least not directly. Information about their future projects IS inferred, though, in a lot of the information.
If more info sessions with Valve pop-up between now and GDC, we'll let you know.
As if Operation Wildfire and the new de_nuke update weren't enough, this week has brought two more big pieces of news on the Global Offensive front.
$1,000,000 PRIZE POOL FOR MAJOR CHAMPIONSHIP
In a recent blog post, Valve announced that, starting with the MLG Columbus 2016 championship, each CS:GO Major Championship prize pool will be increased from $250,000 to $1,000,000.
As HLTV.org has pointed out, "the initially crowd-funded events have featured a $250,000 prize pool since their inception at the end of 2013, with 7 such tournaments having taken place so far."
MLG have also revealed the distribution of the prize pool money to the 16 teams that participate, and it goes as:
- 1. $500,000
- 2. $150,000
- 3-4. $70,000
- 5-8. $35,000
- 9-16. $8,750
LIGHTING AND SHADER IMPROVEMENTS
And with the introduction of the update to de_nuke, Valve have added a number of upgrades to CS:GO's lighting and shader systems. As described on CS:GO's Workshop summary page, the main improvements are:
- Lighting Improvements
- Static Prop Model Lighting Improvements
- Displacement Surface Lighting Improvements
- Normal Mapped Static Prop Lighting Improvements
- Cascade Shadow Maps (CSMs)
- New Shader Features
- Phong Specular highlights on Lightmapped Materials
- 2nd UV set support for Decals
- Normal Map Blending
- Anisotropic reflection emulation
- Cubemap Lighting Influence
- Drop Shadows and Highlights on Displacement Blends
- Hammer Editor Improvements
One of the coolest updates, in my opinion, is the upgrade to Hammer. Valve says that they've increased the memory available to Hammer, and so this allows for things like better support for modularity of assets. For instance, assets are now more flexible in that they can be interconnected with each other, and they can contain multiple surface types (or skins). As Valve puts it, "the idea being that we only need to build one prop set that can be re-used in an almost infinite number of scenarios."
All of these improvements are now available in the CS:GO SDK - for free!
Speaking at the Vision Summit 2016, Valve's Joe Ludwig gave an overview of the SteamVR, OpenVR, and Unity VR APIs, and what power they bring to VR applications developers. I've gone ahead and basically done a summary of his presentation in order to provide a document for future reference. I think this is important because Joe does outline some long-term goals of SteamVR and OpenVR, both very important sets of standards for the VR ecosystem.
By clicking the spoiler tag below, you will find a video of Joe Ludwig's presentation, as well as my summary. Some of the information is new, some is a refresher, but most of it is technical jargon, so you have been warned. Enjoy!
In the beginning of his presentation, Joe Ludwig first took some time to explain the differences between SteamVR and OpenVR. After that, he talked about the SteamVR plugin for Unity, and how some of its features will be supported natively in Unity 5.4 and beyond.
SteamVR is considered to be the work that Valve is doing in VR. That includes the technology they've developed that's shipping with the HTC Vive, the APIs that are provided to application and hardware developers, and Steam itself running in VR.
SteamVR provides an in-application VR dashboard. Steam itself is included in this dashboard, and the Steam client uses public APIs to provide its overlay in the dashboard. The set of operations that Steam provides are what you would expect: launch games, browse the store, buy games, chat with friends, etc.. The dashboard also provides the user with access to VR settings from inside of the VR experience. It also provides access to controls of the whole system, such as turning off controllers, or exiting the VR system. SteamVR also provides the render-model API that gives access to high-quality models of whatever device the user is holding in their hand at the moment - this includes animation data for the device, and renders an animation depending on the current state of the controller, i.e. a button is pressed, or a finger is touching a point on the track pad. All of this mesh and texture data is provided to the application so that it can recolor or light the controller model in an appropriate way.
In addition to these user-facing tools, SteamVR also provides performance timing tools to developers. The graph below shows how much CPU and GPU time is being spent by each component of the system, and this helps the developers determine where the bottlenecks are.
OpenVR is the pair of APIs that Valve provides for interacting with the VR system.
The first API is the API that's used for developing VR applications. This includes providing object transforms, an interface to the compositor to send textures to display on the HMD, up-to-date input state of the controllers, access to device models at runtime, access to the user Chaperone system configuration, and more. Supporting this API through an application allows developers the flexibility of not only accessing current VR hardware in an abstract way, but also hardware to come from new and existing manufactures.
The other OpenVR API is for devices - the driver API. Hardware developers use this API to add new devices to the set of things that work with OpenVR. When hardware developers use this API, existing applications have immediate access to these new devices. So, for example, as Joe Ludwig said, if 100 OpenVR applications ship this year, and next year a hardware vendor releases a new OpenVR driver for their hardware, that hardware will immediately gain access to all 100 of those applications. And this happens without application developers having to update their titles.
So in conclusion, where OpenVR is the API, SteamVR is the customer-facing name that users actually install as part of a larger system.
Valve used the plugin firsthand to develop the Secret Shop VR demo that debuted at The International 2015. Secret Shop uses characters from Dota 2 and pulls them into a 5-minute interactive story. Those Dota 2 assets were pulled in straight from Dota 2, and the demo was built-up from there.
- The Room Setup tool that the user runs to tell the system where the physical obstacles are in their environment.
- Demo-transition content.
Valve has some challenges with the SteamVR Unity plugin, and both have to do with performance.
For one thing, traversing the game scene is slow. Because SteamVR is supported through a plugin, it doesn't have access to the VR-specific optimizations that Unity has added to the engine. Rendering the scene from two independent cameras is what you have to do with a plugin, and so the scene is traversed twice, effectively doubling the width of necessary optimizations for performance. To fix this problem, Valve has a few things they'd like to do.
First, OpenVR is being added to the native VR API in Unity 5.4. Valve has been working with Unity on this, and it should be in the 5.4 beta in a few weeks. This will be a free integration for all Unity developers. This means that the SteamVR plugin is going to change. Some of the work that the plugin does in Unity 5.3 will be moved over to the native Unity VR API in 5.4 - specifically rendering and tracking. Features that are not supported by the Unity VR API will continue to be supported by the plugin, and that includes controller input, overlays, and render models.
When you write application to the Unity VR API, it selects the Oculus SDK, OpenVR, or mobile or console VR SDKs. But if you are writing your application for a platform that is not yet supported, you will continue to go through the SteamVR plugin.
Lighting, specifically dynamic lighting, is a big part of the Enhanced Rendering plugin. Level designers and artists want to include as many dynamic lights as possible because it increases the richness of a scene. But having many dynamic lights has a cost, and so that's where deferred rendering will come in. Unfortunately, deferred rendering does not support MSAA, which is very important for VR experiences. So with Valve's Enhanced Rendering plugin, they're taking a different path. Dynamic lighting is the goal, but instead of deferred rendering, they're going to specific provide better support for dynamic lights in Unity. The plugin supports up to 10 shadow-casting lights per one draw call, which is an upgrade from current Unity specs which only supports 4 per draw call. So because the plugin will still use the forward renderer, MSAA will be available.
The Enhanced Rendering plugin itself is easy to use. It adds a camera component to the camera properties, and this allows you to control shadows and also hides the faster materials to make it easy to find the ones that haven't yet been switched over to the new model. There's also a new realtime light component to set lighting parameters. Finally, there's a new materials shader. This Enhanced Rendering plugin should arrive in the Unity Asset Store for free sometime around the GDC 2016 timeframe of early March.
Following the reveal of the initial price point for the HTC Vive yesterday afternoon, this morning briefly saw Valve jump the gun by releasing the “SteamVR Performance Test” a little too early. The application is used to analyse a system’s CPU, GPU, and OS performance over the course of two minutes before providing the user with a report regarding how each component fared when compared to the recommended Vive technical specifications released yesterday.
The program was only publicly available for a short time on the Steam Store before being removed. As shown below, the test, running on Source 2, takes place in a cutdown and shortened version of the Aperture Robot Repair demo with lower visual fidelity, fixed camera angles, no interactivity, no sound effects, and very few of the “core” animated sequences, including the opening of the drawers and GLaDOS’ arrival.
While it certainly isn’t all that exciting to look at, this short demo hides a lot of interesting secrets, many of which we’ve spent the last few months extracting and analysing from numerous quietly leaked builds of the full Aperture Robot Repair demo. Below, we’re going outline each of the interesting code strings or test maps. While not an exhaustive list of every single map, a bunch of the other maps are either uninteresting, too incomplete to bother showing, or broken, so we think this list will suffice! For the sections below, be sure to check out their associated videos for a closer look at the various test maps in action.
For anyone who is going to start delving into the SteamVR Performance Test files for themselves - it’s worth noting much of the unused and assets are actually taken directly from Half-Life 2 and Portal 2, so don't get too excited at the sight of "Half-Life".
Numerous Half-Life 2 assets, including models for Dog, Antlions, and more, can be found throughout several maps, with the code, animations, and models being used simply as test assets, removing the need to create everything from scratch.
Half-Life 3 / Left 4 Dead 3 / Character Textures - “dog_model”, “biped_male”, “engineer”, "adult_01"
As with most modern Valve leaks, these builds of Aperture Robot Repair also feature numerous code strings directly referencing “HL3”, “RPG”, “L4D3”, and more. Unfortunately, most of the code strings found in these particular leaks are similar, if not identical, to those previously discussed, so we won’t waste any time covering them again here, as most of these references are very out of date, and are not nearly as exciting as they sound. Here are a few examples…
As you can see, this new Dog model is far higher quality than the one used throughout the Half-Life 2 saga of games, and features numerous new components spread across his body, including wheels, gears, wiring, armour plates, and bolts. Despite also having an updated City Scanner head complete with texturing, it’s not clear if this Dog model was or is intended to feature in Half-Life 3 or any future Valve product, but we also wouldn’t be surprise if it were the case.
Considering this model was developed by Tristan Reidford, it’s also possible this model was created to be used as a 3D reference for a toy statue of Dog hinted at by Instagram user ashleywoodart back in March of 2015. Although the model was never released, it may still be in production as Tristan previously worked on the full-scale replica of the Gravity Gun released back in 2013.
Half-Life 3 isn’t the only game to get a small preview with these leaked files, however, as textures for a playable character known as the “Retired Engineer” can also be found, with his directory referencing “L4D3” - aka Left 4 Dead 3. Here are all of his completed, high quality textures in all their glory.
Aside from Dog, the Engineer, and the obviously-included characters such as GLaDOS, Atlas, and P-Body, we have also come across numerous other files for unrevealed characters with unknown origins, known as “biped_male”, and “adult_01”. Here’s “biped_male”.
...and here's "adult_01"...
There are also references to "nocturnal", an NPC which could very well be related to the Left 4 Dead series' infamous Special Infected creatures. Unfortunately, these builds don't feature any textures or models for the creature, so there's no way to prove this theory or to find out what it looks like.
The non-specific file directory of “vr\models\characters\npc\materials” gives us little extra means to identify exactly how these characters were or will be used, or what their exact origin is. It is possible one or all of these characters are linked to sequels of Valve games, but we’re not going to jump the gun by flat-out stating what simply cannot be confirmed. For now - just enjoy staring into their cold, dead eyes!
Secret Shop & Longbow
We’ve decided to clump the Dota 2 “Secret Shop” and the “Longbow” archery demos together in one category. It’s not because their projects are in anyway related - but because they both share a similar history of starting out as smaller projects within Source 2 before being ported and finished in Unity. This version of the Secret Shop features a vastly different layout and design than the final Unity version, with a larger room and a far more basic exterior. The Shopkeeper’s voice line is the only audible sound featured in this version.
Left 4 Dead Characters - “vr_l4d_characters_skody”
Although a brief appearance, the Left 4 Dead series is also featured in these lost files in one singular map. The map, shown below, takes place exclusively in a rundown barn and features numerous themed props, such as barrels, tables, and weapons / equipment taken straight from Left 4 Dead / Left 4 Dead 2. We believe this map was also designed to show off the new Retired Engineer character previously mentioned.
As you can see, the map’s intention was to show off Left 4 Dead characters and props in a virtual reality setting, possibly allowing the player to walk around in a small space and view Bill, Zoey, Louis, or Francis and their equipment from various angles. Unfortunately, the version of the map included with Aperture Robot Repair doesn’t feature any their character models, leaving the experience rather empty and pointless. It’s worth pointing out this map’s inclusion does not reflect Valve’s potential plans for VR games - it’s just a test bed to find out what looks good!
A previously unreleased model is also featured in the map, as shown during our video. The C4 model featured on the top of a barrel was previously only seen in the Counter-Strike: Global Offensive launch trailer, but is actually accessible from within the files of Aperture Robot Repair. Take a closer look!
Aperture Prefab Spawn Test - “vr_prefab_spawn_test”
Considering this branch of Source 2 is largely focused on showing off virtual reality within Aperture Robot Repair, the majority of the included maps feature mechanical or animation tests for various components planned to appear in the final demo. One of the largest examples of such maps is a test for how Source 2 is able to load in massive prefabs worth of assets, with this particular map loading in the exterior of the Aperture labs featured in the final few minutes of the completed demo.
As shown, pressing the Green button will load in the external sections of Aperture Science, while pressing the Red button will then remove them again, showing how Source 2, like many modern engines, can dynamically load large amounts of data using prefabs. It’s worth pointing out this technique is not actually used in the final version of the demo, with Valve instead extending the draw distance to reveal the world beyond without sacrificing frame rate earlier on.
Aperture Drawer Animation Test - “drawer_anim_testmap”
Although just another of the many Aperture Robot Repair related maps included with various builds, we decided to include this particular example to better show off the “Bendy” animation featured when the player opens the drawer in the early stages of the demo.
It’s not exactly important, but damn is it cute!
Ken Birdwell’s Timer - “ken_timer_map”
Despite being one of the simplest and least interesting maps in the whole build, we thought we’d briefly show off this small timer built by Ken Birdwell, one of Valve’s longest standing software engineers.
The basic map featured a rather nice looking clock and a functioning timer used throughout multiple other maps to check the timing of animations, game mechanics or other systems. One such map includes the aforementioned “drawer_anim_testmap”, where the functional part of the timer can be seen working away in the background.
Valve Headquarters - “vr_valve”
One of the personal projects featured in the files, known as “vr_valve” appears as a partial reconstruction of Valve’s offices in Bellevue, Washington. The unfinished map is built largely from blank brushes covered in developer textures. As a player, you are able to walk around the offices, exploring Valve’s various cabals and rooms, some of which feature temporary, featureless workstations.
Although Valve’s real office is spread throughout various floors, the “vr_valve” map unfortunately only features one of them, which is then copy and pasted to create a second identical to the first.
Cockpit Demo - “testdemo_cockpit”
The most abstract and unusual demo’s featured alongside Aperture Robot Repair are tests based around “cockpits”. Designed as basic virtual reality experiences, the player would have been allowed to walk around a small room within a large spaceship or space station before stepping onto a platform which opens up to reveal a details cockpit rising from the floor. With the player stood in place, the cockpit closes and begins to lower back into the floor and out into space, where the player can see the detailed interior of the ship, a large starfield, and a few nebulae.
Although it’s easy to see how some may jump to conclusions and claim this content is clearly related to Valve’s long-cancelled Stars of Blood project, this is most definitely not the case once we examine the portfolio of Tristan Reidford, a concept artist at Valve. As shown below, the portfolio shows numerous high quality screenshots of assets featured in the demo, and even a few of those not used at all. The portfolio also allows us to identify that the assets featured in the demo are, at the very least, older than January 2015.
Room Extender - “room_extender_02”
Definitely one of the most unusual, abstract, and empty maps featured with the build, this level features little more than a grey platform hovering in space, the large starfield previously shown off in the cockpit demo, and a gigantic version of Dota 2’s Shopkeeper.
Emily Test Demo Room - “emily_testdemo_room_2”
Keeping with the unusual and bizarre theme from “Room Extender”, a test room created by Valve’s Emily Ridgway, who is known to be working on experimental audio for virtual reality. Although clearly a basic map comprised of the same basic room layout many of the other levels,
If you want to know more about Emily’s work, stay tuned for her upcoming conference at GDC 2016, where she’ll speak to developers about her virtual reality-related audio findings.
Headcrab Platform Shooter - “vr_platform_shooter”
One of the most visually pleasing maps accessible in the demo is known as “vr_platform_shooter”, and was at one stage set to feature as a gameplay-focused experience which challenges a player stood atop a tower to shoot 150 headcrabs as they roam around on the ground below. While missing many assets, including foliage and clutter, the map still features ground textures, a skybox, basic lighting, and some telephone pole cables, with a road and a small river visible below.
Given we’re examining these maps outside of SteamVR, we’re able to easily jump out of the tower’s invisible walls and explore the map more thoroughly, although the lack of assets makes it pretty difficult to enjoy as is.
Defend Castle - “defend_castle”
As one of the weirdest, but most functional demo’s available, “defend_castle” challenges the player to guard a single, featureless block tower from advancing blue and green cubes. Green cubes must reach the tower to attack it at melee range, while blue cubes are ranged and fire small projectiles. As the tower is attacked, a health bar above it is reduced to 0%, where it continues to fall into negative figures. Although there’s no interaction in the version included, we imagine the map was to, at one stage, have the player swat away the advancing invaders with their Vive controllers while walking around the area in room-scale.
The red splashing X’s shown in the video are a result of missing particle effects used when a blue block’s projectile hits the target.
Dota 2 "The International" Stage / High Resolution Models
While not "test" assets of any kind, the Aperture Robot Repair files contain models representing the layout, scale, and structuring of stage featured at KeyArena during The International 2015. These were likely used by Valve during the planning stages to ensure their design was accurate and to-scale before signing off on the construction. Take a look!
Also included in the files are numerous high resolution models for a collection of Dota 2 heroes, including Queen of Pain, Mirana, Tiny, Disruptor, Tidehunter, and Dragon Knight. It seems likely these models were used to create Source Filmmaker shorts, but exactly which trailers or shorts they were specifically used for is unknown. Credit goes to SteamDB for these images, and those from KeyArena.
Similar to the Dota 2 assets we just highlighted, a number of SteamVR related models can also be found, which appear as various apartments set to be inhabited by the Portal series' "Bendy" character. The original models are incredibly small and appear very similar to those featured in promotional material and setup guides for SteamVR, although with some key differences (such as room layouts, etc). Increasing the model scale by a factor of 10 and loading them into a map yields impressive results, as shown below!
Thanks to SteamDB for preparing these models for us!
Another piece of miscellaneous, but still neat, content found within the files includes an early version of Portal 2’s “Smooth Jazz” song, which is revealed as “Together Again” by Dave Koz, and it’s seriously worth a listen. There’s also numerous other textures spread throughout the game files, few of which can be pointed to actual useful purposes.
It’s worth pointing out much of what we’re showing off here has been subsequently removed from builds of Aperture Robot Repair following the quiet leak last year, so you may not be able to find everything we’re showing off here if you go looking in current or future builds. Special thanks go to our friends over at SteamDB for sharing the files with us and for working closely with us on this collaboration. They have also uploaded their own dissection of this information, which also includes details of other content not covered here, so be sure to head on over to check out what they’ve got to show!
Page 20 of 20