Author: nyewarburton


  • One More Cuddle

    And the sketch this one came from…



  • The Democratization of Animation Production

    Imagine the hundreds of people that a computer graphics animated feature requires.(Think: Pixar or a VFX heavy superhero blockbuster.)

    Now imagine the entire undertaking of these projects being done by a handful of people. Instead of a pipeline of specialized workers, this handful of people are unique multi-talented “librarians.” Like DJ’s who sample electronic music, animated storytelling will mix streams of data, creating visualizations for a variety of new platforms.


    Hypothesis:

    Computer Graphics Production – as it exists in the movie business – will be disrupted by peer based, real time networks.


    Increasingly, collectives of creative developers are sharing new ideas, code and work flows. By sharing powerful tools and know-how, communities are growing at a pace that will soon outperform the quality and market need of closed systems. Essentially, the open networks will outperform the closed companies. The advances of these creative networks will make the computer graphics artists that work within it, mind-boggling, productive.

    Most interesting to me, is that visualizations might not be rendered on a centralized farm of computers, but by an infinitely scalable, distributed network. The libraries, the labor and the processing power will be shared by all who participate. The more who join in, the more powerful the network will become.

    This is enormously exciting for the art form. The way Youtube empowered content creators, and Instagram made everyone a photographer, new networked technologies will democratize and enhance the animation storytelling process for anyone with an internet connection. Admittedly, it is also threatening to those who exist in the industry today.


    This is what my research and writing has been focused on for the last year. I’ve spent this time exploring engines and new workflows, playing with ways to develop content, and then writing my thoughts over and over. I want to understand this evolution.


    The best way for me to internalize my learning is to write about it, teach it, and share it. And so, it is my hope that the self imposed pressure of a weekly newsletter will keep me diligent on these explorations.

    Every week, I will write a new post discussing my thoughts on technology like game engines, distributed networks, machine learning, agile storytelling, but most importantly, the evolution of the networked artist.

    If you are a computer graphics artist, producer, student, or thinker, I welcome you to subscribe and join in. If you feel this is useful, please pass it on to others who you feel it will be useful to.

    [convertkit form=3045399]


  • Previsualization – History, Practice and Evolution

    After almost a decade in previsualization, I reflected on my experiences with Fox, Digital Domain, and the Third Floor. Previsualization represents a paradigm of rapid prototyping for narrative that has capabilities and value far beyond simply visualizing sequences in 3d.

    This talk was about the development of the modern previsualization pipeline, as created by the early innovators within the third floor of Lucas’ ranch house, and how the modern pipeline has scaled to work with multimillion blockbuster films. At the end, I speculate how new reuse and agile practice will become the dominant paradigm in content development.

    This was presented as a SCAD extra.


  • Game Development

    As an animator who started in the flash days, I have always been interested in game development and gamification. I feel animation naturally aligns with it. Here are a few projects that I have worked on independently.


    Bloopco (2015)

    GameDev | Bloopco
    In early 2015, I was prototyping game mechanics that I believed had the potential for anxiety reduction. My technical partner Josh Reynolds and I, began prototyping a biofeedback game mechanic. We discovered that by detecting heart-rate input, we could recognize a deep mindful breath. This became the basis for Bloopco, a health and mindfulness game company. We began building our first game, deciding to develop for the newly launched Apple Watch. Using zen and archery as a narrative backdrop, we built a game called ‘Way of the Bow.’

    With medical consulting from Sarah Lopez, a USC physician and researcher, and art concepts from Bill Green, we were able to complete and launch the basic game on the Apple Store in the fall of 2015.

    In addition to UX design and project management, I did business development, fund raising and strategy.

    Way of the Bow was depreciated in 2017.

    Way of the Bow


    PulseCat (2016)

    In 2016, I was still working with heart rate gaming from my previous start up Bloopco. By chance, I found an unusual audience, golf. Working with golfers, I pivoted the Bloopco technology into PulseCat, a stress management system for athletes. After changing the graphics and branding, I integrated the data into a database system for integration into work out systems.
    GameDev | Bloopco
    GameDev | Bloopco
    After 18 months of work and research, and some convincing test cases, I ran out of money and energy. Below are some sketches and concepting. I demo the prototype below.

    Commander Cluck (2012)

    GameDev | Commander Cluck
    Commander Cluck is a procedural generated side scrolling jump-flap mechanic game. I adopted the simple endless runner to include a jump with a flap ‘joust-like’ descent. I created a space rooster adventurer to match the character’s mechanic and created a world of bad guy aliens, called Zorcanians, for him to squish.\

    Haephaesteus
    01
    Lunara\

    I developed all the art assets in Adobe Photoshop and After Effects and partnered with Kiran Rao and XDev Studios for the development in Cocos2D. Commander Cluck was depreciated in 2017.\

    Here is the trailer:

    Agent Kickback (2015)

    Agent Kickback 01 As a kid, I grew up playing dozens of plat-formers on a commodore 64. For a long time, I imagined a side scrolling open world plat-former about a secret agent, who had to uncover a government alien conspiracy. The mechanic of the game was based on a fun “Kick Back” that the main character had when he fired his plasma cannon.

    Agent Kickback 02
    Agent Kickback 03

    I prototyped and built in the HTML5 engine construct 2, and created a system for fractioning and designing levels, as well as a map and mission system. I built all of the art in Adobe Photoshop and After Effects. I particularly like the art style as it felt creepy and alien like but still fun and cartoony. The awesomely talented Jennifer Kes Remmington did the music track, which I feel hits the mood of the character.

    You can play the desktop web prototype by clicking here.

    Here is a video playthru:

    Here is some various odds and ends from development.

    Sketchbook and Prototypes

    GameDev | Prototype Sketches 01
    GameDev | Prototype Sketches 02
    GameDev | Prototype Sketches 03

  • Keys & State Machines

    Design patterns for character animation are about to get really complex

    Story Telling Moments

    Character animation is hard. And with real time systems, it’s going to get a lot harder.

    In order to plan through the creation of a character’s performance, an animator uses design strategies to construct the motion. Since the days of Walt Disney and his nine old men, animators have relied on a method of quantifying the actions of characters into story telling moments. These moments are often referred to as “Keys.”

    By drawing a handful of story moments and then “popping” between them, the animator can explore the timing and readability of the shot. Below is an example from Richard William’s Animator Survival Kit, showing the key drawings of a character walking to a chalkboard and starting to write. The story of the performance can be conveyed in three simple moments.

    It’s sometimes very difficult to determine these keys. Realizing this difficulty and then the energy required to flesh out the action, it’s astounding that we only use the sequence of frames once. Entire movies (which are massive undertakings) are animated once, and then thrown away! The energy the animator puts in is equivalent to the visible experience they get out of it.

    This linear output looks something like this:

    While the art form in this sequential logic form is beautiful, it is highly inefficient.

    In a real time system, such as that in an engine, the character’s actions are reusable. These actions can be changed based on the dynamic nature of the environment. Simply thinking of a character in terms of linear keys is too limiting. We need a way to quantify a character performance in a way beyond it’s single use.

    Finite State Machines

    state machine is a mathematical design pattern where an entity exists in bracketed conceptual moments, called “states.”  States are an architecture that allow for a predetermined series of actions to be triggered, provided conditions are met.

    For example, a character entity in an engine may be in a state of “walking” until it is confronted with a street to cross, to which it will change it’s state to “wait for the light.” States aren’t just visibly physical, like walking or jumping. Characters can be in a state of hunger, or in a state of anger, or in a state of existential crisis. When you begin to imagine states for characters, you start to understand how a character performs in a way outside of linear time. Designing keys in this mindset might look something more like this:


    Video games already do this in a limited capacity to satisfy the requirements of a character’s action during game play. A character will begin in an “idle state” and when the user input commands it to run left, it will change it’s state to “run left.” By changing it’s state, the engine knows to play an animation clip of the character running to the left.

    Increasingly, game engines are providing UI systems that allow for the development and design of character state machines. The example below is taken from Unity’s state machine which allows you to import animation clips and arrange them into a pattern that triggers at run time.

    My hunch is that, as real time systems become more and more integral to the animation production process, character work will increasingly become reliant on the development of complex state machines. These massive state machines will not only drive the actions of the character, but the motivational nature of them as well.

    Thanks for Reading. See you next week!

    Here are some references to keep you going on Animation Keys and State Machines.

    The Animator’s Survival Kit by Richard Willliams:

    https://www.amazon.com/Animators-Survival-Kit-Richard-Williams/dp/0571202284

    Game Programming Patterns by Robert Nystrom on State Machines:
    https://gameprogrammingpatterns.com/state.html

    Unity’s Documentation on State Machines:

    https://docs.unity3d.com/Manual/StateMachineBasics.html

    Unreal’s Documentation on Animation Blueprints:

    https://docs.unrealengine.com/en-US/Engine/Animation/AnimBlueprints/index.html


    I began this newsletter to begin a conversation with the computer graphics industry. Should you have thoughts or comments, please feel free to reach out. I can be found on twitter @nyewarburton.


  • Optimization & Leverage

    Optimization & Leverage

    Real Time animation production should start with a change in mindset

    Computer graphics can make gorgeous, high resolution stuff. However, that isn’t always the point.

    The graphics of the game industry evolved on a parallel track to the 3d techniques of the movie business. Instead of focusing entirely on high resolution images for the screen, they focused on reusing things, packing them, and limiting the color palettes. In order to play in real time, the content needed to be optimized. Because of this focus, games have always been looked at as less graphically impressive.

    That’s because most in the movie industry don’t understand the real art of game design.

    Instead of thinking:

    “How do I make this really high quality?”

    Start thinking:

    “What’s the most efficient thing I can build to get the most use out of it?”

    A Space Chicken Showed me the Way

    In 2012, I was an animator, but a novice game designer. After three failed attempts at building a mobile game, I decided to simplify my learning process and rip off what everyone else was doing at that time — build an endless runner.

    Roping in some development help, the result was Commander cluck, a demo of a running and jumping space chicken, that had a single touch mechanic. This was a triumph for me as my first game that actually worked. What threw me about the development process however, was learning and seeing the potential of something called procedural generation.

    I had started to write unique levels out but, after watching the talks and readings from the independent gaming world, I decided to try something new.

    I divided a level into seven “chunks” of content. I made a single level with seven variable chunks. I made four different background sets of pieces. Then, I tied the content variables and the speed into the performance of the player. At run time, the chunks were randomly selected and placed based on the changing variables.

    The result was a game that generated it’s levels and dynamically adjusted the difficulty.

    A fairly simple thing to uncover for most college level game developers, but for me it was like figuring out my first animated walk cycle. I remember my mind exploding at the possibilities.

    Because of this odd space chicken game, I had learned the value of reusing things mathematically.

    Leverage to Infinity and Beyond

    Engines are collections of work flows (tools) and reusable elements (assets) that the game industry has standardized to leverage these kind of opportunities. Every engine comes with the ability to generate levels, set up UI, create a player controller and many have things like gravity, starter templates, or scoring systems.

    All of these developments allow you to get up to speed and experiment with the game content much faster. As you continue to develop your processes, engines allow you to build more tools for duplicating work, offsetting it, and (most importantly) enhancing it. The better the infrastructure below you gets, the more you can improvise faster.

    Experimenting with content in engines is about efficiently leveraging optimized content. This is the genesis of creating compelling procedurally generated content. A subject I will be speaking about in length on this Nytrogen newsletter.

    Animators should begin to internalize the optimization & leverage mindset and not think of an animated story as a linear progression, but a collection of animated pieces. These pieces can be reused and assembled in mathematical ways that I’ll soon be discussing right here.

    Thanks for reading. See you next week.

    Some reading on:

    Dynamic Difficulty Adjustment: https://www.hindawi.com/journals/ahci/2018/5681652/

    Procedural Generation: https://thenewstack.io/new-crop-games-built-procedurally-generated-universes/

    and a 10 year old blog post about randomness in games –

    https://boingboing.net/2009/10/12/my-generation-how-in.html

    I began this newsletter to begin a conversation with the computer graphics industry. Should you have thoughts or comments, please feel free to reach out. I can be found on twitter @nyewarburton.


  • ITGM 310: Animation for Games

    Studio, Savannah College of Art and Design, Interactive Design and Game Development, 2021

    This is a course designed to teach the process of building animation systems for game and real time characters.

    We use Unreal Engine and the animation blueprint system, using Autodesk Maya for animation keying, retargeting and clean up. The content currently reflects 3d animated workflow, but I have hopes of integrating 2d animation systems into future content.

    This is the demo reel for Animation for Games.

    This class is for game developers and animators who wish to understand how to build real time animation systems. I try to build the class so it’s accessible to animators with no development experience, but extensible so those with unreal blueprint experience can learn animation systems for NPC’s and combat. Students start by individually building a side scrolling platformer, and can potentially move into directed or collaborative groups for a third person player RPG type project.

    Here is the Final Project Presentation:

    You can see the course website at this link.

    This class has been in development since Fall 2020. A new update for this class is set for Fall 2022.


  • Introduction to Machine Learning for Artists

    Date: April 10, 2021

    This was a presentation on machine learning for artists focusing on accessibility, convolutional neural networks and generative adversarial networks. I believe that the next generation should understand and practice the use of machine learning, as it will evolve into a highly accessible and productive technology in computer graphics. This was presented online to a group of about 60 students.