Subscribe to GameFromScratch on YouTube Support GameFromScratch on Patreon

15. July 2012


Here at, we have run a number of guides on how to create games but nothing on how to actually make money off them.  The following is a guest post by Ben Chong, an HTML5 game developer and founder of

The advice, views and opinions expressed below are not necessarily those of


It’s been 6 months since the last guide about monetization was written. Considering how fast things are moving with HTML5 games, it’s timely to write a new one. Please note, this guide chooses the path of least resistance to the money.

Chrome Web Store

Probably the easiest to begin with. Host your game, run ads on it. Two ad networks to trust are

  • Google Adsense - variable rates, but it depends a lot on what’s on your game page. Try inserting HTML5 related keywords, because companies are spending more money on HTML5-related ads. You’ve probably seen countless “Ludei ❤ HTML5 “ and “CocoonJS” ads. Capitalize on this, and make sure some of that ad spend trickles into your pocket.
  • Ad4Game - this network displays pure game ads. You’ll be promoting other games from large game studios. eCPMs of about $1.50 - 2.00, and they do very timely NET30 Paypal payments. Contact Angelica, tell her that your game’s on the Chrome Web Store. She’ll be delighted to set you up.

If you’re feeling brave, try out Google’s In-App Payments API. It might take an hour to figure out and a few more to integrate with your game. That is, assuming that your game actually functions well with in-app purchases.

Being featured matters a lot in the Web Store.

A normal featured game fetches about 1000 plays/day. A game featured on the front page of the games section, right at the top gets about 60,000 plays/day, or 60x.

Google loves it when you showcase what their engineers have built. If you want to get your game featured, remember to integrate some of Google’s APIs: WebGL, Chrome Fullscreen, Web Audio, etc. You can’t obviously integrate all of them, but having a few will give you a boost over other game devs. Once you’re ready, start pitching playable games to Google developer advocates. You can find them all here.

Costs: your server hosting fees, integration time and pitching time

iOS and Android

Deploy your game using one of the many wrapper tools out there, like appMobi, Ludei’s CocoonJS, GameClosure and Spaceport.

Ludei seems to be the only one publicly telling the world how great their engine is. They’ve got the entire monetization suite ( iAds and in-app purchases ), which is always a bonus for developers.

The upside is, once you manage to successfully master one of the tools above, you get access to virtually 100% of the mobile app market. Whether people will actually download your game is an entirely different topic.

Before launching your game, remember that you have only one shot at this. If your game flops in the App Store, you might be able to save it by doing free-app-a-day promotions/price manipulations. However, the download spikes you get from promotions do not last. Your game will be piled under 1000 new games being published each day. Find your niche, and market wisely via developer forums like TouchArcade. Don’t forget to pitch to blogs like Kotaku, they always enjoy a good story.


  • appMobi charges $99 for a game dev toolkit.
  • Spaceport takes 10% of anything you earn.
  • CocoonJS and GameClosure are free, but you need to personally contact the companies.
  • hours in learning how to use the tools and integrating with your game.
  • iOS dev account costs $99/year.
  • Google Play account costs $25/year.


Facebook canvas games don’t get the attention they deserve, but they’re still wildly profitable if done right. The virality from game invites/activities are what you should be focusing on when designing a Facebook game.

Ads and virtual goods (Facebook Credits) work well here. Note that Facebook doesn’t allow google ads running, so you need to look for other game-focused ad partners like Ad4Game.

Another caveat: not all HTML5 games will work perfectly on Facebook, because they still have a percentage of users that have older browsers. What to do? Your best bet is to politely ask them to download and use Chrome, or the Google Chrome Frame plugin.


  • server hosting fees
  • integration time with Facebook APIs

Mac App Store

Not as popular as the iOS App Store, but worth a shot. One of the earliest HTML5 games we noticed here was Onslaught Arena.

Google+ Games

Google is a bit picky when it comes to selecting partners, on grounds of maintaining the user experience. You need to have a reputation and a hit game to be considered ( think Triple Town ).

Intel App Up Store

Intel gives you access to the PC app market. No hard numbers on revenue, but they run a small fund to encourage developers.

Pokki Store

Pokki gives you access to the desktop games market. Wrap your game inside their SDK and deploy! We don’t have hard numbers of how well their games monetize. Last we know, they ran a HTML5 games contest which proved lucrative.

Mozilla App Marketplace

Should launch in late Q3 2012. Firefox has about 25-28% of the browser market. Putting your games here should theoretically produce similar revenue numbers to that of the Chrome Web Store. Mozilla has bigger plans ahead, particularly in mobile. Would be interesting to see if this ties in well with the App Marketplace.

Sell distribution rights

An increasing number of publishers are looking to pepper their own game portals with fresh HTML5 content.

These publishers are looking to license games that run on the web and mobile ( yes, games that run on the mobile safari/android). There are a few ways you can capitalize on this:

  • sell exclusive rights for a high price ( $1500 - 2000+ ) to one publisher/
  • sell non exclusive rights for $500+, to multiple publishers.
  • sell distribution rights to publishers, and take 60-80% from all ad/virtual goods revenue generated

You are free to negotiate any type of deal with publishers. Most developers prefer upfront payments, but if you think the publisher has impressive reach, doing a revenue split from ads/virtual goods might be a smart move. A top developer recently made 4 figures a month from Google ads alone.


  • time to optimize your game for the mobile web.
  • time to integrate your game with the publisher’s APIs ( if required ).

How do I find these publishers?
  • Our startup, marketJS connects HTML5 game developers with publishers. It’s free to use, and we’ve got a good database of publishers hungry for games. Upload a game, and start negotiating!

So many choices

There’s no single best option to monetize your games. Build a team, adopt a shotgun approach, analyze results and seek advice from other developers.

Can I go full-time making HTML5 games?

Yes, you can make a high 5 figures/year by making HTML5 games. This excludes development contracts and funded projects. Snag a few of those, and you might even hit 6 figures.

Pick your battles, test each market, and keep polishing. The games industry is very competitive, but extremely fulfilling.

General ,

blog comments powered by Disqus

Month List

Popular Comments

Creating a game sprite: Modelling in Blender Part 2: Box Modelling the basic outline
Subscribe to GameFromScratch on YouTube Support GameFromScratch on Patreon

Home > Art >

15. August 2013


In this part of the tutorial we are going to start modelling the outline of our jet model.  It all starts with a box and involves only a handful of operations.  You may have noticed up until now, all of the various top view reference images I’ve created have only been half of the jet sprite.  This is because we the jet sprite is symmetrically identical, in that the left and right side of the image are identical.  As a lazy guy, if I can do half the work, I do half the work! 


Setting up for mirrored modelling.


First thing we want to do is create a cube (Add->Mesh->Cube) at the origin.  It’s important to be exactly at the origin to start.  You can position it numerically in the Properties panel:


Make sure X, Y and Z coordinates are all at zero.

Now go into Edit mode, and in the top view, insert an edge loop directly at the center.  ( Ctrl + R, then accept(Enter) the initial position, it will already be centered. )  If done right, it will look like this:




In vertex mode, make sure you have nothing selected ( A ), then select the vertices on the side that has no reference image.  One important concept to be aware of is how selection works.  By default, if you select multiple vertices, it will only select the visible ones.  In this case, when in the top view, the front vertices obscure the back vertices.  Here we want to select all vertices, not just the visible ones.  When you aren’t in X-Ray mode ( Z ), you can change the way selection works using this button:




Now select the right most vertices and delete ( X ) and select Vertices from the menu:



You should now be left with:



Now we want to apply a mirror modifier.  First we want to make sure that the pivot is also at the origin.  You can also do this in the 3D View Properties ( N ) panel.  Please not, this isn’t specifically required, I have however found the process goes much smoother if you model about the origin.



Switch out of Edit mode to Object mode and make sure your Cube is selected.

Now in the (other… yeah, it’s confusing ) Properties Window ( this guy image), select Modifiers.

Now drop down the Add Modifier combo and select Mirror:



Now in the settings for the Mirror, enable Clipping, which will keep edits from crossing the mirror line.  In other words, you wont be able to move a vertices across the mirrored axis, creating screwy geometry.



If everything went correctly, you should see:



Now that the Mirror modifier is applied, now if you make changes to the geometry, it is mirrored, like so:



Woot!  Half the work from this point on!


Basics of Box Modelling


Now we are going to start roughing in the shape of our jet, using basically two tools, extrude and insert edge loops.


There are a couple things to keep in mind when modelling.

1- keep it simple stupid (KISS).  In this case though, that means something different.  It’s very easy to add detail later, but can be incredibly tricky to take it away.

2- prefer quads.  It’s a lot like rule one.  You can easily turn a quad into a triangle by cutting it in half, but the opposite isn’t true.  It’s easy to sub-divide a quad surface and the results are more reliable.  Since BMesh was added to Blender, you’ve got the option of creating > 4 sided polygons and it can be a huge time saver, but it can also result in some strange artefacts when you render or smooth your mesh.  Keep in mind in the end whether you render or export to a game engine, they all get turned into triangles in the end.  So the thing you model with ngons still needs to be able to be turned into triangles.

3- edge loops.  It’s all about edge loops.  Edge loops enable you to make huge changes to large amounts of geometry in one fell swoop.  The also cleanly define the contours of your mesh, pay attention to them!  If you haven’t got a clue what an edge loop is, read this.  If you have a choice between keeping it simple, or keeping your edge loop clean, keep your edge loops clean, especially if you aren’t doing low polygon work.


Ok, let’s get started.

First lets move our newly mirrored box forward toward where the cockpit starts to slop down and move the outer back vertices in toward the center to for the general outline of the cockpit area back to the engine.  Like this:




Now we are going to rough in the front of the plane.  Select the front most face, then extrude slightly along the Y axis ( E then Y ).  Do this three times, like this:





Now move the individual vertices to roughly match the background in the top and side view, somewhat like this:



Now we are starting to get a bit more jet-like.  OK, not really, but it aint just a cube now!


Now lets add a pair of loop cuts (Ctrl + R, left click then slide and enter when done) , like so:





Now switch from Vertices to Face (Ctrl + 3) editing mode and extrude ( E then Z ) along the Z axis our two of the top polygons to make our cockpit.  Like so:



Now we rough in the intake area/side tail.  Select these two polygons:



Extrude ever so slightly along the X axis:



Now select the front most edge of our newly extruded faces and rotate it along the X ( R then X ) axis to roughly parallel the front intake, like so:

(Of course, you could have simply edited the vertices too…)



Now move the vertices of our newly created and freshly rotated face to mostly match the reference image:



Next extrude those faces one more time, like this:



At this point, slide the vertices around in the top view to more accurately match the reference image, then select the back most face in our newest created geometry:



And extrude it back like so:



And move edges/vertices around to match the background a bit closer, and we have:



We certainly aren’t there yet, but it looks a bit more jet like at least!

Click here for the Next Part

Art ,

blog comments powered by Disqus

Month List

Popular Comments