Monday, March 24, 2014

RL: GDC Report Part One

Man oh man what a week it has been! The Game Developers Conference 2014 took place this week in astonishingly sunny San Francisco, and it was my first time attending anything even remotely like it! I've learned an incredible amounts about the industry in just five days, but I think I'll try and break it down into a few separate posts instead of just one for general readability. This post will cover which panels and events I went to on Monday and Tuesday during the Summits, Tutorials, and Boot camps part of the Conference.

Monday
At 10 am, bright and early, I started off my conference experience with my friend Chad Jenkins' talk on modularity in Kerbal Space Program.
Kerbal Space Programming by its sandbox nature is a very modular game: you take all sorts of parts of different vehicles and rockets and piece them together in the hopes of building an actual functional rocket, or plane, or intergalactic space frigate. To program such a game requires some foresight; Chad describes the way Kerbals programmers would ascribe certain behaviours to each particular part in turn, which lead to a system that was not only hard to edit but was bulky with repeated code. So what was the solution? Apply modularity! Especially since a significant amount of Kerbal's fan base made their own mods for the game, making the code iterable and modular was a necessity. So the previous code was scrapped entirely and replaced with a new system in which discrete behaviour for each part was linked to certain modules that could be swapped, interchanged, and edited to the programmer's whim. To this extent, as new modules could also be created, new things like definable energy sources could be specified and implemented: for example, a rocket that runs on sunshine.
This talk was interesting because it gave a lot of insight

into how to think about the logistics of a game and how it's laid out from a programmer's point of view. As artists training for a heavily technical industry, it's important we understand these trains of thought so we, too, can be efficient and useful.

Second on Monday came a talk by Mike Jungbluth about establishing an 'ecology' for NPCs- that is, when it comes to world building, where does a particular character fall in the scale of things and how does that define them?
Mike works for Zenimax Online, which works on Elder Scrolls Online. One of the problems he has encountered is how do you create realistic and compelling animations for an entire world full of different creatures with vastly different needs? He breaks it down like this: what objective does the NPC has, where does it lie on the hierarchy of needs, and how does that compare to other creatures within the same world?
First off, Mike refers to Maslow's Hierarchy of Needs and gives three examples. A skeleton solider, for instance, would fall on the second rung on the pyramid of needs: they don't need to eat to survive, but rather wish to fulfill their duty. A zombie, on the other hand, is driven by the basest need for food and so falls one rung below the skeleton. A ghostly spectre has no need for a sense of security or food, but instead is one rung above the other two as it seeks emotional support. So how would that affect how they move? Well, a skeleton soldier would move with purpose: lots of straight lines, right angle turns. A zombie would lurch and sprint in a slightly more unexpected manner. A spectre would be even more unpredictable in their movements.
So what's the point of understanding these parts of a character? In level design, it's very important to understand where to place the NPC so it makes the most sense for the player. If you're entering a library, you'd expect the person with the most information, the librarian, to be readily available in the foreground of the complex. More than just understanding how it would affect the movements and animation of a character, creating a successful ecology for your NPC helps the player themselves feel more integrated into the environment because the way people act there is the way people should act in real life, where they exist within their own ecologies.

I went to two other talks on Monday, but there's only really one I'd want to talk about (the other one was about how to write evocative stories, but I don't think it's as interesting as this one). Tom Abernathy of Riot and Richard Rouse III of Microsoft gave talk about the three-act structure and its affect on video game narrative, and how it really isn't applicable anymore. 

The three-act structure is a well-known one: if you've ever suffered through your first english class, you'd be familiar with the triangular shape that indicates a beginning, middle, and end, or Peristatis, Epistatis, and Catastrophe. This structure can be important, Tom and Richard posit, because it can make stories more satisfying... if they're movies. Video games, on the other hand, are an entirely different beast. If you apply the three-act structure onto a video game, you get excruciatingly long sequences the player has to slough through where there's just constant build up with no release until the end or the middle of the act. Video games as a media are just way too long to be broken down into such large chunks. Three-act structures in video games cater to what the player expects, rather than what the player wants.
So what alternatives are there? Tom and Richard give the example of serialized storytelling, as featured in games like The Walking Dead or the Last of Us: narrative structures that have multiple tiny setups, confrontations, and resolutions within themselves, not unlike a television series with an overlying plot. This can work in some games, but what about open world games? What about sandbox games?
Maybe the idea is that we really don't need plot in video games. Statistically, most players don't even finish games they pick up: almost 30% of the people that played Portal, for example, never finished. More people remember the characters and settings than the plot, Tom and Richard concluded. It would benefit the game developer most if they stopped caring about plot entirely and instead focused on creating a user experience that felt it was worth completing. Aligning the narrative with the needs of your games user experience is key in making a game really compelling through its story.

Tuesday
Tuesday was mostly devoted to the Unity Dev Day talks; as I was on a Main Conference Pass, I couldn't get into any other talks as Mary was using her Summits and Bootcamp pass to get into all the Tech Art talks. So I learned about what new things Unity 5.0 is coming out with, which turned out to be a really interesting glimpse into what other engines look like. Working almost entirely with the Unreal engine, I had no idea what other artists in the industry were working with. Admittedly a lot of the things went entirely over my head, but it was a really interesting insight into a new engine. I heard about the new version of  Mechanim tool, used to animate, and the new shader system implemented with an ubershader to make the shader process more efficient.

After that, I hit the indie game showcase! A few games that stood out to me in particular were Lovers in a Dangerous Spacetime and Tetropolis, both done using the Unity game engine to make a 2D-feeling game with 3D graphics. Lovers is an adorable co-op game that requires two local players to work together in tandem to ensure their spaceship can navigate an asteroid and critter infested space and save little trapped bunnies. Tetropolis is a Castlevania-style side scroller that allows the player to switch between Tetris blocks to solve puzzles and swap the world around to protect 'broken' Tetris pieces. To see what I had heard about in the Unity Dev Day talks implemented was a real thrill. It was also awesome to be able to talk to all the indie developers as well: the length and breadth of their skill sets were really impressive! I talked with a sound developer who told me the way he got the noise his game's dumbo squid protagonist made was by squishing pumpkin guts together.

No comments:

Post a Comment