DevelopingSocial Games – Who am I? – Why Social?



DevelopingSocial Games – Who am I? – Why Social?

0 0


DevelopingSocialGames

Creativa Fest - Mexico City 2014

On Github Flassari / DevelopingSocialGames

DevelopingSocial Games

Ari Arnbjörnsson Senior Game Programmer, Rovio Entertainment
Hello everyone, and welcome to Developing Social Games. This talk is more targeted for Casual Free to Play games. ...

Who am I?

I am Ari, I'm from Iceland, but I'm living in Finland, and I work as a Senior Game Programmer for Rovio Entertainment, best known for creating Angry Birds. ..worked..made..the biggest titles I've worked on are:
Senior Game Programmer for

Vikings Of Thule

  • Viking themed online MMORPG
  • Realtime PvP battles
  • Facebook canvas game
Was my first big social game. Came out in 2009.
Lead Game Programmer for

Habitarium

  • Social isometric game
  • Asynchronous PvP raiding
Lead Game Programmer for

Angry Birds Friends

  • Rovio's first steps into F2P
  • Fresh tournament levels each week
Senior Game Programmer for

Angry Birds Star Wars

Why Social?

What do I gain by implementing social features in my game?

Does it even apply to my game?

Organic discovery

  • Cheapest marketing
  • Friends will give it more of a chance
..can be either a mechanic in the game, or the user might just persuade the friend to reap benefits of social rewards.. Friends will try harder. (other slide?)..example, in friends the more players are playing in the tournament, the higher your prizes are. (other slide?)..my friends playing candy crush come to me at work and tell me to play the friggin game.

Better engagement

  • Competitive players "Gotta beat 'em all!"

Better retention

  • Friends helping friends
  • Coming back to beat scores
How??

Top GrossingiOS Games

Clash of Clans

Candy Crush Saga

Game of War - Fire Age

Farm Heroes Saga

Boom Beach

Hay Day

Social Features

High Score Lists

  • "I beat the level but I'm in 5th place, better try again"
  • "Someone beat my highscore, better go back and beat it"
  • "I must get a better score than Ari, better use a powerup" 
  • Temporary scores work wonders.
  • Tell people when they've been dethroned.

Shared Rewards

"Congratulations, you leveled up and gained a smelly donkey! Post this on your wall to share a donkey with your friends!"

Incentivize both players. "You get also 5 internets for every friend that claims a smelly donkey!"

Challenges

Interactive Friends

Involve friends in the game world, let them be your actual neighbours/citizens/friends.

Visit friends, get rewards, gives your friends also rewards.

Synchronous Interactions

  • Good for hardcore games, bad for casual games.
  • Watchdogs: Enter your friend's games and hack their character.
  • Consider also matching up with strangers.
  • Dark Souls: Enter anyone's game. Kill them.

Asynchronous Interactions

  • Perfect for casual games.
  • You can interact with every single one of your friends.
QuizUp

Achievements

Adds a whole new metagame to your game.

Talk about achievement hunters.

Achievements Don'ts

  • Don't use boring achievements. "Clear 1000000 rows of blocks" or "Have a total play time of 1 year!"
  • Don't use unattainable achievements. "Have 100 friends playing"
  • Don't devaluate achievements.
  • Don't use redundant achievements. "Complete the tutorial!"

Achievements Do's

  • Make them social.
  • Make them competitive. "Get #1 place in level 100."
  • Make them shareable. "Ari finished Donkey Mayhem."
  • Make them discoverable. "Find the Secret Donkey."
  • Make them temporary. "Collect all gold pots for the St. Patrick's Bonanza."
  • Make them different/fun. "Defeat a player who has this achievement."
Make them Social. Show which other friends also have the achievement you just got. Show which friends have the next stage of that achievement. It should be easy for players to brag to other users. Achievement for finishing the game, share it.

Reveal.js

HTML Presentations Made Easy

Created by Hakim El Hattab / @hakimel

Heads Up

reveal.js is a framework for easily creating beautiful presentations using HTML. You'll need a browser with support for CSS 3D transforms to see it in its full glory.

Oh hey, these are some notes. They'll be hidden in your presentation, but you can see them if you open the speaker notes window (hit 's' on your keyboard).

Vertical Slides

Slides can be nested inside of other slides, try pressing down.

Basement Level 1

Press down or up to navigate.

Basement Level 2

Cornify

Basement Level 3

That's it, time to go back up.

Slides

Not a coder? No problem. There's a fully-featured visual editor for authoring these, try it out at http://slid.es.

Point of View

Press ESC to enter the slide overview.

Hold down alt and click on any element to zoom in on it using zoom.js. Alt + click anywhere to zoom back out.

Works in Mobile Safari

Try it out! You can swipe through the slides and pinch your way to the overview.

Marvelous Unordered List

  • No order here
  • Or here
  • Or here
  • Or here

Fantastic Ordered List

One is smaller than... Two is smaller than... Three!

Markdown support

For those of you who like that sort of thing. Instructions and a bit more info available here.

<section data-markdown>
  ## Markdown support

  For those of you who like that sort of thing.
  Instructions and a bit more info available [here](https://github.com/hakimel/reveal.js#markdown).
</section>

Transition Styles

You can select from different transitions, like: Cube - Page - Concave - Zoom - Linear - Fade - None - Default

Themes

Reveal.js comes with a few themes built in: Default - Sky - Beige - Simple - Serif - Night Moon - Simple - Solarized

* Theme demos are loaded after the presentation which leads to flicker. In production you should load your theme in the <head> using a <link>.

Global State

Set data-state="something" on a slide and "something" will be added as a class to the document element when the slide is open. This lets you apply broader style changes, like switching the background.

Custom Events

Additionally custom events can be triggered on a per slide basis by binding to the data-state name.

Reveal.addEventListener( 'customevent', function() {
console.log( '"customevent" has fired' );
} );

Slide Backgrounds

Set data-background="#007777" on a slide to change the full page background to the given color. All CSS color formats are supported.

Image Backgrounds

<section data-background="image.png">

Repeated Image Backgrounds

<section data-background="image.png" data-background-repeat="repeat" data-background-size="100px">

Background Transitions

Pass reveal.js the backgroundTransition: 'slide' config argument to make backgrounds slide rather than fade.

Background Transition Override

You can override background transitions per slide by using data-background-transition="slide".

Clever Quotes

These guys come in two forms, inline: “The nice thing about standards is that there are so many to choose from” and block:

“For years there has been a theory that millions of monkeys typing at random on millions of typewriters would reproduce the entire works of Shakespeare. The Internet has proven this theory to be untrue.”

Pretty Code

function linkify( selector ) {
if( supports3DTransforms ) {

var nodes = document.querySelectorAll( selector );

for( var i = 0, len = nodes.length; i < len; i++ ) {
var node = nodes[i];

if( !node.className ) {
node.className += ' roll';
}
}
}
}

Courtesy of highlight.js.

Intergalactic Interconnections

You can link between slides internally, like this.

Fragmented Views

Hit the next arrow...

... to step through ...

any type of view fragments This slide has fragments which are also stepped through in the notes window.

Fragment Styles

There's a few styles of fragments, like:

grow

shrink

roll-in

fade-out

highlight-red

highlight-green

highlight-blue

current-visible

highlight-current-blue

Spectacular image!

Export to PDF

Presentations can be exported to PDF, below is an example that's been uploaded to SlideShare.

Take a Moment

Press b or period on your keyboard to enter the 'paused' mode. This mode is helpful when you want to take distracting slides off the screen during a presentation.

Stellar Links

THE END

BY Hakim El Hattab / hakim.se