Campo Santo, the developer of Firewatch, has been acquired by Valve. The 12-man team is remaining employed and it is still working on the next game called ‘In the Valley of Gods’, now as a Valve game. It appears that Gabe Newell’s announcement on the company once again working on games is true, so we hope to see more great games from the giant.
If you’re the type of person who gives two flips about this news, we can elaborate a little bit on this big decision. First, we really like making video games. Furthermore, and perhaps more accurately, we really like making and producing entertainment. From the day-to-day production of our last game, Firewatch, to the way we run the company, make merchandise, meet players at expos and shows, send out a quarterly literary journal, throw open-to-the-public game demos in the middle of an artificial forest—all of it is geared towards surprising, delighting, and entertaining the customers who have shared in our success.
In Valve, we found a group of folks who, to their core, feel the same way about the work that they do (this, you may be surprised to learn, doesn’t happen every day). In us, they found a group with unique experience and valuable, diverse perspectives. It quickly became an obvious match.
Second, while visiting IGN’s headquarters in early 2015 to talk about Firewatch, we came across an undelivered 2011 Game of the Year Award for Portal 2. It happened to be engraved on an unopened bottle of champagne. Never ones to pass up free alcohol, we stole it and drank it to celebrate the launch of Firewatch a year later. So in some sense, this is a return home for us. Well, for that bottle of champagne.
Third, and last, we had a series of long conversations with the people at Valve and everyone shared the satisfaction we take in working with people whose talents dwarf our own to make things we never thought possible. Both sides spoke about our values and how, when you get right down to it, we, as human beings, are hard-limited by the time we have left when it comes to making the things we care about and believe in. They asked us if we’d all be interested in coming up to Bellevue and doing that there and we said yes.
Yes, we’re still making In the Valley of Gods (as a Valve game!); yes, we’ll still support Firewatch; and yes, we’ll still produce The Quarterly Review and our regular blog content. Thanks so much for your interest in our games and we’ll see you in Washington. Cheers.
Campo Santo
You can get more details on the announcement here.
While Autodesk University might seem like too much of a manufacturing kind of thing for most game developers, a lot of game companies actually take part in this initiative. Just a couple of hours ago we’ve received a little email from Epic Games, giving a little glimpse of using Python and Blueprints in Unreal Engine for the purpose of data preparation. The piece is published by Ken Pimentel, the senior product manager at Epic.
Where we need to go
To get to a truly frictionless workflow, we also have to address issues of automating and preparing data for real-time use. We can’t always expect data pushed through Datasmith to be “render perfect” or “optimized,” so we have to provide some means of addressing these kinds of issues in a non-destructive manner (meaning you can easily make changes to the upstream data without repeating work you’ve already done).
Traditional workflows to get data ready for the Unreal Engine rely on other tools to optimize the data.
The future revealed
This week at Autodesk University, for the first time we’re showing an early preview of using Python and Blueprints in Unreal Engine for the purpose of data preparation.
Future workflows to get data ready will use Datasmith and Unreal Engine-based tools.
The demo provides a quick window into the possibilities when users have the option of working in Python and/or Epic’s Blueprint Visual Scripting to take advantage of new, sophisticated data preparation tools that process and optimize scene data. Data prep functions we’re exploring range from “find all parts smaller than 1 cubic centimeter and decimate them” to “find these objects and automatically repair them (fixing bad topology, gaps and overlaps).”
In this example, the motorcycle is processed with a series of simple rules that create a more optimized version.
Amazon decided to give a preview for the months ahead and share some features to be added to Lumberyard.
The focus for the next few releases is to make Lumberyard easier, more powerful, and more modular. The team is working hard to deliver new systems and features that align with these goals, and your feedback has played a crucial role in that process.
A lot has changed since the engine was first launched: they’ve replaced over 60% of the original codebase, switching out older, redundant systems (e.g. CryEntity) for more modern, performant ones (e.g. Component entity systems)—and this will continue to be the case. While some new systems are still in preview, the team is working to provide a stable foundation for users’ current and future games, so you can build and innovate confidently moving forward. You can also expect more detailed tutorials and documentation to support these systems in the months to come.
So what exactly are these new systems and features? Here’s a glimpse of what you can expect in the next couple of releases:
Script Canvas – Script Canvas, the new visual scripting language, will provide a high performance, flexible scripting language in a familiar node interface, so content creators can build gameplay with little to no programming experience. Built entirely from the ground up to be compatible with Lumberyard’s component entity and Behavior Context system, Script Canvas enables teams to easily use any combination of visual scripting, Lua, or C++ coding in their game project. Script Canvas will replace Flow Graph.
Brand new animation system – Siggraph attendees got a sneak peek at new, robust animation solution, which was built from technology used by well-known publishers such as EA, Ubisoft, among others. The goal here is simple: help animators build amazing characters in Lumberyard with little to no engineering help. This new system will replace the existing CryAnim functionality, including Geppetto and Mannequin, and include functionality such as a visual state machine, support for linear skinning, joint scaling, and much more.
CryEngine Legacy Deprecation – In addition to streamlining the editor experience, the team will soon hide the legacy functionality to better signal to customers which systems are forward-looking. This effort will help developers migrate from legacy entity systems to the new component entity system, and will include a data converter tool for developers still using some of the older CryEntity systems. A significant number of legacy system data will be auto-converted to the new component model in the next few releases—all in an effort to remove CryEntity systems from Lumberyard early next year.
More Cloud Gems and AWS Integration – soon, you’ll see a Cloud Gem that helps capture in-game surveys from your players, as well as a gem that leverages the power of Amazon Lex and Amazon Polly to build speech recognition, text-to-speech, and conversational gameplay experiences. From there, the roadmap considers new gems that reduce or automate engineering effort to build common connected and social features (e.g. push notifications, metrics, monetization tools, dynamic content, etc.), accelerate production (e.g. asset processing), and enable new player experiences.
Component Entity Workflows – they will continue to improve the component entity workflows, especially in the areas around usability and interoperability with the Entity Inspector, Entity Outliner, and viewport. These improvements also include better support for working on large scale levels with lots of content, improved entity organization and manipulation capabilities, and better slice manipulation and collaboration tools – working towards the eventual ability to open and edit a slice that is not part of a level.
Location-independent Game Project – they plan on delivering Project Configurator changes and build system improvements that enable customers to store their game and gems in any arbitrary location. This has been a popular request from the community.
Mobile Performance and Optimization – they are also improving mobile workflows and performance. Their efforts will continue to improve frame rate on minimum spec devices (iPhone 5S+ and Android Nexus 5 and equivalents), improve battery life usage for applications, and reduce memory and app size footprint on iOS and Android (currently at ~25MB minimum size, but we’ll continue to work to make it smaller).
Memory Management and Thread Unification – they have two on-going initiatives underway to improve runtime performance (especially for PC and console platforms) as well as stability. First off, they will unify and optimize Lumberyard’s memory management. The teams are focused on identifying and resolving existing memory leaks while improving the memory usage patterns throughout the engine. Second, they also plan on migrating the engine’s various threading mechanisms to the AZCore job system, enabling further threading performance improvements and load balancing.
New Shader and Material System – the short term objectives are to improve the usability of the material and shader system by converting sub-materials into individual material assets, enabling the concept of a shared material library, and letting a developer author a new surface shader without compiling C++. Longer term, they’re planning a full refactor and modernization of the material and shader system, but they’re going to spend the time to get this right, and this work will go into next year.
macOS – the vision has always been to provide a complete, cross-platform experience, so they are also providing the tools necessary for developing Lumberyard games on macOS. This includes the Lumberyard editor and all its associated tools, the asset processor, the shader compiler and, of course, the renderer. Mac support has been a popular request from the customers, especially the ones building iOS games.
Alexander Sychov talked about the way he creates exquisite environment art with cardboard boxes in Unreal. This scene is actually available for download at Unreal Marketplace.
Introduction
Hello, everyone! My name is Alexander Sychov, and I’m a 3D Artist. At the moment, I’m wrapping up my contract as a Senior 3D Artist at Deep Silver Fishlabs in Hamburg, Germany and preparing to transition to a Level Artist position at Ubisoft, Toronto.
I have worked in the game industry since 2006, honing my craft at companies like Crytek Ukraine, Nikitova and Ulysses Games. Some games I’ve worked on are Warface, Crysis 2 & 3, Ryse and others.
I began teaching myself 3D art when I was around 15. As I remember it, my parents bought a used PC that had 3D Studio Max installed on it, and that was my first step towards my dream of making games. From there, I started making mini-games with my friends and animating short amateur video clips with my brothers (who are now professional animators). These passion projects were my art school.
How it started
It all started with an idea that I’ve had for a long time. I’ve always been interested in and eager to learn Unreal Engine, and I knew that the best way to learn would be to dive right in. I decided to create a modular warehouse environment. I had a pretty smooth start at the beginning due to the user-friendly UI, readable documentation, and the volume of super helpful free tutorials on youtube. Pre-production and learning the basics for the Engine were simultaneous and ongoing throughout the project.
Workflow
My workflow is not anything revolutionary – I use a familiar, conventional approach to level art.
Everything goes from small to big, from primitive to complex. The beginning always starts on paper. In this case, I used Trello to structure and break down the level into stages (block out, rough low-poly, low-poly + UV, high-poly + baking, texturing, asset polishing, level beautification – pipeline might vary in some cases), and smaller tasks, like gathering inspirational materials, videos, screenshots, etc. Enough time was spent on collecting references and putting them together into one library on Pinterest. Also PureRef is perfect to store all essential refs on the one huge sheet.
I always have PureRef opened on top of all windows during blocking out, modeling, texturing, level dressing, or whatever- always. It helps me keep attention to the details, scale, and to get the right immersion, especially when combined with relevant music.
Music is another topic to narrate. I am a huge Half-Life geek, and while I worked, I listened to the OST so that I could imagine the “universe” in which this warehouse might exist, although I listen to different music genres depending on my mood and asset complexity- if it is something technical, I change from rapid music to calm, chill, ambient music to stay focused. If I do fast and creative work, I change my music to Drum and Bass to speed up the workflow to keep me charged up.
Once I have a list of major architecture and prop assets, particularly for this kind of environment, I start modeling in 3DS Max. Since I planned to create a set that would be modular and flexible, there was no need to start doing a basement in the engine. Also important is that I always have reference objects like a human scale body in my scene to have quick, accurate visual measurements of the object I’m modeling. Sometimes I use boxes sized to 1, 2, or 3 meters just so I have a sense of scale.
Once major block out assets are complete, I check them live in the Engine and snap them together. I do this to verify modularity and to ensure that everything snaps properly. This creates little milestones that help me see the bigger picture over time because I can see how the pieces start fitting together. Additionally, I can establish a first lighting pass in order to make the proper mood in the level.
Cardboard boxes
I wanted to be as efficient and as fast as possible to save time, but try to minimize visual fidelity and overall look. It’s a challenge, but I found that it’s possible by working smarter! In some rare cases, it was still a bit tricky to achieve the desired result.
Instead of creating standard high-poly models with support edges from the low-poly model, I tried to modify slightly low-poly mesh (with some extra rounds on the corners where needed) and then put the mesh through ZBrush to apply Dynamesh and polish it with the tools in Deformation scroll.
This workflow worked out pretty well on most of the props (barrels, crates, racks, boxes and other stuff), because I literally didn’t waste time on preparing high-poly that much and if I needed I could always add some wear details in ZBrush. Yes, hard-surface and no support edges on high-poly models!
In the end, I had decent bevels on the normal map.
Creating a diffuse texture was a bit of a process. I admit that I was thinking of using simple cardboard textures from the internet, but after a few tries, I gave up on that idea. Who uses photo textures these days anyway? Not me, thanks. I decided to find some basic free substance materials on the internet and then improve them to my particular specifications. I definitely made the right decision, since this gave me possibilities to control dirtiness, alter the internal structure of the edges of the cardboard, and explore other procedural options. Procedural materials for everyone! Hell yeah!
The next problem to solve as how to get many variations of the boxes into the level. Unfortunately, I didn’t create a blueprint to magically place all the stickers, notes, and shortcuts- I did it by hand during level dressing pass. I prepared a few assembled prefabs of boxes in advance, and after making an extra beautification pass on the level, I tried to tell the warehouse’s story by making all the visible areas look unique and according to my references. In a perfect world, I would have made a blueprint that automates the small details on the boxes. That would’ve been the better way to do it, but I did not do this due to time constraints. Next time, I’ll try to make some blueprints for sure!
Style
The main direction were real-life references of warehouses that I collected at the beginning of the project. One thing I really liked in the references was having this super clean and tidy warehouse floor and surrounding environment, so my goal was to have it “like new”, but with some slightly visible wear and tear.
Also, I really liked to create bright color combinations to make it pop, particularly yellow and blue, which I used ended up using in the entry facility interior. What really helps to make the picture balanced is to use opposing colors and brightness differentials to distinguish the floor, ceilings, and walls. This visual trick is very handy to scale up the attractiveness of the level, and gives the player a good overview in the level by preventing them from being lost in a mass of warehouse details. Aside from the color scheme, I used light and properly arranged assets to enhance the aesthetics of the environment.
Substance Designer & Painter
At the same time I was learning UE4, I was also exploring Substance products like Designer, which I wanted to use to create several essential materials like polished concrete floor, and different metals for the warehouse’s walls and ceilings. (They can be downloaded here for free).
I spent the most time creating the floor because this is one of the most visible parts in the warehouse theme. I had to get used to the new Substance Designer workflow, which also took up some time. I knew the power of Designer, but couldn’t use it at full range due to my lack of experience with it, but I think after chipping away at it, I was able to get the results I wanted. And again, it really helped to have references on top of the screen at all times, catching my eyes and reminding me what I wanted the warehouse to look like.
I made most of the textures for the props and architecture assets in Substance Painter. Basically, for all crates, barrels, buckets, and other related props, I took a default plastic material from the library and created a custom Smart material where I stored a few levels of dirtiness and wear such that when I applied it to the asset, I could select which type of effect I wanted (low dust, heavy dust; plastic scratches, paint dots). As you may have noticed, some of the plastic objects are not completely new, but rather variations of small details, like wear.
One thing I decided to have on hand while texturing props in Substance Painter is a set of alpha masks with different text variations. The collection grew as the project went on. These were generic texts used to “simulate” the imaginary production and use for the assets- I wanted to bring as much realism and authenticity to the assets as possible.
Project Materials
Being relatively new to UE4, I’d say the master materials set up I created in the materials editor were not as complex and unique as I would have wished for. However, there is one thing I implemented almost everywhere, which was to change the color by using grayscale masks and a correlating colormask (RGB and black mask in the alpha channel) if the object had different material types. I am really happy how it worked out! After having the proper set up, I prepared a set of instance materials with different colors for each asset so that during level dressing I could change it to any color I wanted on the fly.
This is how the basic master material looks:
There are a few materials that different slightly (props, architecture, decals, signage, etc). I made adjustments to the roughness parameters to create create glossier or rougher asset materials.
I found this very helpful in designing different areas of the level, especially making the floor surfaces “wet” and “clean”.
Lighting
Since there is no directional source of light, I decided to make the key lighting mostly by using Spot Lights placed above every ceiling lamp. The focus was mainly on creating “artificial” lighting look. Furthermore, I didn’t hesitate to use simple point lights (static, without shadows) to fake illumination in dark corners where I noticed low visibility.
To create contrast, I employed different environment artist trickery. Specifically, for the closed passage area, I used “warm” lighting just to make it look different from the other “colder” locations. In addition, most of the surrounding props were changed to a similar color pallet (yellow racks, for instance), along with weathered warehouse wall materials to create significant visual patterning.
Another trick I used was to accurately highlight details throughout the levels, like signage, numbers and letterings by using the same spot lights.
I had to fiddle with the SkyLight actor, which had a minor, but still visible impact on the scene. I added an Atmospheric Fog element to have the dusty sort of look, which helped to underscore the “emptiness” of the negative spaces between the numerous prop clusters.
Challenges
In this project, one of the challenges for me was to manage modularity and the interconnection between the assets. It was all I could do to keep myself from adding even more walls, rooms, and corridors.
Another challenge was to adjust the baked lighting in the level, which I feel I probably could have spent way more time perfecting.
Because only right now I finally got familiar how baked lighting works and how to manage baking time more efficiently. For instance, merging some modular parts on the level like walls into combined groups (entire ceiling may be as one mesh) will reduce time for baking lightmaps significantly. I spent a bit of time on the Unreal forums getting answers for lightmap baking but I highly recommend taking a look at it if you have any questions yourself.
Even when I reached the end of the project, that is, with all the requirements satisfied, I was left with a feeling of “incompleteness”. Like all artists, I knew that I could polish the it endlessly, but I thought it better to be disciplined as save some creative (and physical energy) for the next environment.
The goal I set for myself was to learn how to apply my years of environment design to Unreal. With project planning, the right inspirations, and a healthy dollop of elbow grease, I succeeded in making the warehouse set modular, customizable, and usable in UE4. I am grateful and proud to be able to share the product, as well as the process by which it was created, with you. I hope that by reading this article, you might be inspired to capitalize on your potential too.
If you’re interested in seeing more of my work, you can check out my artstation.
If you want to use my assets in your upcoming products, or if you just want the best view of the asset in a custom scene, you can find them available in the marketplace.
As a final note, I’d like to give a quick thank you to friends and colleagues that have help me with their constructive feedback, inspiration, and encouragement, including my fellow 3D artists Denis Novikov, Denis Rutkovsky, and Cyrill Vitkovskiy, and game designer Phillip Chan.
Automaton Games is working on the next PUBG killer. Powered by Improbable’s cloud-based SpatialOS tech and the CryEngine, an untitled MMO tactical shooter will support 1,000 concurrent players within a shared world and also include a last-person standing combat mode with up to 400 players “in direct combat”.
What else can we say? Well, the developers promise to present a huge 144 sq. km playable area (against PUBG’s 8km x 8km space), and a system with character progression and social hubs.
Why do they need SpatialOS?
[The game has] unprecedented world simulation and effects, including environmental destruction, roaming wildlife, dynamic weather, foliage displacement, tracks, blood trails, fire and water effects, fully immersing players into the experience of being the hunter—or the hunted.
SpatialOS is Improbable’s distributed operating system for game development and operation in the cloud, which allows developers to exceed the power of a single game engine or server. By building games with standard tools and deploying on SpatialOS, developers like Automaton Games can build virtual worlds that offer permanent, persistent and engaging experiences.
SpatialOS
The game is said to be released in 2018. Something playable will be presented in Spring.
itSeez3D Avatar SDK is an advanced smartphone-based 3D scanning technology that turns a single selfie photo into a photorealistic 3D avatar.
Using just a camera of a smartphone with no additional hardware, itSeez3D Avatar SDK allows to create a high quality 3D model of a face ready for gaming, virtual and augmented reality experience – all in a couple of minutes.
Lucasfilm and Industrial Light & Magic (ILM) announced the inaugural Open Source release of the MaterialX Library for computer graphics. MaterialX is an open standard developed by Lucasfilm’s Advanced Development Group and ILM engineers to facilitate the transfer of rich materials and look-development content between applications and renderers.
Industry-leading companies including Autodesk, Inc. and Foundry have voiced support for MaterialX.
Autodesk is very pleased to be a contributor to the MaterialX project and we are looking forward to adding native support for MaterialX workflows to our digital content creation tools. As with other open formats, MaterialX is going to improve collaboration and help make production pipelines more efficient, so we are thankful that Lucasfilm have chosen to share their technology with the community through open source software.
Chris Vienneau, Director of Media and Entertainment at Autodesk
Foundry is happy to see the MaterialX project reach this latest milestone. The possibilities for smoothing the transfer of look development information between our own applications is exciting. The broader principle of open source projects and multi-vendor data exchange are important for the industry as a whole. Thus we look forward to including MaterialX powered workflows in future releases of our applications.
Jordan Thistlewood – Senior Product Manager: Look Development and Lighting at Foundry
Originated at Lucasfilm in 2012, MaterialX has been used by ILM in feature films such as Star Wars: The Force Awakens and Rogue One: A Star Wars Story, and real-time immersive experiences such as Trials On Tatooine. The MaterialX team will host a ‘Birds of a Feather’ meeting at the ACM SIGGRAPH Conference in Los Angeles, CA on Monday July 31 2017, 9:30-11:00am, in room 511BC of the Los Angeles Convention Center.
Workflows at Computer Graphics production studios require multiple software tools for different parts of the production pipeline, and shared and outsourced work requires companies to hand off fully look-developed models to other divisions or studios which may use different software packages and rendering systems. There are currently high-quality solutions (e.g. USD, Alembic) for exchanging scene hierarchies and geometric data between tools, but no effective solutions for exchanging rich material content. MaterialX addresses the current lack of a common, open standard for representing the data values and relationships required to transfer the complete look of a computer graphics model from one application or rendering platform to another, including shading networks, patterns and texturing, complex nested materials and geometric assignments. MaterialX provides a schema for describing material networks, shader parameters, texture and material assignments, and color-space associations in a precise, application-independent, and customizable way.
Lucasfilm is no stranger to open source projects having developed and released key projects over the years. The company has played a key role in developing Alembic, co- developed with Sony Imageworks and released in 2012, and OpenEXR, which was developed by ILM in 2000. Both have become industry standards and continue to be developed by the open source community.
MaterialX is an Open Source project released under a modified Apache license. For more information visit the MaterialX website: www.materialx.org and follow MaterialX on Twitter @MaterialXCG for the latest news.