Facebook Instant Game Tutorials Live

Spent some spare time over the last few weeks noting down information that I do not want to forget regarding Facebook Instant Games development. I’ve been away from it for a bit and plan to spend more time away from it so want a nice easy reference for when I return.

I decided to turn my notes into a bunch of Facebook Instant Game tutorials to help other budding game developers out there.

You can read the tutorials here.

The individual links to each are:

I will cover more topics when I return.

Streaming League of Legends on Twitch.tv and Twitch extensions

Twitch.tv Logo
Twitch.tv Logo

Recently two family members have started streaming their gaming on Twitch.tv. They currently stream a game I love to play but am terrible at so prefer to watch :D. That game is League of Legends (I’m a lowly silver player, these guys are Diamond level players). if you like to watch gaming streams you should check them out, they’re pretty entertaining pair.

DDarkBlu on Twitch.tv (Support main)
Hastams on Twitch.tv (AD carry main)

I hang around in the streams and chat from time to time.

Anyway the point of this blog is to mention that it got me interested in streaming and streamers. I have discovered that Twitch.tv have an extensions API. I’m currently analysing the APi to find ways in which I can integrate it into the IGX SDK. This will enable developers to deploy their Facebook Instant Games straight to Twitch with little to no modification. Twitch.tv enables monetisation of your extensions via a currency called bits which seems interesting, so plenty of scope for earning money fellow developers.

The IGX SDK is a wrapper for the Facebook Instant Games SDK that enables you the developer to deploy your games and apps to web (mobile and Twitch.tv support coming soon) with little to no code changes, helping you maximise visibility and monetisation.

Facebook Instant Games Category Analysis September 2018

I did an analysis of Facebook Instant Games categories nearly two months ago, lets take a look at the numbers to see where we are at today.

  • Action – 666 games (44780600 total MAU – average per game is 67238)
  • Puzzle – 1146 games (43072900 total MAU – average per game is 37585)
  • Sports – 310 games (42281800 total MAU – average per game is 136392)
  • Trivia & Word – 138 games (31242800 total MAU – average per game is 226397)
  • Simulation – 166 games (28493800 total MAU – average per game is 171649)
  • Board – 126 games (19552200 total MAU – average per game is 155176)
  • Runner – 299 games (14987000 total MAU – average per game is 50123)
  • Card – 76 games (9598200 total MAU – average per game is 126292)
  • Match 3 – 117 games (5194400 total MAU – average per game is 44396)
  • Role Playing – 86 games (5026800 total MAU – average per game is 58451)
  • Strategy – 78 games (4690700 total MAU – average per game is 60137)
  • MOBA – 5 games (2255000 total MAU – average per game is 451000)
  • Poker & Table – 35 games (1705500 total MAU – average per game is 48728)
  • Slots – 35 games (1367700 total MAU – average per game is 39077)
  • Bingo – 10 games (1268900 total MAU – average per game is 126890)
  • Card Battle – 7 games (682900 total MAU – average per game is 97557)
  • Builders – 16 games (631300 total MAU – average per game is 39456)

Last time Word and Trivia had a clear lead, but things appeared to have changed somewhat over the past few months with MOBA pushing way ahead. But, looks can be deceiving. There is only one game in that category which is called Tanks Battle and it is pulling the category average way higher than it should be. The other games in the MOBA category are doing incredibly badly. That said, it does show that there is room there for a good MOBA (hint hint).

So we are still left with Trivia and Word games leading which is astonishing considering most of these games are English language only.

Booty5 HTML5 Game Engine Update out – Facebook Instant Games Support Added

It’s been a long long while since I put an update to Booty5 out so I thought it time. I have been playing around with Facebook Instant Games over the last few months so I added support for Facebook Instant Games to the Booty5 engine. You will find a new utility class called Instants that wraps up the Facebook Instants SDK. This has been tightly integrated into the loader for the Booty5 game editor. I will be releasing the updated version of the Booty5 editor with direct Facebook Instant Games export support very soon. Along with that I will be releasing the source to some of my games to help developers learn how to use the new features more easily. The complete list of Booty5 engine changes (v1.5.5) include:

  • New hit property added to Actors. If true then will be included in hit testing
  • New dock_screen property added to Actors. If true then docking will be to screen edge instead of scene edge
  • New padding property added to Actors. Text padding (used when caching)
  • New scale_method property added to Actors. Scale method used to fit actor to screen
  • New draw_reverse property added to Actors. If set to true children are drawn in reverse order
  • New _av property added to Actors. This will set active and visible states at the same time
  • New method removeAllActors added to Actor which removes all actors from the actors child list
  • New getSlot and moveToSlot methods added to Actor which allows you to query a child sort index and modify it
  • New overlapsRect method added to Actors which checks for a rect area overlapping the Actors rect area
  • New circleOverlaps method added to Actors which checks for a circular area overlapping the Actors circular area
  • New circleOverlapsRect method added to Actors which checks for a rect area overlapping the Actors circular area
  • New fullCircleOverlapTest method added to Actors which checks for a circular area overlapping the Actors circular area (taking into account transforms)
  • New stroke_filled property added to all Actor types which if true will cause stroke will be drawn
  • New line_height property added to LabelActor which specifies the height of a line of text
  • New _text property added to LabelActor which sets the labels text and updates its cached version if cached
  • New deactivate property added to Animations. When set to true deactivates and hides target actor when its done (default false), should only be used with actors
  • Many new easinng funnctions added to the animation system
  • App canvas_width and canvas_height now known as design_width and design_width
  • Fonts now added to the app as resources, the underlying font loaded uses the FontObserver lib to load fonts
  • Raw JSON resource type now added to the App
  • New started property added to the App which is a callback that will be called when the app starts
  • All App resource containers are now objecsts instead of arrays
  • App waitForResources now calls a supplied callback to alert the user of progress during loading
  • App main logic loop is now ran on requestAnimationFrame
  • New draw_reverse property added to Scenes. If set to true children are drawn in reverse order
  • New _av property added to Scenes. This will set active and visible states at the same time
  • Added new Task type called TaskQ which is a collection of tasks that are ran serial. Only the first task in the queue is ran, once that tasks is complete the next task in the queue is ran.
  • Resources now checked for load failure and attempt to reload a number of times before giving up
  • Value passed to Actor _atlas can be an atlas object or the name of an image atlas brush
  • Calling playAnim or playTimeline on an inactive or invisible Actor will make activate it and make it visible
  • Hit tests are no longer carried out on inactive Actors
  • Fixed Actor _scale property so that it now updates the main transform
  • Fixed virtual Actor margins
  • Action lists are now optional component and not included by default
  • Support for Facebook Instant Games added

Please note that this version of Booty5 may not be completely compatible with your existing code so back up before trying it!

The complete source to Booty5 is available on Github here.

I will update the game editor, documentation and e-book in the near future.

Oh I also have a Dragon Bones lib coming soon too.

Lets Bounce Endless Bouncing Facebook Instants Game

Lets Bounce Facebook Instants Game
Lets Bounce Facebook Instants Game

Finally released the revamp of Friend Falls, this game centres purely around multiplayer, no single player functionality is available. I’m trying to test if multiplayer only games fair better than single or mixture of single / multiplayer game play.

In this game you play a ball called Ball (yes imaginative I know) that is forever bouncing, your task is to navigate a vertical world fraught with danger. You are powered by ether, but each bounce or knock you take uses up ether. Additional ether can be collected as you progress through the world. Ether is dual purpose, it gives you more energy to bounce and you can use it to buy silly hats form the hat shop to spice your character up a bit.

There is no single player component so you have to invite someone else to play. The game has a back-end for transferring results and invites around between players, so you do not need to exit and re-run the game from a message to continue play.

The game also has a mini game editor in there which allows you to create your own levels and share them with friends. Once a player plays your custom level the level is sent back to you as a challenge so you get to suffer your own creations too, so be nice :).

Anyway, check it but if you do, don’t forget to play again tomorrow or you will my day 1 retention :).

Facebook Instant Games Category Breakdowns

I track all things Facebook Instant Games related, its a new little obsession of mine. I went ahead and calculated how many games are in each genre out of the current crop of just under 3000 available games. Below is a list of Facebook game genres along with how many games are in each:

  • Action – 577 games
  • Puzzle – 1035 games
  • Trivia & Word – 118 games
  • Simulation – 150 games
  • Board – 98 games
  • Sports – 282 games
  • Match 3 – 100 games
  • Card – 64 games
  • Slots – 43 games
  • Runner – 260 games
  • Strategy – 73 games
  • Role Playing – 91 games
  • MOBA – 4 games
  • Builders – 15 games
  • Bingo – 9 games
  • Poker & Table – 34 games
  • Card Battle – 4 games

Lets take a look at the list sorted by total MAU in those categories:

  • Puzzle – 1035 games (49116400 total MAU – avarage per game is 47455)
  • Sports – 282 games (44689600 total MAU – avarage per game is 158473)
  • Trivia & Word – 118 games (41406500 total MAU – avarage per game is 350902)
  • Action – 577 games (38617000 total MAU – avarage per game is 66927)
  • Board – 98 games (17343200 total MAU – avarage per game is 176971)
  • Simulation – 150 games (16033700 total MAU – avarage per game is 106891)
  • Runner – 260 games (14430399 total MAU – avarage per game is 55501)
  • Card – 64 games (10803200 total MAU – avarage per game is 168800)
  • Match 3 – 100 games (6334800 total MAU – avarage per game is 63348)
  • Role Playing – 91 games (4992400 total MAU – avarage per game is 54861)
  • Strategy – 73 games (4511700 total MAU – avarage per game is 61804)
  • Slots – 43 games (1562100 total MAU – avarage per game is 36327)
  • Bingo – 9 games (1474800 total MAU – avarage per game is 163866)
  • Poker & Table – 34 games (1464900 total MAU – avarage per game is 43085)
  • Card Battle – 4 games (924500 total MAU – avarage per game is 231125)
  • MOBA – 4 games (322000 total MAU – avarage per game is 80500)
  • Builders – 15 games (193300 total MAU – avarage per game is 12886)

What can we ascertain from these figures? Well, Puzzle games seem to be the most popular amongst developers, unfortunately users do not share that view with a very low average MAU per game. Trivia & Word is the leading category in terms of of average MAU per game whilst having far fewer games has an average MAU many times greater.