I’m happy to announce that support for the Shockwave Games / Addicting Games API (SWAG API) has now been added to hte IGX SDK so you can now deploy to that platform very easily. See the guide on the Github repo.
Support for the Poki web game portal SDK has been added to the IGX SDK, so you can now deploy your games to Poki using the latest release on Github.
I have also deployed a number of my Facebook Instant games to Crazy Games using the IGX SDK:
- Merge Babies on Crazy Games.
- Australian Patience on Crazy Games.
- Golf Soltaire on Crazy Games.
- Soltaire Reverse on Crazy Games.
- Tri Peaks Soltaire on Crazy Games.
- Soltaire Social on Crazy Games.
Support for collecting the users language has also been added so FBInstant.getLocale() should now return the users browser language.
Web to mobile
Today I pushed the latest version of the IGX SDK to Github which provides support for deploying IGX SDK compatible games, including Facebook Instant Games and general web games to Android and iOS.
Games are hosted in a web view within Unity 3D. A new library has been provided which plugs into the IGX SDK and communicates between the web view and Unity which provides access to native features such as in-app purchasing and adverts.
Supported features include:
- Adverts via Unity Ads (Admob is work in progress)
- In-app purchasing
- Social login via Game Centre and Google Play Games
- Leaerboards via Game Centre and Google Play Games
- Native sharing
- Analytics via Unity
- Open external URL’s
- File uploads
- Localisation support
The IGX SDK wiki has been updated providing instructions on how to set up a Unity project to host your game and content.
Below is an example of a deployed Facebook Instant Game which has been deployed to Android and iOS stores:
Who is the IGX SDK for?
The IGX SDK is for web and and Facebook Instant Game developers that would like an easy route to take their products from web to mobile platforms such as Android and iOS. IGX provides an alternative solution to the likes of Cordova, PhoneGap and CocoonJS.
A few weeks ago something strange happened over at Facebook Instant Games HQ. For me it was a delight and for other game developers it was a nightmare. Some developers received a big boost in new users whilst others saw a large reduction in new users. Things returned to normal after a few days but then I noticed that new users being pushed to all 14 of my Facebook Instant Games were gradually falling off, fast forward to a few days ago and new users to all of my games are being completely shut down. As of today I have now lost around 90% of my new users. This is somewhat alarming when you consider the effort and money that one has invested into Facebook Instant Games.
So I started doing a little digging as the Facebook Instant Games team are rarely forthcoming with information regarding big internal changes to game distribution. My first stop is of course this great resource. Instantintel provides current and historical stats on all Facebook Instant Games so we can see what is happening to the market. By looking at each individual game we can get a good idea of whats going on. Lets take a look at some of the top games:
Even the great Everwing has lost over half of its user base since end of 2018, although I blame this on Everwing losing its golden boy status due to the arrival of quiz apps with user numbers that shot out of orbit.
Most other top chart games are also losing users hand over fist. Some new games lower down the charts are still managing to pull in new users probably due to boosting and featuring. One game does seem to be holding its users and defying the trend however and that is Quiz Planet. WHy? I have no idea, maybe they spend heavily on ads? Or maybe the game is just perfect for the audience?
Note that I have not included the quiz apps as these are mostly driven users from an external source and not Facebook Instant Games itself.
Lets examine what has changed at Facebook Instant Games to see if we can figure out whats going on.
- Messenger bots became user opt in around the start of 2019. A lot of games starting seeing a sharp fall at this point
- The appearance of quiz apps Q4 of 2018. This does not seem to be a significant factor
So it looks like NOT spamming users using bots to remind them to come back and play pretty much makes Facebook Instant Games a dead platform for traditional games. Why? Well, Facebook isn’t hip, its not the “in” thing, its for us oldies as my kids put it, so until our kids generation reach the ages 30+ they won’t be playing Facebook Instant Games. It also appears that many users that do use Facebook have either the attention span of a gnat or have more important grown up things to do .
Can any of this be fixed? Well we can start by evolving game play and moving away from traditional games, aiming more at a mature somewhat narcissistic audience. What sort of games? I’m still working on that one but if I strike gold I will be sure to let you know how .
The final question, why are pond life games such as mine being squeezed out? My guess is that the pie of users has shrank and is still shrinking, so Facebook Instant Games are scraping the bottom for food to push to its partners games. This would also explain why the boost that all games receive has been shrank down to a few thousand users on launch.
What is the future of Facebook Instant Games with its environment of bad discovery and low retention? I think if the platform and the games it serves do not evolve then it will become a platform of quiz apps, which it pretty much already is right now.
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:
- Introduction to Facebook Instant Games
- Setting up Your Development Environment
- Basic Facebook Instant Games Integration
- Getting the Players Information
- Saving and Loading Game State
- Entry point data
- Working with Contexts
- Connected Players
- Monetising your Game with Adverts
- Monetising your Game with In-app Purchases
- Working with Leaderboards
- Game Switching and Shortcuts
- Logging Analytics Events
- Working with Chat Bots
- Social Sharing
- Real-time Messaging
- IGX SDK and Moving Beyond Facebook Instant Games
- Introduction to Booty5 Game Engine and Editor
I will cover more topics when I return.
Its well known in the Facebook Instant Game developer community that Facebook Instant Games is a bit of a wild west. In the beginning god created…, just kidding . In the beginning some developers were taking well known web games and just dumping them onto IG to earn a quick buck, eventually the copyright holders arrived to the platform and got many of them taken down.
After this phase of stupidity, along came blatant ripping off of well known IP such as Pokemon, Mario, PUBG, Minecraft etc.., this is still prevalent today. You would think this would be limited to just small developers that don’t have much to lose if sued, but unfortunately it is not. The top app on Facebook Instant Games is called OMG, with around 130 million users and it uses well known questionable imagery from many movies, stars and musicians. Facebook however adopt the position that it is ok to use copyrighted materials and will not remove games and apps that use them unless the copyright holders complain.
Today Facebook Instant Games took a new turn with the arrival of Huber, which is basically a hard core porn version of OMG. I’m not against porn, but I am against it ending up in the hands of young kids. The app should really be restricted to 18+ but a fellow developer confirmed that it is searchable from their child’s phone.
The big question is, how did a hard core porn app make it through the Facebook Instant Games review process without an 18 restriction slapped on it? Well, very little is known about the review process, we have no idea if the process is done by AI or humans so who knows. The issue with the Facebook Instant Games review process is you submit an app or game with relatively harmless material but can change the material after the review process. Many of these OMG style apps host the visual content on their server with the Facebook or Messenger app basically acting as a web browser. This enables the developer to change the content on their server at any point in time with no review process. So basically its very easy to circumvent the review process.
Hopefully Facebook pull up their socks and slap an 18+ on this app and any others like it so kiddies can’t get a hold of it.
How can this issue be resolved? It can be resolved very easily by blocking access to external imagery so that all imagery has to be included with the zip file when the app is submitted to Facebook Instant Games. In addition, app updates will likely have to be reviewed for new developers. Existing developers that have developed a level of trust should be able to bypass the update review process.
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 . 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.
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.
Welcome to the web wrapper to wrap them all!
Hey fellow game developers. I’ve spent the best part of this last year researching, analysing and developing games for the Facebook Instant Games platform. Whilst it has been incredibly fun it has not been profitable, in fact I have lost a lot of money. Even so I still have faith in the platform and I do believe that one day it will come through for indie game developers trying to break through.
With this in mind, I’ve spent the best part of the last month working on something interesting and useful that I hope Facebook Instant Game (IG) developers and web developers alike find useful, hopefully encouraging more game and entertainment app developers to come to the platform, as well as give existing developers another way to monetise their instant games elsewhere.
Now I’ve explained the inspiration behind the creation, I will explain a little more about it.
I have created an open source layer called IGX. This is an SDK that has multiple purposes:
- Bridges the gap between Facebook Instant Games and the web, allowing Facebook Instant Game developers to deploy their games to web and monetise them with little to no changes
- Enables web game developers to include support for Facebook Instant Games before deploying to the platform
- Enables all developers to use a common API which allows them to deploy their games across many web portals and provides common game services
- Extend the IG platform, providing new features via other services
What is IGX? It is basically a complete replacement for the FBInstant object, so you can drop it into your code instead of linking to the FBInstant SDK CDN and your game should just run outside of the IG platform. IGX is based very heavily on two concepts, services and vendors. A service is a feature such as login, payments, ads etc, whilst a vendor is the provider of a particular service. For example, PayPal is a purchasing vendor. Note that some vendors provide many services, for example Xtralife provides user management, leaderboards, back-end storage etc..
You have some minimal setup to carry out depending upon which services and vendors you use, but once set up your game will deploy to that specific platform using all of its features.
Note that IGX is still very heavily in development so new services will be added over time. If you find a service that you would like adding then please get in touch with the details.
A new version of Booty5 the free HTML5 game editor will be released in due course with full support for IGX and easy deployment.
Join the IGX SDK community on Facebook.
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.
Just released my latest cross platform game Idle Gangsters on iOS, Android and Facebook Gameroom. The game is an experiment o see if it was possible to mix Idle Incremental and Match-3 game play styles and it seems to have worked.
Rise through the ranks of the mafia in this fun, addictive idle incremental match-3 game.
Start out as a low life punk and work your way up through the mafia ranks to Godfather using every manner of lie, trick and scheme possible.
Muscle in on cities, launder goods, build up illegal rackets and generate cash, gaining the respect of your fellow mafians and rising through the ranks of the mafia. Hire bosses, kit them out, order hits, bribe cops, fight off rival gangs and the feds and much more.
- Launder loot for the mob using Match-3 generating large amounts of cash and respect
- Buy into 20 rackets to earn cash without lifting a finger
- Free upgrades for all rackets
- Smash your way through 10 ranks of the mafia from Punk to Godfather unlocking exciting new content
- Muscle in on and take over 10 different cities from Brooklyn to Las Vegas
- Hire upgradeable city bosses to increase cash flow, reduce racket costs, generate cash offline and use perks
- Equip bosses with up to 16 perks to boost city rackets and laundering
- 20 loot laundering boosts / hazards
- 10 global powerups which affect time and cash flow
- Unlimited missions for big cash boosts
- Unlimited special missions for huge cash boosts which take place across 10 unique minigames
- Extra 5 daily bonus minigames which generate cash, respect and diamonds
- Stats tracking, over 150 individually tracked stats
- Around 300 achievements to earn
- Facebook connect with invites, gifting and leaderboards
- Cloud save game backup and restore
Idle Gangsters is available for free on the App Store for iPhone and iPad
Idle Gangsters is available for free on the Google Play for Android
The game is also available for free on Facebook and Facebook Gameroom