top of page
dennishebbard

Game Engines and Real-Time Workflows for VFX & Animation Studios

We have been seeing a significant increase in requests to help wire game engines into traditional pipelines. We had some amazing panelists present at The Pipeline Conference back in August, and I tried to capture some nuggets of wisdom. I hope you find something helpful here!


Game engines are software platforms designed to create and run video games and other interactive media. They are used by game developers and other digital media professionals to create rich, immersive experiences that can be played on a variety of devices, including desktop computers, mobile devices, and game consoles.

In recent years, game engines have also become popular for use in visual effects (VFX) and animation production. This is due to their robust and flexible toolkits, which allow artists and animators to create high-quality visual content and simulations. The use of game engines in VFX and animation has become increasingly popular as they offer a range of benefits over traditional methods, such as:

  1. Real-time performance: Game engines are optimized for real-time performance, making it possible to see changes and updates to the scene in real time. This allows artists and animators to quickly iterate and refine their work.

  2. Visual scripting tools: Game engines typically include visual scripting tools like Blueprint in Unreal Engine, which make it easier for artists and animators to create complex systems and interactions without having to write code.

  3. Advanced physics and simulation: Game engines often include advanced physics and simulation tools, making it possible to create realistic and believable physical effects.

  4. Cross-platform compatibility: Game engines can be used to create content that can run on a variety of devices and platforms, including desktop computers, mobile devices, and game consoles.

Game engines are a valuable tool for VFX and animation studios, offering a range of features and benefits that make it easier to create and collaborate on high-quality visual content. Whether you're creating a film, a video game, or an interactive experience, game engines are versatile and powerful tools that can help bring your ideas to life.


Previs and Look Dev


Previsualization and look development are crucial stages in the production of film and animation, as they help to establish the overall look and feel of the project. Game engines can greatly improve the process of previsualization and look development by offering a range of tools and features that allow artists and designers to quickly create, iterate, and refine their work.


Real-time rendering: Game engines are designed to render scenes and animations in real-time, which allows studios and customers to see changes and updates to the scene in real-time. This greatly speeds up the process of previsualization and look development, as changes can be made quickly and easily without having to wait for long render times.


Advanced physics and simulation: Game engines include advanced physics and simulation tools, which allow artists and designers to create realistic and believable physical effects. This makes it possible to accurately previsualize the movement of characters and objects in a scene, and to create believable environmental effects like wind, rain, and smoke.


Advanced lighting and shading: Game engines include advanced lighting and shading tools, which allow artists and designers to create realistic and believable lighting conditions in a scene. This makes it possible to previsualize the lighting of a scene and refine the look of materials and objects, helping to establish the overall look and feel of the project.


Game engines can improve the process of previsualization and look development by offering a range of features that allow artists and studio customers to quickly create, iterate, and refine their work. Whether you're working on a film, virtual production, or an interactive experience, game engines can help you collaborate on your projects in different ways.


A Node-Based Interface - Blueprints

Blueprint is a visual scripting tool in Unreal Engine that allows users to create interactive experiences and game logic without having to write code. It is a user-friendly tool that enables users to create complex systems and sequences by connecting nodes in a visual interface. This makes it a great tool for artists, designers, and even those without a programming background to bring their ideas to life.

With Blueprint, users can create complex interactions, animations, and effects using a drag-and-drop interface. They can also access and use the full suite of tools and technologies in Unreal Engine, including the particle system, physics simulation, and support for shaders and materials.

In short, Blueprint is a powerful tool that enables users to quickly and easily bring their ideas to life in Unreal Engine. Whether you're a seasoned programmer or just starting out. Node-Based tools are a versatile and user-friendly approach that can be leveraged to scale your 3D production operations.


It's not all high-5s, beer, and pizza!


Like any technology, Unreal Engine's Blueprint system has its own set of challenges and issues. Here are some of the concepts that pipeline developers should be thinking about when planning to develop in Blueprint:

Complexity: As projects become more complex, so does the Blueprint code, making it harder to manage, debug, and maintain. This can lead to long development cycles and an increased risk of bugs and errors.


Debugging: Debugging Blueprints can be a time-consuming process, especially for large and complex projects. There are limited debugging tools available, and the lack of an integrated development environment (IDE) can make it difficult to quickly identify and fix bugs. The recommended IDEs are Visual Studio or C++.


Limited Customization: While Unreal Engine provides a lot of built-in functionality through Blueprints, there may be instances where custom code is required. The Blueprint system is limited in terms of customization options, and custom code might need to be written in C++, which can be difficult for some developers.


While Unreal Engine's Blueprint system provides a lot of benefits for pipeline developers, it also comes with its own set of challenges and issues. It's important for developers to understand these challenges and plan accordingly to ensure a successful development process.

What about C++?

The alternative to using Blueprints in Unreal Engine is to use C++ code. C++ is a low-level programming language that provides more control and performance compared to Blueprints, but it requires a deeper understanding of programming concepts and a longer development time.

C++ is often used for more complex game logic and performance-critical systems in Unreal Engine, while Blueprints are used for more rapid prototyping and creating simple game mechanics. Both C++ and Blueprints can be used together in Unreal Engine to combine the benefits of both approaches.

Ultimately, the choice between using Blueprints or C++ in Unreal Engine will depend on the specific requirements of the project and the skills and experience of the development team.


Getting Started


Here are a few planning steps to begin implementing Unreal Blueprints in your studio:

  • Familiarize yourself with Unreal Engine: Before using Blueprints, it's important to have a good understanding of Unreal Engine, including the interface, the editor, and basic concepts such as actors, components, and materials.

  • Learn Blueprints basics: To get started with Blueprints, you should learn the basics of how they work and how to create simple Blueprints. You can find tutorials and videos online or enroll in an Unreal Engine course to learn the basics. We included some excellent resources below.

  • Identify the use cases: Decide which parts of your project would benefit from using Blueprints and what kind of functionality you want to implement with Blueprints.

  • Plan the implementation: Plan the implementation of Blueprints in your project, including what functionality you want to implement, how you want to organize your Blueprints, and how you want to integrate Blueprints with the rest of your code.

  • Start using Blueprints: Begin using Blueprints in your project, starting with simple functionality, and gradually increasing the complexity as you become more confident with the system.

  • Test and debug: As you implement Blueprints, it's important to test and debug your Blueprints to ensure they are working as expected.

  • Evaluate and refine: Evaluate the effectiveness of using Blueprints in your project and refine your implementation as needed to achieve your desired functionality.

By following these steps, you can begin implementing Blueprints in your studio and reap the benefits of a visual scripting system that can streamline the development process and reduce the time and effort required to implement reusable components in your pipeline.


What skills do we need?

Basic Programming Concepts: Blueprints are based on a visual scripting language that is similar to programming, so having a basic understanding of programming concepts such as variables, functions, loops, and events is essential.


Understanding of 3D/CGI Development: Artists who work with Blueprints should have a basic understanding of 3D concepts, such as asset creation, modeling and textures, and, level design,


Familiarity with Unreal Engine Editor: Artists should have a basic understanding of the Unreal Engine editor and its various tools, such as the level editor, material editor, and animation tools.


Understanding of Game Logic: Artists should have a good understanding of game logic and how it affects the player's experience, such as how to trigger events, control animations, and manage player interactions.


Basic Knowledge of C++: Although not essential, having a basic knowledge of C++ can be useful for artists working with Blueprints in Unreal Engine, as they may need to integrate code snippets into their Blueprints to achieve certain functionality.

These skills will provide a strong foundation for artists to start working with Blueprints. However, as with any new technology, it takes time and practice to become proficient, so be patient and persistent in your learning journey.


Project Ideas to Familiarize with Game Engines

If a studio is new to using game engines, there are several starting projects that can help familiarize them with the tools and workflows. Here are a few starter project ideas:


The Short Animation Sequence: The studio can create a short animation sequence using the game engine's animation tools and features. This can help them get familiar with the animation pipeline, keyframe animation, and the use of motion graphics.


The Interactive Experience: The studio can create a simple interactive experience, such as a 360-degree panoramic view or an interactive storybook. This project can help familiarize the studio with the game engine's scripting tools, such as Blueprint in Unreal Engine, and the creation of user interactions.


A Sample 3D Model and Scene: The studio can create a 3D model and scene using the game engine's modeling and level design tools. This project can help familiarize the studio with the creation and optimization of 3D assets and the use of materials, lighting, and effects.


A VR Experience: The studio can create a virtual reality experience using the game engine's VR tools and features. This project can help familiarize the studio with VR development, including the creation of VR environments and interactions, as well as optimization for VR hardware.


The important thing is to choose a project that allows the studio to learn and experiment with the tools and features of the game engine, while also helping them to create something that they're able to pragmatically leverage in their studio.

Here are some good Blueprint project ideas to get started:

Simple Game Mechanics: Start by creating simple game mechanics such as character movement, camera controls, and basic interactions with objects. This will help you get familiar with the basic concepts of Blueprints and how they work.

Interactive Environments: Create interactive environments by using Blueprints to control objects, lighting, and other elements. This can help you learn how to create complex interactions and control multiple elements with Blueprints.

Inventory Systems: For a beginner game developer, a useful implementation would be an inventory system in which the game player can pick up and manage some loot. This can help you learn how to create UI elements with Blueprints and how to manage data with variables and arrays.

Third-Person Shooter: Create a third-person shooter game that uses Blueprints to implement the character movement, shooting mechanics, enemy AI, and other elements. This can help you learn how to create complex game mechanics and integrate different systems with Blueprints.

Virtual Reality: Develop a virtual reality experience by using Blueprints to control movement, interactions, and other elements. This can help you learn how to use Blueprints in a VR environment and how to create immersive experiences.

These are just a few examples of the types of projects you can work on to get started with Blueprints in Unreal Engine. The best way to learn Blueprints is to start simple and gradually increase the complexity as you become more confident with the system.

Where can I easily experience Blueprint based workflows:


Fortnite: One of the most popular online games, Fortnite, is built with Unreal Engine and uses Blueprints extensively to implement gameplay mechanics, UI elements, and other systems.


Robo Recall: A first-person shooter game with a futuristic setting, Robo Recall is built with Unreal Engine and uses Blueprints for character control, enemy AI, and other gameplay mechanics.


Astroneer: An adventure game set in outer space, Astroneer is built with Unreal Engine and uses Blueprints for character control, vehicle movement, and other gameplay mechanics.


Street Fighter 6: The latest iteration of the classic Street Fighter franchise, Street Fighter is built with Unreal Engine and uses Blueprints to implement character animations, special moves, and other gameplay mechanics.

Resources to Sleuth for Training and Education


Wes Bunn: A senior technical artist at Epic Games, Wes Bunn has presented on the topic of Blueprints at various conferences and events and is known for his in-depth knowledge of Blueprint Optimization, Control Rig Set up for animating a Skeletal Mesh, and leveraging the Sequencer cinematic tool.


Dave Ratti: A TD at Methodical Games and previously Gameplay TD at Epic. Dave Ratti has presented on the topic of Blueprints at various conferences and with a little sleuthing you might find Dave’s gameplay Blueprint projects on Git.


Nick Darnell: A technical lead and tools programmer at Epic and an Unreal Engine expert. Nick Darnell has presented on the topic of Blueprints at various conferences and events and is known for his ability to bridge the gap between programming and art.


Ryan Brucks: Ryan is a Senior Technical Artist at Epic Games and has been working with Unreal Engine for over a decade. He has extensive knowledge of Blueprint and has created numerous tutorials and demos.


Tom Looman: Tom is an independent Game Developer and Technical Artist who has been using Unreal Engine for over a decade. He is well-known for his public tutorials on Blueprint and is considered one of the leading experts. Tom has a sample Blueprint VR Project on his website.


Alan Noon: Alan is a Technical Artist and Evangelist for Unreal adoption who has been using Unreal Engine since 2014 (that's what I found). He has tons of Blueprint training content to his credit, is a frequent flyer at industry events, and has extensive experience using Blueprint to create high-quality VFX and other effects.


There are many other individuals who present on this topic, so it's worth exploring different resources to find the speaker that best fits your needs and learning style. If you find something helpful. Ping us and we will update this accordingly.


Investing in Pipeline R&D


Some thoughts on how you might justify funding R&D investments in your pipeline:

Rapid Prototyping: Blueprints allow pipeline TDs to quickly and easily create prototypes, test new ideas, and iterate on their designs without writing any code.


Accessibility: The visual nature of Blueprints makes it easy for pipeline developers of all skill levels to understand and use the system, even if they have limited coding experience.


Reusability: Blueprints can be reused across multiple levels, objects, and projects, reducing the amount of work required to create new content and increasing the overall efficiency of the development process.


Collaboration: Blueprints can be shared and collaborated on by multiple members of a development team, making it easier to manage the development process and ensure consistency across different elements of the game.


Performance: Unreal Engine's Blueprints can be optimized for performance, ensuring that your project can run smoothly and efficiently even on lower-end hardware.


Integration with other Tools: Unreal Engine provides integration with other tools and technologies, such as virtual reality (VR) and augmented reality (AR), making it easier to develop games and experiences that take advantage of these technologies.


What else do I need?


Like any CI/CD pipeline, you will need a place to store and version your game engine projects. Here are a few options to consider:

  • Perforce: Perforce is a popular version control solution that is widely used in the game development industry. It integrates well with Unreal Engine and provides robust version control for Unreal Blueprints.

  • Git: Git is a widely used open-source version control solution that is also used for managing Unreal Blueprints. It provides distributed version control, making it easy to manage changes made by multiple users.

  • Subversion (SVN): Subversion is another widely used version control solution that can be used to manage Unreal Blueprints. It provides centralized version control, making it easy to manage changes made by multiple users.

  • PlasticSCM: PlasticSCM is a version control solution that provides features such as branching, merging, and version labeling, making it a good choice for managing Unreal Blueprints.

These are just a few examples of the many version control solutions available. The choice of version control solution will depend on the size of your team, the complexity of your project, and your specific needs. It's important to explore different options and find the solution that best fits your needs.


A Final Thought on File and Folder Structures & Naming Conventions


In VFX (Visual Effects) and Games, the file and folder structures are different due to the unique needs of each industry. You will find some of the Version control solutions listed above have optimized templates for VFX & Animation versus traditional game models. Square peg round hole applies!


For VFX, the file and folder structures are highly organized to ensure that all assets and files can be easily located and accessed. This includes a clear hierarchy of folders that are labeled and nested, as well as file naming conventions that are standardized and descriptive. In addition, VFX studios often have a pipeline in place that dictates the flow of files, from creation to final delivery, to ensure that all assets are properly tracked and accounted for in production & asset management systems like Shotgun and FTrack.


In contrast, game development studios typically have a more fluid file and folder structure, as they must be able to quickly iterate and make changes to their assets and files as needed. This often involves a mix of folders and files that are organized by type, function, or asset, but without the same level of hierarchy or standardization as in VFX. Additionally, games may require a more complex and dynamic asset pipeline, as assets may need to be optimized for real-time performance or incorporated into a game engine.


Good Luck!


Lets us know if this is helpful or if we need some updating!


65 views0 comments

Recent Posts

See All

Comments


bottom of page