You are viewing an old revision of this post, from March 5, 2011 @ 10:51:10. See below for differences between this version and the current revision.
- The Game Design of Starcraft II: Designing an E-Sport
- Hybrid Orchestration – Scoring Need for Speed
- The Game Design Challenge 2011: Bigger than Jesus
- An Apology for Roger Ebert
- Message Queuing on a Large Scale: IMVU’s Stateful Event Architecture
9:30am–10:30am: “The Game Design of Starcraft II: Designing an E-Sport”, by Dustin Browder
2005. Dawn of War just shipped: 4 sides, 63+ units, with more to come. Supreme Commander about to ship: 4 sides 100+ units. Starcraft 2 planned with 3 sides, 45 units. (Some of which are effectively identical!)
This sounded crazy to him: units = choices = gameplay = fun. They need more!
The response: this is an e-sport. That’s new, hard to do. Think of this as “basketball 2”. That means it needs to be: watchable: clear, simple, skill-based, uncertain.
Let’s drill down into these. “Clear” is why the artists hate him. He gives an example of an ultralisk: it’s not nearly as impressive as it could be, it would look a lot better if it were bigger. But if he did that, it would hide smaller units (he showed it hiding 20 zerglings), destroying clarity/readability. Especially important in the case of effects: you don’t want them making an impressure light show all over the screen, you want to know exactly who is affected and whether it succeeded.
Simple: minimum number of units. For Starcraft, 12-15 units per race. Too many and viewers are confused, pros have to guess, and some units end up functioning as reskins. But: you still need tons of choices with that small number of units. They started by just experimenting with movers and shooters, fiddling with the stats to bring out differences. (Including area of influence, how they move.)
Interlude on upgrades. Banelings are better than marines; but marines + stim are better than marines. So upgrades don’t just make a unit more like itself, they flip relationships. (And that relationship can get flipped again with a handling upgrade.) Or the roach can be upgraded in two different ways: 1 unit, 3 uses.
Skill: micromanagement is important to them. It’s part of the game: an RTS isn’t just a really fast turn-based game. (Also, micromanagement is fun to watch, important for a sport!) And it allows for degrees of skill, degrees of success/failure. Force field example: easy to use it at a choke point; hard to use it to protect a group on the field; still harder to use it to split an opponent force. (And you can do any of these better or worse: a better player won’t leave as many gaps between force fields.)
(Flanking and terrain examples that I didn’t quite understand)
Uncertainty: that’s why the Zerg rush is there. Anything is possible in the first few minutes of the game. A rush is always going to be possible at some point in the game: so why push out the possibility away from the start?
Those are the core values; now on to ripple effects.
Story: as discussed above, units on screen are smaller than would be ideal for narrative purposes. So they exaggerate in the other direction in story art, so you’ll be able to imagine how cool the units are. Similarly, units are tiny ants on the battlefield, so make them over-the-top characters in story mode.
Solo tech: they had cool, fun units, but they overlapped with other units. So they weren’t suitable for e-sport usage, but still valuable content.
Missions: the narrative arc for the e-sport is exposition (scouting), complication (early battles), climax (deciding battle), resolution (gg, post-game analysis). With single player, though, it didn’t work the same way: a real cost to losing an individual battle, so players would play defensively until they had an overwhelming advantage, at which point there would be a long mop-up period. So they added in lots of different mechanics to the single-player game, to shift the narrative arc. E.g. outbreak: night = terror, day = payback. (Still too much mop-up, though.)
11:00am–12:00pm: “Hybrid Orchestration – Scoring Need for Speed“, by Troels Folmann and Charles Deenen
They’re talking about Need for Speed Shift 2: Unleashed.
Charles started:
Development wants cinematic Gladiator-liked score. Marketing wants youth-relevant licensed songs. Traditionally, you separate these two; they decided to merge them into a single hybrid score. Take very popular tracks, reorchestrate / rescore them.
Different music styles: epic = driver’s win, dirty = battle, two others that I didn’t catch in time. (Surreal = preparation, I think, and then special purpose for full-motion-video?)
They did a concept with a single 30 Seconds to Mars track; worked surprisingly well. So let’s go with it! But required signoffs from lots of different people; and its a huge amount of work even with the bare minimum of 10 songs. And very tight pipeline, with serious risk of having signoffs denied late in the process.
They decided to start with a test bed to get early approval from one of the bands, to reduce risk. They had different composers produce sample orchestrations in the different styles, to see what would work. (Same audio tracks, but everything else was different.) Made about 20; sent top 7-8 to band.
And, fortunately, the band really liked it! Kept feeling of the song while reinterpreting it in really cool ways. This helped convince execs and other bands, too. (Eventually, all 10 targeted bands signed off.)
Now Troels speaking:
The Four Noble Truths: everything is suffering, suffering arises from attachment to desires, … (Ed.: one of the more unexpected slides I’ve seen in a GDC presentation.)
And: what does “hybrid” mean? One important consequence: don’t follow a traditional song structure; this is hard! Also, refine concepts: epic alone isn’t good enough: need epic clean, epic emotion. So a specific hybridization for this project.
(Previous example: mismatch between sound, game. Kill your darlings, listen to client / game. Surprised he was invited back.)
Created a template for this hybridization. Focused on percussive elements, also mention of strings and brass that I didn’t understand. (And what is “RMX and deep-sampled percussion”?) Ethnic choirs, custom signature samples.
First example: “Night of the Hunter” by 30 Seconds to Mars. Showed various refinements, …
Second: “Issues”, Escape the Fate. Lots of revisions. What’s the right number of revisions? 7 was definitely too much.
So he hit the wall. How to overcome this? Communicate; find personal joy; make mockups; face the wall; ignore the wall. Took the last strategy: took three days off completely. Sat in his garden, recorded bees, turned them into different songs. (Hi-hat, Hammond, …) Made a pretty amazing video out of it. Also tried various objects: crowbar, light bulbs, coffee pot, playground poles.
Third: “Take a Load Off”, Stone Temple Pilots. Went a lot faster this time, only a few revisions.
Fourth: (unreleased song) 7 revisions, but all small, so not a big deal.
Back to Charles.
Postproduction. Increased clarity, better instrument and frequency separation, more TV-friendly sound, even composer agreed it was worth it.
Post-mortem: how to approach hybrid? Create template, ensure everything connects textually, identify signature sounds, identify rhythmic elements that merge with orchestral and synth elements.
12:30pm–1:30pm: “The Game Design Challenge 2011: Bigger than Jesus”, by John Romero, Jason Rohrer, Eric Zimmerman, and Jenova Chen
Eric Zimmerman (moderator). For this year’s theme, he wanted to merge games and religion: create a game that could be a religion. (Not about religion: the game itself and the act of playing should be a religion.)
Jason Rohrer
Chain World: A humanistic video game religion that someone will play today. Religions used to try to explain physical mysteries; that role has been usurped by science and technology recently. He talks about a detour that I-77 had to take around a town in Ohio because of a fight his grandfather led. Talks more about visiting that town, about things his grandfather allegedly said. Lots of details about his grandfather that he doesn’t really know whether or not they’re true: his grandfather is turning more into a saint-like figure. We become like gods to those who come after us.
His game idea: you control a world, then pass it on to the next player. Game designer is god, he passes the start state to the player, leading to an end state. But what if your end states somebody else’s start state? Each player is like a god to the next.
You want to do this in a game where modifications don’t screw up the playing field for the next player. (So not like Mario, where you modify the world by destroying blocks.) Players might have intent for how they want to modify the world for the next player; players might wonder what the previous player intended with an aspect of the world.
That’s the frame idea; what’s the actual game? Minecraft! A specific world on a specific USB stick. Play the game, don’t erect signs with text, play until you die. Save, pass it on, never play again.
John Romero
What is a religion? Deity, worshippers, devotion. In the beginning, there were lots of gods, one true god emerged @God6502; he had a son @Messiah6502. Follow him on Twitter: first twelve followers are his apostles. They come down to the front of the room; quite a distinguished bunch. Each gets a pad of sticky notes, to gather followers.
The winner: the apostle with the most miracles: some of the sticky notes have star markers. (@SquirrelTweets) But: to win the game, you must kill him, John Romero. (Doom image.)
Jenova Chen
He’s Chinese, so supposed to be an atheist. Did lots of research. Chinese believe in gods, but not the same sort of belief that you see in modern religions: a god is an unknown, a value. Dao = way of life, how to live. Recent China: socialism, then developmentism, then consumerism. These three are all about being happy, which seems fairly fundamental. Or: belief in something bigger.
Inspiration: Campbell, Csíkszentmihályi, Darwin.
What drives happiness? Money is useful at first, but beyond a certain level more money is irrelevant. Hierarchy of needs: top is self-actualization, not addressed by money.
At the end of the hero’s journey, he returns, giving something back to the community.
What is our purpose? He wants one that works for primitive humans, even for nonhumans. Circle of life: propagation is the more interesting part. These days, propagation of ideas is more important.
But what ideas should we propagate? Evolution says: look at the ones that survive, refine them. How does selection happen? Unknown: god. (Editorial note: not really, no…)
TED: Ideas worth spreading. But they’re not good game designers: the website is very passive, even the slogan is. TED: Influence with your ideas. No ranking for videos: rank by view count, or better by number of people inspired by them. Give each video a page, showing whom you’re influencing. Twitter follower count, badges in a Chinese twitter-like site.
Badges alone aren’t a game: you need a feedback loop. So: badges / points lead to promotion system that help draw other people to watch your video.
Propagationism.
(Rohrer won.)
2:00pm–3:00pm: “An Apology for Roger Ebert”, by Brian Moriarty
“I am, in fact, Professor Moriarty.” This is an apology not in the sense of anything done wrong, but in the sense of a defense.
(Discussion of 2005 Ebert article, 2010 flaring up of the argument.)
Why return to this? He wants to discuss Ebert’s claim that there isn’t a game worth of comparison with the treasures of world literature, movies, music, paintings.
Discussion of painting: Northcote, Chess Players, c1730. Two chess players: the game industry, self absorbed, satisfied. The golden boy is art itself, looking at us, pointing at a paper containing his secrets.
Read lots of art history; never saw games mentioned as art. (Ed. Nobody stood up for go? Oy.) Math is elegant, but nobody confuses mathematics with art, they’re different categories! Considering games as art is radical; then again, the idea of great works of art is also radical, only 500 years old.
Photography, movies entered realms of art relatively recently; why shouldn’t video games? Because games are old: if chess and go aren’t art, why should video games be?
Interlude: we know what video games are. But we don’t know how to define art, let alone great art. C.f. Duchamp urinal. Also, games can clearly contain great art from other media. But that’s not enough: mechanics and affordances are key. Can mechanics and affordances be considered art?
(Taste, intersubjectivity. Not all movies are Art.)
Eliciting emotion isn’t enough for art. Art is about attraction. (Ed. really??) But how to distinguish sublime art?
Kitsch. Is it art? Somebody claims: yes, art with three characteristics. Highly charged with stock emotions. Instantly and effortlessly recognizable. Does not enrich our associations. Nearly all popular art is kitsch. (Bombast: all adaptations are kitsch? Oy.)
More on games as kitsch, whee.
Celebration of kitsch = camp. Ultimately an evasive strategy.
Big studios won’t make art. Indies won’t. Who will make art? Those who would make art anyways: the artists. Warning: don’t just follow the trappings, then you’ll get something arty.
Technology of film largely stable for more than 100 years.
Structural reasons why games won’t produce sublime art. Ebert talks about direction of artist, inevitability of meaning. (Oy.) Romantic point of view. Schopenhauer: free will and individual choice are illusions, desire a prison. Leap off the wheel of desire via the contemplation of sublime art. Transcends will, frees us from agony of contingency and causality.
“Flow is an an-aesthetic.”
If the purpose of sublime art is to solve the mystery of choice, then …
Sublime art is the still evocation of the inexpressible.
All sublime art is devotional.
3:30pm–4:30pm: “Message Queuing on a Large Scale: IMVU’s Stateful Event Architecture”, by Jon Watte
Want: any-to-any messaging with ad-hoc structure. Lightweight (in-memory) state maintenance. Added queues as a building block, with two kinds of messaging: events and states. Integrated into a bigger system.
User to queue: connect, listen, send. Queue to game server: validate users/requests, notification. Game server to queue (didn’t catch it).
Design goal of 1M simultaneous users. (10x current use.) Real-time, meaning 100ms end-to-end. 20M queue creations/day.
Existing solutions didn’t work. (Wished they could buy Gtalk, AIM, etc. solutions!) Inspired by mochiweb: 1M users on a single machine, written in Erlang.
Implementation.
(Journey of a Message diagram: send to queue, validate, forward to other users listening to queue.)
Queue: multiple mounts (chat – message; scores – state; subscriber list).
One machine isn’t enough: doing some math on volumes and memory speed, would take over 3 seconds per message. So need to scale across machines.
Scale in two dimensions: gateway machines and queue machines, connected via a consistent hashing mechanism that allows moving chunks of queues via a central map of buckets to nodes.
Erlang. I’ll skip the details, but: basically, custom designed to solve their problem.
(Dozed off some: load balancing; marshaling via protocol buffers.)
Have a boss node keeping track of what gateway, queue nodes are doing. Looks like a single point of failure, but things keep running without it, you just can’t add more nodes until the boss is restarted.
Message could go out via a different node than where it entered; led to time skew. So sent messages out via entry node.
Hot add node diagram: make sure to forward messages while move is in process.
Problem cases. User goes silent; detect via ping. Reconnection of user, possibly to a different gateway: user-specific queue arbitrates. Node crashes (yet to happen in production, go Erlang!): state is ephemeral, user might get logged out. Gateway crashes: client reconnects, gets resent missed updates, application above queue API doesn’t notice. Sometimes want reliable messages; higher level API stores it in database. Firewalls: use proprietary protocol on port 80/443.
Build and test. Continuous integration, continuous deployment. Erlang supports in-place code updates, but too heavy for them; use failover instead.
Future: replication; scalability limits; open source what they can.
Post Revisions:
- July 14, 2011 @ 21:41:39 [Current Revision] by David Carlton
- March 14, 2011 @ 20:41:04 by David Carlton
- March 11, 2011 @ 18:10:30 by David Carlton
- March 5, 2011 @ 17:34:41 by David Carlton
- March 5, 2011 @ 17:34:14 by David Carlton
- March 5, 2011 @ 10:51:10 by David Carlton
- March 5, 2011 @ 10:50:59 by David Carlton
Changes:
March 5, 2011 @ 10:51:10 | Current Revision | ||
---|---|---|---|
Content | |||
Unchanged: <ul> | Unchanged: <ul> | ||
Unchanged: <li><a href="#browder">The Game Design of Starcraft II: Designing an E-Sport</a></li> | Unchanged: <li><a href="#browder">The Game Design of Starcraft II: Designing an E-Sport</a></li> | ||
Unchanged: <li><a href="#need-for- speed">Hybrid Orchestration – Scoring Need for Speed</a></li> | Unchanged: <li><a href="#need-for- speed">Hybrid Orchestration – Scoring Need for Speed</a></li> | ||
Unchanged: <li><a href="#game-design- challenge">The Game Design Challenge 2011: Bigger than Jesus</a></li> | Unchanged: <li><a href="#game-design- challenge">The Game Design Challenge 2011: Bigger than Jesus</a></li> | ||
Unchanged: <li><a href="#moriarty">An Apology for Roger Ebert</a></li> | Unchanged: <li><a href="#moriarty">An Apology for Roger Ebert</a></li> | ||
Unchanged: <li><a href="#watte">Message Queuing on a Large Scale: IMVU’s Stateful Event Architecture</a></li> | Unchanged: <li><a href="#watte">Message Queuing on a Large Scale: IMVU’s Stateful Event Architecture</a></li> | ||
Unchanged: </ul> | Unchanged: </ul> | ||
Unchanged: <h3><a name="browder" >9:30am–10:30am: </a><a href="http:// schedule.gdconf.com/ session/12248">"The Game Design of <cite>Starcraft II</cite>: Designing an E-Sport"</a>, by Dustin Browder</h3> | Unchanged: <h3><a name="browder" >9:30am–10:30am: </a><a href="http:// schedule.gdconf.com/ session/12248">"The Game Design of <cite>Starcraft II</cite>: Designing an E-Sport"</a>, by Dustin Browder</h3> | ||
Unchanged: 2005. <cite>Dawn of War</cite> just shipped: 4 sides, 63+ units, with more to come. <cite>Supreme Commander</cite> about to ship: 4 sides 100+ units. <cite>Starcraft 2</cite> planned with 3 sides, 45 units. (Some of which are effectively identical!) | Unchanged: 2005. <cite>Dawn of War</cite> just shipped: 4 sides, 63+ units, with more to come. <cite>Supreme Commander</cite> about to ship: 4 sides 100+ units. <cite>Starcraft 2</cite> planned with 3 sides, 45 units. (Some of which are effectively identical!) | ||
Unchanged: This sounded crazy to him: units = choices = gameplay = fun. They need more! | Unchanged: This sounded crazy to him: units = choices = gameplay = fun. They need more! | ||
Unchanged: The response: this is an e-sport. That's new, hard to do. Think of this as "basketball 2". That means it needs to be: watchable: clear, simple, skill-based, uncertain. | Unchanged: The response: this is an e-sport. That's new, hard to do. Think of this as "basketball 2". That means it needs to be: watchable: clear, simple, skill-based, uncertain. | ||
Deleted: Let's drill down into these. "Clear" is why the artists hate him. He gives an example of an ultralisk: it's not nearly as impressive as it could be, it would look a lot better if it were bigger. But if he did that, it would hide smaller units (he showed it hiding 20 zerglings), destroying clarity/readability. Especially important in the case of effects: you don't want them making an | Added: Let's drill down into these. "Clear" is why the artists hate him. He gives an example of an ultralisk: it's not nearly as impressive as it could be, it would look a lot better if it were bigger. But if he did that, it would hide smaller units (he showed it hiding 20 zerglings), destroying clarity/readability. Especially important in the case of effects: you don't want them making an imprecise light show all over the screen, you want to know exactly who is affected and whether it succeeded. | ||
Unchanged: Simple: minimum number of units. For <cite>Starcraft</cite>, 12-15 units per race. Too many and viewers are confused, pros have to guess, and some units end up functioning as reskins. But: you still need tons of choices with that small number of units. They started by just experimenting with movers and shooters, fiddling with the stats to bring out differences. (Including area of influence, how they move.) | Unchanged: Simple: minimum number of units. For <cite>Starcraft</cite>, 12-15 units per race. Too many and viewers are confused, pros have to guess, and some units end up functioning as reskins. But: you still need tons of choices with that small number of units. They started by just experimenting with movers and shooters, fiddling with the stats to bring out differences. (Including area of influence, how they move.) | ||
Unchanged: Interlude on upgrades. Banelings are better than marines; but marines + stim are better than marines. So upgrades don't just make a unit more like itself, they flip relationships. (And that relationship can get flipped again with a handling upgrade.) Or the roach can be upgraded in two different ways: 1 unit, 3 uses. | Unchanged: Interlude on upgrades. Banelings are better than marines; but marines + stim are better than marines. So upgrades don't just make a unit more like itself, they flip relationships. (And that relationship can get flipped again with a handling upgrade.) Or the roach can be upgraded in two different ways: 1 unit, 3 uses. | ||
Unchanged: Skill: micromanagement is important to them. It's part of the game: an RTS isn't just a really fast turn-based game. (Also, micromanagement is fun to watch, important for a sport!) And it allows for degrees of skill, degrees of success/failure. Force field example: easy to use it at a choke point; hard to use it to protect a group on the field; still harder to use it to split an opponent force. (And you can do any of these better or worse: a better player won't leave as many gaps between force fields.) | Unchanged: Skill: micromanagement is important to them. It's part of the game: an RTS isn't just a really fast turn-based game. (Also, micromanagement is fun to watch, important for a sport!) And it allows for degrees of skill, degrees of success/failure. Force field example: easy to use it at a choke point; hard to use it to protect a group on the field; still harder to use it to split an opponent force. (And you can do any of these better or worse: a better player won't leave as many gaps between force fields.) | ||
Unchanged: (Flanking and terrain examples that I didn't quite understand) | Unchanged: (Flanking and terrain examples that I didn't quite understand) | ||
Unchanged: Uncertainty: that's why the Zerg rush is there. Anything is possible in the first few minutes of the game. A rush is always going to be possible at some point in the game: so why push out the possibility away from the start? | Unchanged: Uncertainty: that's why the Zerg rush is there. Anything is possible in the first few minutes of the game. A rush is always going to be possible at some point in the game: so why push out the possibility away from the start? | ||
Unchanged: Those are the core values; now on to ripple effects. | Unchanged: Those are the core values; now on to ripple effects. | ||
Unchanged: Story: as discussed above, units on screen are smaller than would be ideal for narrative purposes. So they exaggerate in the other direction in story art, so you'll be able to imagine how cool the units are. Similarly, units are tiny ants on the battlefield, so make them over-the-top characters in story mode. | Unchanged: Story: as discussed above, units on screen are smaller than would be ideal for narrative purposes. So they exaggerate in the other direction in story art, so you'll be able to imagine how cool the units are. Similarly, units are tiny ants on the battlefield, so make them over-the-top characters in story mode. | ||
Unchanged: Solo tech: they had cool, fun units, but they overlapped with other units. So they weren't suitable for e-sport usage, but still valuable content. | Unchanged: Solo tech: they had cool, fun units, but they overlapped with other units. So they weren't suitable for e-sport usage, but still valuable content. | ||
Unchanged: Missions: the narrative arc for the e-sport is exposition (scouting), complication (early battles), climax (deciding battle), resolution (gg, post-game analysis). With single player, though, it didn't work the same way: a real cost to losing an individual battle, so players would play defensively until they had an overwhelming advantage, at which point there would be a long mop-up period. So they added in lots of different mechanics to the single-player game, to shift the narrative arc. E.g. outbreak: night = terror, day = payback. (Still too much mop-up, though.) | Unchanged: Missions: the narrative arc for the e-sport is exposition (scouting), complication (early battles), climax (deciding battle), resolution (gg, post-game analysis). With single player, though, it didn't work the same way: a real cost to losing an individual battle, so players would play defensively until they had an overwhelming advantage, at which point there would be a long mop-up period. So they added in lots of different mechanics to the single-player game, to shift the narrative arc. E.g. outbreak: night = terror, day = payback. (Still too much mop-up, though.) | ||
Unchanged: <h3><a name="need-for- speed">11:00am–12:00pm: </a><a href="http:// schedule.gdconf.com/session/ 12420">"Hybrid Orchestration - Scoring <cite>Need for Speed</cite>"</a>, by Troels Folmann and Charles Deenen</h3> | Unchanged: <h3><a name="need-for- speed">11:00am–12:00pm: </a><a href="http:// schedule.gdconf.com/session/ 12420">"Hybrid Orchestration - Scoring <cite>Need for Speed</cite>"</a>, by Troels Folmann and Charles Deenen</h3> | ||
Unchanged: They're talking about <cite>Need for Speed Shift 2: Unleashed</cite>. | Unchanged: They're talking about <cite>Need for Speed Shift 2: Unleashed</cite>. | ||
Unchanged: Charles started: | Unchanged: Charles started: | ||
Unchanged: Development wants cinematic <cite>Gladiator< /cite>-liked score. Marketing wants youth-relevant licensed songs. Traditionally, you separate these two; they decided to merge them into a single hybrid score. Take very popular tracks, reorchestrate / rescore them. | Unchanged: Development wants cinematic <cite>Gladiator< /cite>-liked score. Marketing wants youth-relevant licensed songs. Traditionally, you separate these two; they decided to merge them into a single hybrid score. Take very popular tracks, reorchestrate / rescore them. | ||
Unchanged: Different music styles: epic = driver's win, dirty = battle, two others that I didn't catch in time. (Surreal = preparation, I think, and then special purpose for full-motion-video?) | Unchanged: Different music styles: epic = driver's win, dirty = battle, two others that I didn't catch in time. (Surreal = preparation, I think, and then special purpose for full-motion-video?) | ||
Unchanged: They did a concept with a single 30 Seconds to Mars track; worked surprisingly well. So let's go with it! But required signoffs from lots of different people; and its a huge amount of work even with the bare minimum of 10 songs. And very tight pipeline, with serious risk of having signoffs denied late in the process. | Unchanged: They did a concept with a single 30 Seconds to Mars track; worked surprisingly well. So let's go with it! But required signoffs from lots of different people; and its a huge amount of work even with the bare minimum of 10 songs. And very tight pipeline, with serious risk of having signoffs denied late in the process. | ||
Unchanged: They decided to start with a test bed to get early approval from one of the bands, to reduce risk. They had different composers produce sample orchestrations in the different styles, to see what would work. (Same audio tracks, but everything else was different.) Made about 20; sent top 7-8 to band. | Unchanged: They decided to start with a test bed to get early approval from one of the bands, to reduce risk. They had different composers produce sample orchestrations in the different styles, to see what would work. (Same audio tracks, but everything else was different.) Made about 20; sent top 7-8 to band. | ||
Unchanged: And, fortunately, the band really liked it! Kept feeling of the song while reinterpreting it in really cool ways. This helped convince execs and other bands, too. (Eventually, all 10 targeted bands signed off.) | Unchanged: And, fortunately, the band really liked it! Kept feeling of the song while reinterpreting it in really cool ways. This helped convince execs and other bands, too. (Eventually, all 10 targeted bands signed off.) | ||
Unchanged: Now Troels speaking: | Unchanged: Now Troels speaking: | ||
Unchanged: The Four Noble Truths: everything is suffering, suffering arises from attachment to desires, ... (Ed.: one of the more unexpected slides I've seen in a GDC presentation.) | Unchanged: The Four Noble Truths: everything is suffering, suffering arises from attachment to desires, ... (Ed.: one of the more unexpected slides I've seen in a GDC presentation.) | ||
Unchanged: And: what does "hybrid" mean? One important consequence: don't follow a traditional song structure; this is hard! Also, refine concepts: epic alone isn't good enough: need epic clean, epic emotion. So a specific hybridization for this project. | Unchanged: And: what does "hybrid" mean? One important consequence: don't follow a traditional song structure; this is hard! Also, refine concepts: epic alone isn't good enough: need epic clean, epic emotion. So a specific hybridization for this project. | ||
Unchanged: (Previous example: mismatch between sound, game. Kill your darlings, listen to client / game. Surprised he was invited back.) | Unchanged: (Previous example: mismatch between sound, game. Kill your darlings, listen to client / game. Surprised he was invited back.) | ||
Unchanged: Created a template for this hybridization. Focused on percussive elements, also mention of strings and brass that I didn't understand. (And what is "RMX and deep-sampled percussion"?) Ethnic choirs, custom signature samples. | Unchanged: Created a template for this hybridization. Focused on percussive elements, also mention of strings and brass that I didn't understand. (And what is "RMX and deep-sampled percussion"?) Ethnic choirs, custom signature samples. | ||
Unchanged: First example: "Night of the Hunter" by 30 Seconds to Mars. Showed various refinements, ... | Unchanged: First example: "Night of the Hunter" by 30 Seconds to Mars. Showed various refinements, ... | ||
Unchanged: Second: "Issues", Escape the Fate. Lots of revisions. What's the right number of revisions? 7 was definitely too much. | Unchanged: Second: "Issues", Escape the Fate. Lots of revisions. What's the right number of revisions? 7 was definitely too much. | ||
Unchanged: So he hit the wall. How to overcome this? Communicate; find personal joy; make mockups; face the wall; ignore the wall. Took the last strategy: took three days off completely. Sat in his garden, recorded bees, turned them into different songs. (Hi-hat, Hammond, ...) Made a pretty amazing video out of it. Also tried various objects: crowbar, light bulbs, coffee pot, playground poles. | Unchanged: So he hit the wall. How to overcome this? Communicate; find personal joy; make mockups; face the wall; ignore the wall. Took the last strategy: took three days off completely. Sat in his garden, recorded bees, turned them into different songs. (Hi-hat, Hammond, ...) Made a pretty amazing video out of it. Also tried various objects: crowbar, light bulbs, coffee pot, playground poles. | ||
Unchanged: Third: "Take a Load Off", Stone Temple Pilots. Went a lot faster this time, only a few revisions. | Unchanged: Third: "Take a Load Off", Stone Temple Pilots. Went a lot faster this time, only a few revisions. | ||
Unchanged: Fourth: (unreleased song) 7 revisions, but all small, so not a big deal. | Unchanged: Fourth: (unreleased song) 7 revisions, but all small, so not a big deal. | ||
Unchanged: Back to Charles. | Unchanged: Back to Charles. | ||
Unchanged: Postproduction. Increased clarity, better instrument and frequency separation, more TV-friendly sound, even composer agreed it was worth it. | Unchanged: Postproduction. Increased clarity, better instrument and frequency separation, more TV-friendly sound, even composer agreed it was worth it. | ||
Unchanged: Post-mortem: how to approach hybrid? Create template, ensure everything connects textually, identify signature sounds, identify rhythmic elements that merge with orchestral and synth elements. | Unchanged: Post-mortem: how to approach hybrid? Create template, ensure everything connects textually, identify signature sounds, identify rhythmic elements that merge with orchestral and synth elements. | ||
Unchanged: <h3><a name="game-design- challenge">12: 30pm–1:30pm: </a><a href="http:// schedule.gdconf.com/ session/12287">"The Game Design Challenge 2011: Bigger than Jesus"</a>, by John Romero, Jason Rohrer, Eric Zimmerman, and Jenova Chen</h3> | Unchanged: <h3><a name="game-design- challenge">12: 30pm–1:30pm: </a><a href="http:// schedule.gdconf.com/ session/12287">"The Game Design Challenge 2011: Bigger than Jesus"</a>, by John Romero, Jason Rohrer, Eric Zimmerman, and Jenova Chen</h3> | ||
Unchanged: Eric Zimmerman (moderator). For this year's theme, he wanted to merge games and religion: create a game that could be a religion. (Not about religion: the game itself and the act of playing should be a religion.) | Unchanged: Eric Zimmerman (moderator). For this year's theme, he wanted to merge games and religion: create a game that could be a religion. (Not about religion: the game itself and the act of playing should be a religion.) | ||
Unchanged: Jason Rohrer | Unchanged: Jason Rohrer | ||
Unchanged: <cite>Chain World</cite>: A humanistic video game religion that someone will play today. Religions used to try to explain physical mysteries; that role has been usurped by science and technology recently. He talks about a detour that I-77 had to take around a town in Ohio because of a fight his grandfather led. Talks more about visiting that town, about things his grandfather allegedly said. Lots of details about his grandfather that he doesn't really know whether or not they're true: his grandfather is turning more into a saint-like figure. We become like gods to those who come after us. | Unchanged: <cite>Chain World</cite>: A humanistic video game religion that someone will play today. Religions used to try to explain physical mysteries; that role has been usurped by science and technology recently. He talks about a detour that I-77 had to take around a town in Ohio because of a fight his grandfather led. Talks more about visiting that town, about things his grandfather allegedly said. Lots of details about his grandfather that he doesn't really know whether or not they're true: his grandfather is turning more into a saint-like figure. We become like gods to those who come after us. | ||
Unchanged: His game idea: you control a world, then pass it on to the next player. Game designer is god, he passes the start state to the player, leading to an end state. But what if your end states somebody else's start state? Each player is like a god to the next. | Unchanged: His game idea: you control a world, then pass it on to the next player. Game designer is god, he passes the start state to the player, leading to an end state. But what if your end states somebody else's start state? Each player is like a god to the next. | ||
Unchanged: You want to do this in a game where modifications don't screw up the playing field for the next player. (So not like <cite>Mario</cite>, where you modify the world by destroying blocks.) Players might have intent for how they want to modify the world for the next player; players might wonder what the previous player intended with an aspect of the world. | Unchanged: You want to do this in a game where modifications don't screw up the playing field for the next player. (So not like <cite>Mario</cite>, where you modify the world by destroying blocks.) Players might have intent for how they want to modify the world for the next player; players might wonder what the previous player intended with an aspect of the world. | ||
Unchanged: That's the frame idea; what's the actual game? <cite>Minecraft</cite>! A specific world on a specific USB stick. Play the game, don't erect signs with text, play until you die. Save, pass it on, never play again. | Unchanged: That's the frame idea; what's the actual game? <cite>Minecraft</cite>! A specific world on a specific USB stick. Play the game, don't erect signs with text, play until you die. Save, pass it on, never play again. | ||
Unchanged: John Romero | Unchanged: John Romero | ||
Unchanged: What is a religion? Deity, worshippers, devotion. In the beginning, there were lots of gods, one true god emerged <a href="http:// twitter.com/#!/ God6502">@God6502</a>; he had a son <a href="http:// twitter.com/#!/ Messiah6502" >@Messiah6502</a>. Follow him on Twitter: first twelve followers are his apostles. They come down to the front of the room; quite a distinguished bunch. Each gets a pad of sticky notes, to gather followers. | Unchanged: What is a religion? Deity, worshippers, devotion. In the beginning, there were lots of gods, one true god emerged <a href="http:// twitter.com/#!/ God6502">@God6502</a>; he had a son <a href="http:// twitter.com/#!/ Messiah6502" >@Messiah6502</a>. Follow him on Twitter: first twelve followers are his apostles. They come down to the front of the room; quite a distinguished bunch. Each gets a pad of sticky notes, to gather followers. | ||
Unchanged: The winner: the apostle with the most miracles: some of the sticky notes have star markers. (<a href="http:// twitter.com/#!/ SquirrelTweets" >@SquirrelTweets</a>) But: to win the game, you must kill him, John Romero. (<cite>Doom</cite> image.) | Unchanged: The winner: the apostle with the most miracles: some of the sticky notes have star markers. (<a href="http:// twitter.com/#!/ SquirrelTweets" >@SquirrelTweets</a>) But: to win the game, you must kill him, John Romero. (<cite>Doom</cite> image.) | ||
Unchanged: Jenova Chen | Unchanged: Jenova Chen | ||
Added: <a href="http:// jenovachen.com/temp/GDC11/ GameDesignChallenge2011.pdf">Here are his slides.</a> | |||
Unchanged: He's Chinese, so supposed to be an atheist. Did lots of research. Chinese believe in gods, but not the same sort of belief that you see in modern religions: a god is an unknown, a value. Dao = way of life, how to live. Recent China: socialism, then developmentism, then consumerism. These three are all about being happy, which seems fairly fundamental. Or: belief in something bigger. | Unchanged: He's Chinese, so supposed to be an atheist. Did lots of research. Chinese believe in gods, but not the same sort of belief that you see in modern religions: a god is an unknown, a value. Dao = way of life, how to live. Recent China: socialism, then developmentism, then consumerism. These three are all about being happy, which seems fairly fundamental. Or: belief in something bigger. | ||
Unchanged: Inspiration: Campbell, Csíkszentmihályi, Darwin. | Unchanged: Inspiration: Campbell, Csíkszentmihályi, Darwin. | ||
Unchanged: What drives happiness? Money is useful at first, but beyond a certain level more money is irrelevant. Hierarchy of needs: top is self-actualization, not addressed by money. | Unchanged: What drives happiness? Money is useful at first, but beyond a certain level more money is irrelevant. Hierarchy of needs: top is self-actualization, not addressed by money. | ||
Unchanged: At the end of the hero's journey, he returns, giving something back to the community. | Unchanged: At the end of the hero's journey, he returns, giving something back to the community. | ||
Unchanged: What is our purpose? He wants one that works for primitive humans, even for nonhumans. Circle of life: propagation is the more interesting part. These days, propagation of ideas is more important. | Unchanged: What is our purpose? He wants one that works for primitive humans, even for nonhumans. Circle of life: propagation is the more interesting part. These days, propagation of ideas is more important. | ||
Unchanged: But what ideas should we propagate? Evolution says: look at the ones that survive, refine them. How does selection happen? Unknown: god. (Editorial note: not really, no...) | Unchanged: But what ideas should we propagate? Evolution says: look at the ones that survive, refine them. How does selection happen? Unknown: god. (Editorial note: not really, no...) | ||
Unchanged: TED: Ideas worth spreading. But they're not good game designers: the website is very passive, even the slogan is. TED: Influence with your ideas. No ranking for videos: rank by view count, or better by number of people inspired by them. Give each video a page, showing whom you're influencing. Twitter follower count, badges in a Chinese twitter-like site. | Unchanged: TED: Ideas worth spreading. But they're not good game designers: the website is very passive, even the slogan is. TED: Influence with your ideas. No ranking for videos: rank by view count, or better by number of people inspired by them. Give each video a page, showing whom you're influencing. Twitter follower count, badges in a Chinese twitter-like site. | ||
Unchanged: Badges alone aren't a game: you need a feedback loop. So: badges / points lead to promotion system that help draw other people to watch your video. | Unchanged: Badges alone aren't a game: you need a feedback loop. So: badges / points lead to promotion system that help draw other people to watch your video. | ||
Unchanged: Propagationism. | Unchanged: Propagationism. | ||
Unchanged: (Rohrer won.) | Unchanged: (Rohrer won.) | ||
Unchanged: <h3><a name="moriarty" >2:00pm–3:00pm: </a><a href="http:// schedule.gdconf.com/ session/12430">"An Apology for Roger Ebert"</a>, by Brian Moriarty</h3> | Unchanged: <h3><a name="moriarty" >2:00pm–3:00pm: </a><a href="http:// schedule.gdconf.com/ session/12430">"An Apology for Roger Ebert"</a>, by Brian Moriarty</h3> | ||
Added: (<a href="http:// www.ludix.com/ moriarty/apology.html">Here's the text of Moriarty's talk.</a>) | |||
Unchanged: "I am, in fact, Professor Moriarty." This is an apology not in the sense of anything done wrong, but in the sense of a defense. | Unchanged: "I am, in fact, Professor Moriarty." This is an apology not in the sense of anything done wrong, but in the sense of a defense. | ||
Unchanged: (Discussion of 2005 Ebert article, 2010 flaring up of the argument.) | Unchanged: (Discussion of 2005 Ebert article, 2010 flaring up of the argument.) | ||
Unchanged: Why return to this? He wants to discuss Ebert's claim that there isn't a game worth of comparison with the treasures of world literature, movies, music, paintings. | Unchanged: Why return to this? He wants to discuss Ebert's claim that there isn't a game worth of comparison with the treasures of world literature, movies, music, paintings. | ||
Unchanged: Discussion of painting: <a href="http:// www.flickr.com/ photos/9739200@N08/ 5104405613/">Northcote, Chess Players</a>, c1730. Two chess players: the game industry, self absorbed, satisfied. The golden boy is art itself, looking at us, pointing at a paper containing his secrets. | Unchanged: Discussion of painting: <a href="http:// www.flickr.com/ photos/9739200@N08/ 5104405613/">Northcote, Chess Players</a>, c1730. Two chess players: the game industry, self absorbed, satisfied. The golden boy is art itself, looking at us, pointing at a paper containing his secrets. | ||
Unchanged: Read lots of art history; never saw games mentioned as art. (Ed. Nobody stood up for go? Oy.) Math is elegant, but nobody confuses mathematics with art, they're different categories! Considering games as art is radical; then again, the idea of great works of art is also radical, only 500 years old. | Unchanged: Read lots of art history; never saw games mentioned as art. (Ed. Nobody stood up for go? Oy.) Math is elegant, but nobody confuses mathematics with art, they're different categories! Considering games as art is radical; then again, the idea of great works of art is also radical, only 500 years old. | ||
Unchanged: Photography, movies entered realms of art relatively recently; why shouldn't video games? Because games are old: if chess and go aren't art, why should video games be? | Unchanged: Photography, movies entered realms of art relatively recently; why shouldn't video games? Because games are old: if chess and go aren't art, why should video games be? | ||
Unchanged: Interlude: we know what video games are. But we don't know how to define art, let alone great art. C.f. Duchamp urinal. Also, games can clearly contain great art from other media. But that's not enough: mechanics and affordances are key. Can mechanics and affordances be considered art? | Unchanged: Interlude: we know what video games are. But we don't know how to define art, let alone great art. C.f. Duchamp urinal. Also, games can clearly contain great art from other media. But that's not enough: mechanics and affordances are key. Can mechanics and affordances be considered art? | ||
Unchanged: (Taste, intersubjectivity. Not all movies are Art.) | Unchanged: (Taste, intersubjectivity. Not all movies are Art.) | ||
Unchanged: Eliciting emotion isn't enough for art. Art is about attraction. (Ed. really??) But how to distinguish sublime art? | Unchanged: Eliciting emotion isn't enough for art. Art is about attraction. (Ed. really??) But how to distinguish sublime art? | ||
Unchanged: Kitsch. Is it art? Somebody claims: yes, art with three characteristics. Highly charged with stock emotions. Instantly and effortlessly recognizable. Does not enrich our associations. Nearly all popular art is kitsch. (Bombast: all adaptations are kitsch? Oy.) | Unchanged: Kitsch. Is it art? Somebody claims: yes, art with three characteristics. Highly charged with stock emotions. Instantly and effortlessly recognizable. Does not enrich our associations. Nearly all popular art is kitsch. (Bombast: all adaptations are kitsch? Oy.) | ||
Unchanged: More on games as kitsch, whee. | Unchanged: More on games as kitsch, whee. | ||
Unchanged: Celebration of kitsch = camp. Ultimately an evasive strategy. | Unchanged: Celebration of kitsch = camp. Ultimately an evasive strategy. | ||
Unchanged: Big studios won't make art. Indies won't. Who will make art? Those who would make art anyways: the artists. Warning: don't just follow the trappings, then you'll get something arty. | Unchanged: Big studios won't make art. Indies won't. Who will make art? Those who would make art anyways: the artists. Warning: don't just follow the trappings, then you'll get something arty. | ||
Unchanged: Technology of film largely stable for more than 100 years. | Unchanged: Technology of film largely stable for more than 100 years. | ||
Unchanged: Structural reasons why games won't produce sublime art. Ebert talks about direction of artist, inevitability of meaning. (Oy.) Romantic point of view. Schopenhauer: free will and individual choice are illusions, desire a prison. Leap off the wheel of desire via the contemplation of sublime art. Transcends will, frees us from agony of contingency and causality. | Unchanged: Structural reasons why games won't produce sublime art. Ebert talks about direction of artist, inevitability of meaning. (Oy.) Romantic point of view. Schopenhauer: free will and individual choice are illusions, desire a prison. Leap off the wheel of desire via the contemplation of sublime art. Transcends will, frees us from agony of contingency and causality. | ||
Unchanged: "Flow is an an-aesthetic." | Unchanged: "Flow is an an-aesthetic." | ||
Unchanged: If the purpose of sublime art is to solve the mystery of choice, then ... | Unchanged: If the purpose of sublime art is to solve the mystery of choice, then ... | ||
Unchanged: Sublime art is the still evocation of the inexpressible. | Unchanged: Sublime art is the still evocation of the inexpressible. | ||
Unchanged: All sublime art is devotional. | Unchanged: All sublime art is devotional. | ||
Added: <strong>Edit:</strong> I thought <a href="http:// emshort.wordpress.com/2011/ 03/05/four-talks- at-gdc/">Emily Short's discussion of this talk</a> was quite good. | |||
Unchanged: <h3><a name="watte"> 3:30pm–4:30pm: </a><a href="http:// schedule.gdconf.com/session/ 12290">"Message Queuing on a Large Scale: IMVU's Stateful Event Architecture"</a>, by Jon Watte</h3> | Unchanged: <h3><a name="watte"> 3:30pm–4:30pm: </a><a href="http:// schedule.gdconf.com/session/ 12290">"Message Queuing on a Large Scale: IMVU's Stateful Event Architecture"</a>, by Jon Watte</h3> | ||
Added: <a href="http:// www.slideshare.net/JonWatte/ message-queuing-on-a-large- scale-imvus-stateful-realtime- message-queue">His slides:</a> | |||
Added: <div style="width:425px" id="__ss_7237109"><object id="__sse7237109" width="425" height="355"> <param name="movie" value="http:/ /static.slidesharecdn.com/ swf/ssplayer2.swf?doc=16x9large- scalemessagingatimvu- 110311162842- phpapp02&stripped_ title=message- queuing-on-a- large-scale- imvus-stateful- realtime-message- queue&userName=JonWatte" /> <param name="allowFullScreen" value="true"/> <param name="allowScriptAccess" value="always"/> <embed name="__sse7237109" src="http://static.slidesharecdn.com/ swf/ssplayer2.swf?doc=16x9large- scalemessagingatimvu- 110311162842- phpapp02&stripped_ title=message- queuing-on-a- large-scale- imvus-stateful- realtime-message- queue&userName=JonWatte" type="application/ x-shockwave-flash" allowscriptaccess="always" allowfullscreen="true" width="425" height="355"></embed> </object></div> | |||
Unchanged: Want: any-to-any messaging with ad-hoc structure. Lightweight (in-memory) state maintenance. Added queues as a building block, with two kinds of messaging: events and states. Integrated into a bigger system. | Unchanged: Want: any-to-any messaging with ad-hoc structure. Lightweight (in-memory) state maintenance. Added queues as a building block, with two kinds of messaging: events and states. Integrated into a bigger system. | ||
Unchanged: User to queue: connect, listen, send. Queue to game server: validate users/requests, notification. Game server to queue (didn't catch it). | Unchanged: User to queue: connect, listen, send. Queue to game server: validate users/requests, notification. Game server to queue (didn't catch it). | ||
Unchanged: Design goal of 1M simultaneous users. (10x current use.) Real-time, meaning 100ms end-to-end. 20M queue creations/day. | Unchanged: Design goal of 1M simultaneous users. (10x current use.) Real-time, meaning 100ms end-to-end. 20M queue creations/day. | ||
Unchanged: Existing solutions didn't work. (Wished they could buy Gtalk, AIM, etc. solutions!) Inspired by mochiweb: 1M users on a single machine, written in Erlang. | Unchanged: Existing solutions didn't work. (Wished they could buy Gtalk, AIM, etc. solutions!) Inspired by mochiweb: 1M users on a single machine, written in Erlang. | ||
Unchanged: Implementation. | Unchanged: Implementation. | ||
Unchanged: (Journey of a Message diagram: send to queue, validate, forward to other users listening to queue.) | Unchanged: (Journey of a Message diagram: send to queue, validate, forward to other users listening to queue.) | ||
Unchanged: Queue: multiple mounts (chat - message; scores - state; subscriber list). | Unchanged: Queue: multiple mounts (chat - message; scores - state; subscriber list). | ||
Unchanged: One machine isn't enough: doing some math on volumes and memory speed, would take over 3 seconds per message. So need to scale across machines. | Unchanged: One machine isn't enough: doing some math on volumes and memory speed, would take over 3 seconds per message. So need to scale across machines. | ||
Unchanged: Scale in two dimensions: gateway machines and queue machines, connected via a consistent hashing mechanism that allows moving chunks of queues via a central map of buckets to nodes. | Unchanged: Scale in two dimensions: gateway machines and queue machines, connected via a consistent hashing mechanism that allows moving chunks of queues via a central map of buckets to nodes. | ||
Unchanged: Erlang. I'll skip the details, but: basically, custom designed to solve their problem. | Unchanged: Erlang. I'll skip the details, but: basically, custom designed to solve their problem. | ||
Unchanged: (Dozed off some: load balancing; marshaling via protocol buffers.) | Unchanged: (Dozed off some: load balancing; marshaling via protocol buffers.) | ||
Unchanged: Have a boss node keeping track of what gateway, queue nodes are doing. Looks like a single point of failure, but things keep running without it, you just can't add more nodes until the boss is restarted. | Unchanged: Have a boss node keeping track of what gateway, queue nodes are doing. Looks like a single point of failure, but things keep running without it, you just can't add more nodes until the boss is restarted. | ||
Unchanged: Message could go out via a different node than where it entered; led to time skew. So sent messages out via entry node. | Unchanged: Message could go out via a different node than where it entered; led to time skew. So sent messages out via entry node. | ||
Unchanged: Hot add node diagram: make sure to forward messages while move is in process. | Unchanged: Hot add node diagram: make sure to forward messages while move is in process. | ||
Unchanged: Problem cases. User goes silent; detect via ping. Reconnection of user, possibly to a different gateway: user-specific queue arbitrates. Node crashes (yet to happen in production, go Erlang!): state is ephemeral, user might get logged out. Gateway crashes: client reconnects, gets resent missed updates, application above queue API doesn't notice. Sometimes want reliable messages; higher level API stores it in database. Firewalls: use proprietary protocol on port 80/443. | Unchanged: Problem cases. User goes silent; detect via ping. Reconnection of user, possibly to a different gateway: user-specific queue arbitrates. Node crashes (yet to happen in production, go Erlang!): state is ephemeral, user might get logged out. Gateway crashes: client reconnects, gets resent missed updates, application above queue API doesn't notice. Sometimes want reliable messages; higher level API stores it in database. Firewalls: use proprietary protocol on port 80/443. | ||
Unchanged: Build and test. Continuous integration, continuous deployment. Erlang supports in-place code updates, but too heavy for them; use failover instead. | Unchanged: Build and test. Continuous integration, continuous deployment. Erlang supports in-place code updates, but too heavy for them; use failover instead. | ||
Unchanged: Future: replication; scalability limits; open source what they can. | Unchanged: Future: replication; scalability limits; open source what they can. |
Note: Spaces may be added to comparison text to allow better line wrapping.
[…] to add: there is a set of point by point notes from Moriarty’s talk here, which covers some details my analysis doesn’t […]
3/6/2011 @ 9:56 am