CrazyGames launches new Developer Portal with revenue share options

Hey web game developers, just seen news regarding CrazyGames, they now have a new developer portal and offer revenue share options for your HTML5 games! Its great to see portals placing value on developers efforts like this.

Note that this also includes web versions of games exported from Unity / Unreal etc..

To celebrate the launch of the public beta version of the CrazyGames Developer Portal, they have organised a contest for game developers. Three independent game experts will choose the best games that have been uploaded between the 1st of October and the 30th of November. The winner will be awarded $2,000! Yes, I think I may be entering some of mine, so fingers crossed :) .

I have been looking for another potential avenue for earning money from my Facebook Instant Games so hopefully re-targeting them to general web gaming can be part of my new strategy.

There are however a couple of caveats that may put many off. You cannot earn revenue unless you satisfy these 3 conditions:

  • The game doesn’t contain advertisements.
  • The game doesn’t contain branding from another games portal.
  • The game has not been published on other portals before (Does NOT include Facebook Instant Games Portal).

Simple Messaging System with Redis and Node.js

Hey all, been a while since I posted anything constructive, I’ve been so busy wasting my time creating games for Facebook Instant Games Messenger (I will do a proper write up with my analysis and final findings / thoughts on this very soon). Not all has been lost working on Instant Games however. Two of my games required an instant messaging system that enables me to send real-time messages between players which ironically the Instant Games SDK doesn’t cater for. So I created one using Node.js and Redis (these two bad boy pieces of tech together are like sweet music). You can grab the code from Github here.

Note that you will need to install this to your own server, I like to run most of my node modules using PM2. So to get the messaging system up and running just run pm2 msys. The server looks to the /msys endpoint, but you can change this in msys.js if you need it to go elsewhere. No, I don’t answer questions on how to set up servers and mess with Apache config files because I hate all that junk, it gets in the way of my actual coding which I do enjoy :) . If you cannot do this stuff yourself then you probably should be paying someone else do this for you.

Oh word of warning, any messages sent will time out after 7 days (this is to keep Redis memory usage down), but you can extend this to whatever time limit you like. Messages are queued, when you collect the pending messages it collects them all and deletes them from the database.

Ok, how to use client side? Here is a simple class (erm I mean collection of functions) with an awesome original name that I ripped out of one of my games for you guys to use:

var Backend = {};

Backend.SendMessage = function(data, done_callback)
{
    var url = "https://yourdomain.com/msys?c=s&t=<your token>";
    url += "&g=1";
    url += "&u=" + data.to_id;
    url += "&d=" + encodeURIComponent(JSON.stringify(data));
    b5.Utils.SendGetRequest(url, function(response) {
        if (done_callback !== undefined)
            done_callback(response);
    })
}

Backend.SendMessageMulti = function(recipients, data, done_callback)
{
    var users = "";
    var len = recipients.length;
    for (var t = 0; t < len; t++)
    {
        users += recipients[t];
        if (t < (len - 1))
            users += "_";
    }
    var url = "https://yourdomain.com/msys?c=s&t=<your token>";
    url += "&g=1";
    url += "&m=" + users;
    url += "&d=" + encodeURIComponent(JSON.stringify(data));
    b5.Utils.SendGetRequest(url, function(response) {
        if (done_callback !== undefined)
            done_callback(response);
    })
}

Backend.GetMessages = function(done_callback)
{
    var url = "https://yourdomain.com/msys?c=g&t=<your token>";
    url += "&g=1";
    url += "&u=" + Social.GetPlayerID();
    b5.Utils.SendGetRequest(url, function(response) {
        if (response.status == 200)
        {
            var data = decodeURIComponent(response.responseText);
            var obj = JSON.parse("[" + data + "]");

            if (done_callback !== undefined)
                done_callback(obj);
        }
        else
        {
            if (done_callback !== undefined)
                done_callback();
        }
    })
}

There are a few functions in here that you will need to implement yourself:

  • Social.GetPlayerID() – Replaced with your players user ID, if you are using Facebook Instants SDK then use FBInstant.player.getID()
  • b5.Utils.SendGetRequest() – Performs a GET request, e.g:
b5.Utils.SendGetRequest = function(url, callback)
{
    var req = new XMLHttpRequest();
    req.onreadystatechange = function()
    {
        if (callback != undefined && req.readyState == 4)
            callback(req);
    }
    req.open("GET", url, true);
    req.send();
}

Anyway, that’s it, hope you find more useful than I did. Happy coding :) .

Big List of Popular Flash, HTML5 and Unity 3D Web Gaming Portals

Big list of web game portals / sites that accept games mainly from Flash, HTML5 and Unity 3D developers:

Facebook Alexa rank 3
Y8 Alexa rank 761
Kongregate Alexa rank 1375
Miniclip Alexa rank 1750
Kizi Alexa rank 1816
Newgrounds Alexa rank 2624
Poki Alexa rank 2985
itch.io Alexa rank 3449
Armor Games Alexa rank 3472
A10 Alexa rank 4164
Pogo Alexa rank 4955
Big Fish Games Alexa rank 5113
AGame Alexa rank 6009
Addicting Games Alexa rank 6657
Paco Games Alexa rank 8024
Girls Go Games Alexa rank 9280
Zepak Alexa rank 9516
Ninja Kiwi Alexa rank 10681
io Games Space Alexa rank 11295
NotDoppler Alexa rank 14516
Games Games Alexa rank 15194
Yepi Games Alexa rank 21526
Nitrome Alexa rank 24779
KHBG Games Alexa rank 24690
Game House Alexa rank 28541
Free Online Games Alexa rank 28628
Games Freak Alexa rank 35802
MAD Alexa rank 36964
Box10 Alexa rank 43227
One More Level Alexa rank 48128
Mouse Breaker Alexa rank 52226
Games 2 Girls Alexa rank 54837
io-games Alexa rank 56104
Fun Brain Alexa rank 57127
Frip Alexa rank 60455
Puff Games Alexa rank 65496
Crazy Monkey Games Alexa rank 68705
Flash Games 247 Alexa rank 72799
Game Gape Alexa rank 76718
Mind Jolt Alexa rank 78550
Bubble Box Alexa rank 80294
Cool Games Alexa rank 90502
Zapak Alexa rank 95136
GameZ Hero Alexa rank 109726
Spil Games Alexa rank 152091
Game Garage Alexa rank 1295785

* Alexa rank accurate as of 2nd October 2017