Showing posts with label procedural generation. Show all posts
Showing posts with label procedural generation. Show all posts

Thursday, November 28, 2013

Practice 2013: Choices Have Consequences: Creating the Immersive Simulation

Sim Rules = Sims Rule (by Warren Spector)
·         A word about terminology (two types of interchangeable terms)
o   Emergent gameplay, rules-based design, systemic design, player-driven, simulation
o   Special-case design, emulation-driven, pre-scripted design, hard-coding
·         Some recent games (GTA, Spelunky, Dishonored, Saints Row, Fallout, Tetris, FTL, Minecraft, Mass Effect, Deus Ex, Versu, Papers Please) all exploit the power of emergent gameplay.
·         Different from tightly script adventures (Uncharted, Heavy Rain, Walking Dead)
·         Highly-polished linear games aren’t bad. Offering limited pre-planned choices can be a good thing.
·         Warren is more interested in emergence than in scripted adventures.
·         “The Quark & The” and “Emergence” by John Holland
·         Emergence definition – much from little, more than you put in, building blocks, program is fully reducible to the rules that define it, nothing remains hidden, behaviors generated are not easily anticipated, its rules can surprise the programmer, ever-changing flux of patterns leads to perpetual novelty
·         Harvey Smith – games of the future will rely on high fidelity world representations
·         Emergent game designers = Harvey Smith, Randy Smith Doug Church, Richard Garriott, Bioware, Rockstar, Lionhead, Maxis, Arkane, Bethesda
·         Simple rules = rules-based interaction
·         Flexible objects = objects allow dynamic interactions, interactions are determined by players.
·         Player choices = result in novel situations
·         Future of game design is tied to our awareness & exploitation of emergence, we can generate player-driven experiences
·         “A good metric for analog interactivity vs. discrete interactivity is to what extent the designer is able to predict the players’ experiences.” Total predictability is a bad thing.
·         Fail-Learn-Retry isn’t good game design. Share the spotlight.
·         X-Wing vs. Star FoxDeus Ex vs. Half LifeSkyrim vs. Bioshock Infinite = very emergent gameplay vs. very scripted story-based games
·         Emergent games give players the tools to discover or create, provide context in which players act, bound the player experience but don’t determine the player experience
·         Deus Ex = multiple solutions to problems, didn’t care how people solve problems, let players make their own plans and try different behaviors
·         The most interesting games let players devise personally meaningful goals, formulate and execute plans, and use the information. Plans must be devised by the player.
·         Old-fashion game design – team discusses missions in general terms, specific plans for specific interactions left to designers, properties of game elements exist per instance, “what will I make players do here?”
·         Single-solution puzzles – “manually setting up solutions to game problems requires a lot of work on the part of the team, can result in inconsistencies and generally only equates to a small number of possibilities for the player.” – Harvey Smith.
·         When people play these types of games, you aren’t playing the game. You are playing the designer.
·         Sources of frustration – arbitrary force foils the player, behaviors change instance-to-instance, environment inconsistent or incomplete, plans often fail for inexplicable reasons.
·         Pros of emulation – always get exactly the behavior you want, player comfort
·         Cons of emulation – time to develop, player frustration, changes must be made individually and may create bugs
·         New emergent game design – teams still discusses mission fiction and general gameplay, plan types of interactions but not specifics, define game elements with globally defined characteristics, craft game systems that define behaviors and interactions globally, “where will players express themselves?”
·         Global systems design – create global universal rules, interlocking systems, classes of propertized objects
·         Simulation – types of interactions, object-oriented design
·         Theory to practice – consistency of cause and effect, unpredictable but logical outcomes, interlocking rules/systems
·         Old Memory, which game has crates earliest?
·         Pros of sims – game elements behave consistently, players can intuit behaviors, players can make plans.
·         Cons of sims – need for definitions for all objects, need art and sound, testing, metrics, players will break your game, feedback is everything, requires players to think, making a plan is hard, decisions are scary
·         Emergence and business – financial success (GTA, Skyrim), easier content generation, easier game-tuning and bug-fixing, replayability, more play time per development money spent, easier learning curve, supports a broader range of players
·         Emergence and art - games become more game-like, more complex AI requirements, larger possibility space, richer-looking environment matched by better interactivity
QUESTION AND ANSWER
·         The highest form of respect is thoughtful criticism.
·         Queer games movement, it’s important for designers to express their point of view and empower the voice of the designers.  Simulation games are much more like dialogues.
·         Is there room for an author’s presence in a game? It’s disingenuous to say that simulations are devoid of authorship and the designer’s voice.
·         Simulation and emulation exist in lots of areas of games
·         Warren’s dream is to start a small indie program to explore more simulation games
·         Emergent communicative behavior like Journey?
·         Emergent behaviors that happen in the players’ mind? Speed runs, Olympic badminton players who were disqualified, kingmakers in board games. It’s okay, let players make their own play and exploit the system. Encourage exploitation and consider your bugs as features.

Tuesday, October 30, 2012

NYU 9th Floor Talks: The Cutting Edge of Game Research

Ken Perlin, a Computer Science professor at NYU, presented some of his cutting edge research in procedural animation and education games.

Presentation
  • Ken is the founding director of NYU's Media Research Lab and the Director of the Games for Learning Institute. He is a mathematician who has won an Academy Award for his noise and procedural texturing techniques that have been used in film and television.
  • Ken started his career in computer graphics. Being in the industry for so long, he has experienced the power of Moore's law, seeing computers get twice as faster every two years.
  • He has developed several hundred Java applets. Some of his work can be found on his NYU homepage (http://mrl.nyu.edu/~perlin/).
  • When researching something, you have to boil it down to the simple possible version.
  • One of Ken's biggest research interests has been conveying emotions through artificial characters.
  • In Polly's World (http://mrl.nyu.edu/~perlin/experiments/polly/track.html), Ken tries to convey emotions with the least possible number of vertices and polygons. The procedurally animated character is made up of only 6 vertices, but displays a wide range of emotions through its movements. Our brain maps simple animations to emotions.
  • Why do we care about animated characters? Ken researches the human body as an instrument to understand psychological emotions.
  • In Responsive Face (http://mrl.nyu.edu/~perlin/experiments/facedemo/), Ken researches what's the simplest emotive face possible. At the very least, an emotive face requires movements of the eyebrows, lid, gaze, head, and mouth. A person has n-points in the face like a keyboard has a number of notes and facial expressions are like chords.
  • Micro noise movements and procedural variations makes the emotions more realistic. Without these micro movements, the face is just a lifeless still picture.
  • Autistic children have trouble looking at other human's faces and thus grow up not knowing how to read emotions. However, they don't have that problem with artificial, computer-generated faces. Many autistic children used Responsive Face to learn human emotions.
  • Plan 9 From Outer Space, often regarded as the worst movie ever made, is almost unwatchable because the acting is so bad. The actors' faces are so emotionless that it's impossible to identify with the characters.
  • In an attempt to create an "interactive Pride and Prejudice," Ken developed an applet with five birds with disembodied feet. The birds showcase procedural walking animation, which is tons better than canned animations.
  • We should think of avatars the same way a director thinks about actors in a live play. We shouldn't communicate actions to the avatar (ie. "jump here", "punch that", "open this door"), but communicate emotions (ie. "you love her"). Likewise, actors shouldn't indicate (ie. "I am feeling happy!", "I feel very sad."), but actually emote.
  • With Fish Tales (http://cims.nyu.edu/~perlin/fishtales2/), players can record a one-minute story using Bob the fish and two bouncing balls.
  • In Candy Circle (http://mrl.nyu.edu/~perlin/candycircle/), players make procedural music using a spinning wheel filled with candy. It researches the rule of the fifths; when the further away the chords are, the more dissonant the sounds are.
  • Ken also experimented with spiral escalators (http://mrl.nyu.edu/~perlin/escalator/). Spiral staircases always go right going upwards because they were designed solely for battle. Since most knights were right-handed, it would give the advantage to the person who's above.
  • The barrier of entry to making games is so high. Ken would like to have more people coming into the arts that are enabled by programming.
  • There are "fake languages" such as Code Do It and Scratch that enable people to jump into programming. Ken is researching how to make programming more integral to education.
  • Ken's New Line Fractals (http://mrl.nyu.edu/~perlin/newlinefractal/) show mathematical visual examples of fractals. Students can move vertices around to experiment with creating their own fractals.
  • Using a real-time interpretive version of Java, Ken created Flower, in which students can directly edit the code and immediately affect the flower. In Musical Rubber Ducky, students can affect the ducky but also the music too using live code. Can we invite them to the narrative as well?
  • Ken developed a Pride and Prejudice reader. Before the invention of books, literature used to be written on scrolls. Someone later introduced the concept of pages, a fixed length record that changes per edition. But writers wrote and thought in terms of sentences and paragraphs, not in pages.
  • In this interactive map of Pride and Prejudice, you can see the entire book's topology. You can easily identify the key chapters of the book using filters and highlights.
  • Asteroid is a game that topologically and mathematically exists on a torus or a doughnut.
  • The second book to use the interactive map is Winnie the Pooh. This version also includes a procedurally animated bear that users can play around with using live coding. The code editor includes tools that enable learning programming easier. When you insert a 2D array, a map will appear that lets you set dots and automatically generate the points in the array for you.
  • Everyone should be able to program. It should be as accessible as painting, filming, and writing. People need immediate feedback to instigate learning.
  • Ken is really interested in how to power up this maker culture.
Question and Answer
  • Learning tools should be like Google Docs in that they are collaborative, shared documents. People should have conversations with each other about creation. Learning is a performative activity.
  • Just like how jazz is to music composition and improvisation is to acting, we need live perfomative structures for coding to learn programming.
  • What's the difference between games and simulation? Games have goals.
  • We need to increase programming literacy and convey programming as a liberal art. Kids need to look at code in their early stages.
  • Ken remembers reading a children's book when he was a child and at the end were the advanced notes for the teacher to read. Although Ken couldn't read the notes as a child, he understood that that's what he was learning and that he'll eventually be able to read the advanced text. Kids shouldn't be using a fake language, but rather be looking at what the grown ups are using. They should be exposed to C++ or Java-like languages.
  • Kids are learning reading through other subjects such a history and science. We should teach coding gradually in the same way.
  • Many people are reluctant to learn coding, but that's okay. We should focus on teaching the kids. We don't currently live in a society that requires that level of technical knowledge, but this might change ten years in the future.
  • Excel is a programming environment that many people use, despite not being programmers. Max/MSP is a programming language that non-programmers such as visual and sound artists use. Both of these programs are always running live and give immediate feedback. There's no intermediate building or compiling stage.
  • People don't necessarily need to learn C++ or Java the same way that not all writers have to linguists. Guitarists don't need to learn how to make guitars.
  • Programmers have a sense of being macho. Music, on the other hand, is more inclusive. We need a real-time sharing structure and a more inclusive environment for non-programmers.
  • Will books become non-linear in the future? This may very well happen, but it won't replace the books as we know them. Different media can coexist the same way that different instruments can coexist. It's not all about hacking and recombinations. Technology is the wrong word to describe media; these are instruments.
  • Will the secondary functions of the interactive reader overshadow the literary work itself? The work lives on if they're great. Beethoven lived on when the Beatles came around and the Beatles didn't go away when Lady Gaga came around.

Thursday, June 7, 2012

Searching for Fun: Procedural Content Generation as Search and as a Necessity

Julian Togelius, an associate professor at the IT University of Copenhagen, spoke about the necessity of procedural content generation in game development. His main research interests include game AI, adaptive games, player modeling, and procedural content generation.


Presentation
  • Procedural content generation (PCG) is the process to create content with zero or limited human intervention. PCG is done algorithmically. It does not necessarily mean NPC behaviors or game mechanics, but content, which includes levels, maps, terrains, dungeons, puzzles, quests, rules, characters, parameters, and rewards.
  • PCG is necessary. Developers don't have the time or money to generate all content, especially in this age with high development costs. Players burn through content way faster than developers can design and implement them.
  • Elder Scrolls: Skyrim is a huge success, partly due to some of its PCG nature. It pushes its budget just a bit more.
  • Games with PCG include Elite which is a huge game that fits in Commodore 64's memory, Rogue, Diablo, Dwarf Fortress, Far Cry 2, Speed Tree, Civilization IV, and Borderlands.
  • However, PCG sucks. It's unreliable, uncontrollable, lacks macrostructure, can produce boring and generic results, is poor with animations, and can't represent style.
  • The future of PCG is search, the need to check generated results. Populate with multiple generations and pick the best choices. This is an evolutionary computation. Keep a population of candidates, remove the bad based on a fitness algorithm, and keep repeating until the remaining candidates are good enough.
  • Evolutionary computation allows exploration of larger design space and better control. Most importantly, it avoids catastrophic failure where fitness equals zero.
  • Julian developed a PCG system that created Starcraft maps. For the fitness functions, he looked for terrains that would create interesting game events such as choke points, paths from one station to another, enough resources in each area, and blockages. However, the generated maps were poorly received by playtesters because Julian believed that asymmetrical maps were more interesting, but hardcore Starcraft players would only play in symmetrical maps.
  • When representing a dungeon, you can create a PCG function based on a grid. Getting more abstract, you can simply create the system based on position and direction of walls. Getting yet more abstract, you can generate based on patterns of walls and floor. Even more abstract, you can define just the number of rooms and doors.
  • Cameron Brown's Ludi and Yavaloth are procedurally generated board games, not that its in-game mechanics are procedurally generated but the game design was all generated by a computer. The title Yavaloth itself was also procedurally generated.
  • Julian created Infinite Super Mario Bros, a PCG take on Super Mario World. The levels were procedurally generated and during playtesting, testers were asked to rate the levels based on fun, frustration, and anxiety. Using this data, the system created better levels in an exhaustive search for optimal parameters.
  • Galactic Arms Race is a PCG game where weapons would constantly evolve based on the collective player-base.
  • Infinite Tower Defense is a PCG tower defense game where enemies learn player patterns and develop new tactics. Meanwhile, the player gets PCG weapons based on their most commonly used weapons.
Question and Answer
  • Improviso is a puppet theater game about acting. It is a multiplayer game which pairs players anonymously online to dramatize a story together. Meanwhile, an AI system collects data from thousands of players and once trained, it can autonomously play the role of one of the characters in the play.
  • Can you represent the game rules as a vector such that it simulates a new player who doesn't know how to play and then builds levels that fits the simulated player? For example, in the original Super Mario Bros., the levels slowly teach the player new mechanics as he progresses through. This can be computationally expensive.
  • The most memorable PCG stories are the failures. Nobody remembers the successes.
  • Can the game "yes, and" the player? For example, the game builds itself around what the player is expecting to do. The game sends a slow walking enemy towards the player, expecting the player to jump. Whatever the player presses to jump, that becomes the jump button for the rest of the game.
  • Julian developed a game where you drive around a car in a field of colored blocks. The player can set up specific causes and consequences. For example, whenever the car hits a red block, create two green blocks. While the player is setting up these rules, the game itself is trying to figure out what the goal of the game is and it builds additional rules to reinforce that. In this way, it is yes-anding the player, but it became clear that things get really chaotic very fast. Yes-anding only works when both sides are in agreement with each other.

Wednesday, June 6, 2012

Trials of Designing Procedurally Generated Adventure Games

Clara Fernández-Vara, a Postdoctoral Researcher at the Singapore-MIT GAMBIT Game Lab, gave a presentation about her procedurally generated adventure games. Her work concentrates on adventure games and narrative in simulated environments.

Presentation
  • Procedural content generation has existed in video games since early maze games and rogue-likes. Even the shuffling of cards from a card game can be considered procedural generation.
  • Will Wright's presentation of Spore at GDC focused on letting the users do the work of creating content. Procedural generation is focused on letting the computers do the work.
  • Clara's primary genre of focus are adventure games. Her influences include Heavy Rain, Machinarium, and Phoenix Wright.
  • Her goal is to look for innovation in adventure games. She wanted to create a system based on psyche and recreate the logic of dreams. Dreams happen to be unstable and random, so it fits perfectly with the somewhat random results of procedural generation.
  • The initial system that she designed involves creating a puzzle structure -> populating it with puzzles -> creating object combinations out of a list of NPCs, properties, and items -> and selecting and placing the objects in a specific order.
  • The puzzle generation system she used was inspired by GRIOT. She created Symon in 2010, in which the player is trapped in the dreams of a paralyzed patient.
  • The designer's role in a procedurally generated game is to figure out the puzzles and objects that provide insight into the narrative. She focuses on adventure games as simulation, thus it's important that generated puzzles have to create narrative. In Symon, for example, there's a puzzle involving a carnivorous plant, which signifies gardening. Symon doesn't like gardening, but he's been doing it for the last couple of years for his wife. The plant blocks Symon from progressing, but he can choose to kill it or give it something so that it leaves him alone.
  • The development of Symon had several problems. The design was dependent on the code, so whenever the designer wanted to make a change, she needed the programmer to implement it. Secondly, the process and iteration was slow due to the programmer being a bottleneck. Finally, there was only one type of puzzle with one variation (fetch quests).
  • Many players don't expect to replay adventure games, so a lot of the procedurally generated nature was ignored by the audience. There was a big challenge to write walkthroughs as every player experienced a different game with different characters and puzzles. However, once the game was played through a few times, it was very easy to figure out the system and the game got boring.
  • Many tools were built to help the designers such as a tool to create puzzle patterns, a puzzle map, and a database editor.
  • Generating puzzles procedurally doesn't mean it's playable. There's a lot to add to make it an actually meaningful experience such as giving hints to the player when they're stuck.
  • Clara worked on Stranded in Singapore in 2011. It took place in the real world instead of in a dream. With this game, she had more control over the design and was able to add more puzzle patterns, although the generation algorithm still needed work.
  • Randomness can be an enemy of believability. For example, there was a puzzle in the game that involved finding ice cream and two slices of bread, combining them into a literal ice-cream sandwich. This is an actual food found in Singapore that the designers wanted to include in the game as a means to expose Singapore's culture. However, many players thought it was a random result of the procedural generation and didn't believe it actually exists.
  • Stranded in Singapore had a problem reconciling fiction with the mechanics. In Symon, the procedural generation made sense in the dream world since dreams are random and wacky, but it was odd in Stranded in Singapore.
  • Stranded in Singapore was focused on food, bargaining, and commercial transactions.
  • Lessons of designing procedurally generated adventure games are to focus on simulation, design relationships that generate narrative, and ensure that the game premise and fiction complement each other.
Question and Answer
  • The environments of Symon were generated based on the characters that were randomly selected to be in the game session.
  • The variation of objects is the biggest factor to give more narrative range and better replayability.
  • Clara's games are designed to not let the player get stuck. In order to do so, the games allow an undo or reset ability.
  • Her games are basically parodies of adventure games.
  • To generate the game session, the game has to generate the puzzles in backwards order.