Develop Conference 2010, Day 3

July 15, 2010

The first session of the day got its own post here:

https://larington.wordpress.com/2010/07/15/develop-conference-2010-day-tim-schafer-keynote/

Moving on…

SESSION 2:

Sex, Brawls, and Magic Duels: Console Game Design Beyond the Television Screen, Dajana Dimovska & Lau Korsgaard, Copenhagen Game Productions/Copenhagen Game Collective

Game collective is a non-profit organisation.
Trying to bring some of the interesting small games from the collective through Copenhagen Game Productions.

Talk about various party games, ask “Are these games truly social?”, notice how people are playing together but they’re all staring at the screen and what it’s telling them to do instead of looking at eachother.

“How do we make games more social?”

Dark Room Sex Game gets a mention (made a few years back at a game jam if I remember correctly), it’s a form of rhythm game where you don’t have any on screen elements and your supposed to build up a rhythm until climax.
(Did I just type that?) They do a demonstration of the game, I can’t imagine what the people in the next room think is going on.

By removing the visuals people are more likely to look at eachother (And laugh probably), note it’s a multiplayer game, though I guess there’s no reason you can’t play it with/against yourself.

“Make the players the center of attention”
The idea of Dark Room Sex game is to break down some social barriers.

Next game BUTTON, it goes back to screen usage, tries to get players to compete over pressing buttons (Who are allowed to cheat), giving instructions forces players to interact with eachother.

Tryl is a form of magic fighting game where you primarily look at eachother, casting magic spells.

“Making players look at eachother is really hard.” They’ll instinctively stand facing the screen instead of eachother, have to break down this convention.

Initially Wii devs often tried to build a neural network that tries to learn gestures (etc.) but it’s a huge problem because it might not recognise a 320 degree circle when it’s looking for a full 360 degree circle. Moved launching the spells themselves to a button.
Want to open up method of charging the spells so that people can show what kind of a wizard they are (How they stand and move as the spells are being charged).

Initially the goal was to stop people looking at the screen, the goal changed to make people look at each other (Similar goal, different emphasis).

“It’s really hard to sell a game that doesn’t have screenshots”

SESSION 3:

Fable III: Story, Cast & Simulation – Peter Molyneux, Lionhead Studios

Talking about some of the design challenges of Fable 3 (& other things)

The dream
To create a world that both core and casual gamers can play in, which of course means a bigger audience.
We need to challenge some of the preconceptions of design
We must make the world incredibily deep whilst being utterly accessible.
We must give players things they have never seen (I missed the last 2 parts of this slide to slow typing)

Fable 2 was an rpg which focuses on the player being a hero.
World with rich mythos
Dramatic entertaining story, choices, involves things you care about and makes you laugh

Design flaws in fable 2 – Not really concentrating on USPs, there were features that weren’t really used or used once.
(USPs morphing hero, every choice a consequence, accessibility, simulated world, humour.

Trying to do in fable 3
Get more to play
Make small steps to a revolution
Make players go WOW (The exclamation, not make players go play World of Warcraft)
Make sure people of all skills feel cool
Encourage people to use all of the games features
Make sure people remember the story

Analogy to car with 300 buttons, features that don’t get used.

Fable 3 – The Big Features
Drama – great cast (John Cleese, Zoe Wannamaker, Stephen Fry, Bernard Hill, more)
Accessibility – more one button combat
Sharing – great co-op
Become king

Fable 2 – Didn’t create a properly dramatic story, which they aim to do for the sequel, the big cast considered the starting point for this.
Mix in drama with what the player does.

Fable 3 – Want to expand co-op into more than just combat. You’ll be able to marry your co-op players?
“Why don’t we have an intimate moment whilst in Fable 3″…”A lot less messy frankly”

DRAMA THE MISSION
To make the story and game which people remember for the rest of their lives
-You need players to care
-Let players be who they want to be, but there must be consequences
-Have a clear and simple but dramatic narrative acted by a great cast

Simple story that can be more easily remembered, you’re going to overthrow a terrible king and become king yourself. People were forgetting the story of previous Fable games.

A story about you being a rebel and then king
Ability to have butler with responsive dialogue (simulation influenced by players progress, wealth, actions)
A world which comments and reacts to the player (All NPCs are driven by a simulation that is influenced by a group mind which watches the player).

Constantly measure alignment, good vs evil, cruel vs kind, rich vs poor, sacrifice vs greed.
Constantly reflecting player actions (Hero/heroine and dog morphing, dynamic NPC behaviour and dialogue, changing regions, story adaptation). World reflects the player.

Humour
Get a team together who know how to write great narrative, stage the whole script before game implementation, listen to the actors as they improvise, get great (and recognised) acting talent.

Accessibility: GUI
Remove all GUI clutter
Make all GUI elements highly context sensitive
Make the GUI an actual location, make the map living

Scrolling menus in previous games were bad design, an image of a sword won’t make the user excited. Nested scrolling menus awkward to use.

Wanted to replace map in Fable 2 & how you level up.

Accessibility: Combat
Simple (No, really simple), because we have made people feel stupid for too long.
Make the weapons morph.
Very very deep, because gamers want to feel great too.
Dynamic combat (3 one butons, swords, guns, magic. Tap, timed, held.

Access
Gentle start, teach mechanics in turn paced over entire game.
Remind player of mechanic if they forget.
Allow them to explore and experiment.

Demonstration of current Fable 3 build (Warned about bugs, etc.)

You can import the save game from Fable 2.
Mentor is a carefully designed character that will be assisting throughout the game (Based on Bernard Hill?).

Each character level has a metal gate through which you pass each time you level up, metaphor of journey to power. Fable 2 gives you these ‘seals’. Experience points replaced with a single more memorable number. Opening a gate is equivalent to going up a level. Each level gate has chests after it that you can also spend the gate/leveling crests on.

Fist of power, eh? Physical things will level up. Crafting weapons ‘through use’. There’s an increased emphasis on choice.

Spells system has changed ‘the most’ since last game.

A ‘bat cave’ has an element that appears to be a vista, but it’s all navigable.

They’ve done a Dead Space and moved all the descriptive UI elements into the world.
They’ve chosen not to cap charging up of magic, you can leave it charging up over night with the button held down with a coffee mug if you want.

Breadcrumb trail updates itself depending on what you’re doing, changing or fading in & out. Being sensitive to what the player wants to do.

Sanctuary is part of the story. Swapping in & out of the sanctuary is practically instant.

They’ve tried experiments in reducing loading times, unfortunately coping with persistence is a problem so loading times are still going to be present in game.

Player makes promises, some of them can change the world or people.

SESSION 4:

Enslaved to the Story: Ninja Theory meets Alex Garland

Use of performance captured and transferred into game with some corrections for blinking and other minor adjustments.

Aim of game is for you to feel like you’re ‘playing a movie’.

Informal meeting with Alex Garland just to get to know him. Alex more of a creative director than just a writer.

Writing the script
-Brainstorming
-Story overview
-Act 1 Script
-Act 1 design review

Stop!: Story and Gameplay are One.
Went through with design step by step and so on. Couldn’t separate design process from the writing.

-Paper design based on story
-script based on paper design
-Weekly grind for 2 months
Alex effectively became a level designer.

– Letting characters breathe
– Character consistency
– Once scene = One purpose
– Cut scenes for Drama, gameplay for exposition (An object can only be used in certain places, that’s gameplay)
– Clarity
(Dark blue text on black background, ugh)
Edit from 2 hours to 80 minutes
Result: Video edit put into levels

Got a professional video editor in for 3 weeks.

Adding Drama to Gameplay
-Cameras
-Lighting
-Art
-Animation
-Sound Design
-Robot Voice
-World Logic

Result: Level redesigns, video re-edits, Drama ? for whole game.
Taking camera away from the player doesn’t always break flow.

Actually building tension for fight sequences (sillhouettes of enemies, sounds) instead of just throwing enemies at the player.

Complete review:
-gameplay logic
-pacing
-atmosphere
-sound/music design
-final voice review
-playtest
Result: VO pickups, cutscene ADR(?), cutscene re-edits, never panic

Lessons
Game-complete is the starting point for story development!
Always ask why?
Clarity is the number 1 problem for gameplay & story
Don’t let designers work in isolation
It’s never ‘just a game’
Never break the suspension of disbelief at all costs.
It’s not too late (to make edits) until it’s gold: battle to the very end.
Dialogue is only a very small part of story.

SESSION 5:

Opening up player metrics to the community in Just Cause 2 – Jim Blackhurst & Mike Oldman, Square Enix Europe

(Description of game)
OTT stunts
Incredible player created set-pieces
Emergent play

CHAOS

Explosions to date
392,974,989 – Rising 3,000 per minute.

Gives players tools to create chaos.

Metrics – user data
214 pieces of data tracked including
player death by cause
enemy kills by weapon
vehicles driven
distance travelled
collectibles found
locations discovered
missions completed

Justcause.com
View stats online
Achievement stuff.
Used as part of community building
‘Heatmaps’

Milestones exclusive to the website

PS3 Only – Uploading videos to YouTube to share explosions.

button you can press to capture last 30 seconds of gameplay.

a new video every 9 minutes
863,000 videos to date
Hours played 3,231,487,734 (368891 years)

“Total chaos” 309,181,645,432

The how:

Acquire -> Analyse -> Apply
Capture->Compute->Consume

1. Metrics capture:

Software…
We have an online suite SDK
Allow steams to use a common interface  to the metrics system
The API handles the creation of the metric packet from in game triggers
Plenty of other SDK features

Metrics are captured by front end servers.
PS3 and PC metrics come in over internet
360 metrics come in via XLSP

What is a ‘metric’, an XML pakcet with a header and payload.

How did we do?
More than 13.5 billion metrics in database
7.8 billion are stats, 3.3 are player actions, rest are player deaths, highjackings, GUI actions, etc.

our database is approaching 2Tb in size (and is only text records)
113Gb of this game in just 3 days over Easter weekend.
“I’m not worried, we’ve got a 40Tb SataBeast for storage”.

2. Loading and analysis

The metrics are stored on front end servers as flat files.
Bespoke tool called ‘ed’ moves files from front end servers to analytics system
Ed invokes the microsoft bulk loader to load the XML into the MSSQL database.

Two different analytics systems in parallel
Online for fast response times for websites
Offline for BI reporting where retrieving data is not time critical
The online analysis performed on the raw data produces leaderboards, stat totals, favourite weapons and vehicles etc
Once loaded, raw XML files are sent to a backup store. The backup files can just be dropped back onto the front end servers should we need to repopulate a database.

How did we do?
Average ETL time from capture to cache is around 20 minutes
Currently running about 10 minutes
During easter weekend , at peak load, CtC time was about around 10 hours
There are usually less around 5 files on each server in the queue we have seen 12,000 files spread over the four servers during our peak load.

What did we learn?
Bulk loading massive amounts of data is v difficult and time consuming. XML has an overhead, we should have used flat text or CSV.
It’s a balance, the faster you bulk load, the more pressure you put on the analytics. It’s just moving the problem around.
Be careful with indexes, they can speed up data-out at the cost of data-in.
Don’t let your analytics tables grow too big. Truncate them often (every couple of hours) once data is safely in the cache.

3. Presenting to the web
Bringing metrics to the web poses some fundamental challenges.
Time critical, can’t wait for analysis when loading a web page.
Whoe owns what? Who are you? Where am I? Security! Managing identities with respect to privacy.
We have an identity management system called connect.
It provides authentication for website logins and stores mappings for the player’s console identities.
Does not store gamertags!

Through connect, a website user can link retrieve their metrics from the db, despite the metrics being associated with a console identity.
Now we know who you are, how do we get your metrics?
I hope your web devs speak MSSQL!
Ours did but it was a sub-optimal solution.
RPS server and oData server that means you can setup feeds without having to know about databases(?)

Takes 10 mins to perform the analytics process on a metric, how long do I have to wait for the web page to load?
Sub-second response times.
A rack of small, lighweight servers, running MSSQL express (free) host flat tables in memory.
The cache can be physically expanded with new servers quickly and chjeaply in response to capacity planning.
The analytics system refreshes the cache as fast as possible.

How well did it work?
Very well, cache never got anywhere near capacity, even at peak times.
Scary times at launch, we had no way of load testing ‘connect’.
Who needs sleep anyway?

Served more than 2.7 mil web pages, at least 1/2 million page views for metrics related pages alone.
The official JC2 forums is second only in traffic sourcing to google search, and the number one referring site.

Conclusions
It worked
Dealing with large datasets can get very difficult
Testing, testing and more testing
Don’t forget your obligations to third parties, and always respect your players data and privacy. This is data that belongs to your players.

Next time
We will be using this system in upcoming games to give value to the community, and reasons for coming back into the game.
Building on lessons from JC2 launch
JC2 was our load testing!
Adding a new layer into the web system, data consumption through Atom feeds.
Expose to twitter, facebook, others.

Q&A How you stop people hacking into the feed. Uses area of memory on PC OS that’s protected from access. That system wasn’t used. They do get obviously faked metrics. There’s a pirate copy with ONE ID and they can just block that ID. (Curiously there was one bus part of the drive every vehicle achievement that only the pirates had completed, the pirates had unlocked the bus. A patch is due to go in to correct the missing buses.)

The data they store is anonymous because it’s not attached to a real life identity. The only time they are tied is when you go to the website and ‘claim ownership’.

Advertisements

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s

%d bloggers like this: