May 30 2010

PlayerIO launches database solution

Last Thursday, PlayerIO added a persistent data solution to the PlayerIO white-label multiplayer services.

With BigDB you’re getting a complete database that is especially built for the usage scenarios of games, and that will handle any load you can throw at it. You don’t have to buy, host, or manage your own database server, since BigDB is part of the Player.IO cloud services.

This is a really big thing.*

Puzzle Runners, my in-progress project, is built using PIO as it’s back-end but didn’t need persistent data. (At some point I need to write a ‘How to use PlayerIO services in a game developed with FlashDevelop and the FlexSDK’ tutorial because all the examples assume working under the FlashIDE… expect that sometime after I release Puzzle Runners) My experience with their API has been almost wholly positive, and the all their services are still free while they’re in Beta. If you’ve been contemplating a multiplayer flash game, but discarded PIO because you would have had to run a separate DB server, you should probably take another look.

*- Within the context of flash game development.

May 22 2010

Why in-game ads (Updated)

Here’s why…

Below is a screenshot of my developer’s dashboard, showing the number of ad impressions in a group of random weeks. (Most players are not playing on, or even aware that it exists and that’s fine with me.)

Below is this week (I had to do a cut and paste to make the screenshot fit in my blog layout… The black line is to make the location of the break obvious, and the other splotch of black is to obfuscate a line which lists todays earnings.) Notice how my normal baseline gets compressed to a near horizontal line near the x-axis:

The vast majority of those impressions are coming from DayTrader, which I released 2 years ago. I’ve done no promotion for that game since. Even though most of the players seem to be in developing countries, and my eCPM is around US$0.05 for that traffic, DayTrader is paying the cost of this server today. (And since the rightmost dot will keep slowly creeping up for the next several hours, quite possibly tomorrow).

So that’s why the ads are there. I still think it would be madness to write a business plan that solely was dependent on in-game ads for revenue– one minor contract or small sponsorship will cover the costs of my hobby into next year and beyond. But they let me capture random spikes like this with no cost to the player, so they’ll stay in. Even though they can be a bit annoying.

EDIT 5/23/10:
So Daytrader ended yesterday with 16k impressions/plays, and looks like it’s going to do about the same today. I also figured out what was occurring:

The traffic is mostly playing at a site “”.* I knew that from the start of the spike, but I couldn’t figure out -why- the game was getting played there. As it turns out, Daytrader is sitting on it’s front page at the moment. Whatzfun is a minor arcade, with 26 games. What’s interesting is what games it’s providing– they’re all either stock market/trading games or hospital games. The site is using 2 Google Ad-sense ads, a Wild Tangent skyscraper ad, and a footer which is some type of referral program with a site called “”. I’m not familiar with zstage, Wild Tangent and Google are contextual ad providers. With Google it’s possible to look up** what it would cost to advertise in those spots by checking what it would cost to advertise for keywords such as ‘Stock Market’, ‘Daytrader’, or ‘Broker’.

Keyword CPC
Broker $4.83-$6.48
Daytrader $1.98-$2.47
Stock Market $3.64-$5.20
Stocks $3.44-$5.16
Trading System $3.36-$4.25
game $0.44-$0.65
flash game $0.41-$0.61

Data acquired from Google AdWords Traffic Estimator at 2:23 pm AKDT on May 23, 2010. CPC is an abbreviation for ‘Cost-Per-Click’ and is what the advertiser is paying Google for each click the ad generates. (Google then pays the website running the ad some percentage of that).

One of the mysteries of the web is that if you get enough people to look at something, eventually someone will click it. Assuming the webmaster for “” has a way to get traffic to his site cheaper than what he’s making from the contextual ads, he’ll turn a profit. To give himself the best chance of doing so he’s targeting high CPC keywords. Best of luck to him, he’s welcome to use my game in his plan… I was baffled and concerned because there was no reason for -this game- to develop a following at this time. I’m much happier knowing that it didn’t, and the reason for the sudden increase in plays.

*- I feel under no obligation to provide a link. You’re smart enough to enter the address in your browser if you’re curious.

**- The link has a session id variable in it, so it may not persist. Do a search for ‘Google Adwords Estimator’ and you’ll find the tool if the link breaks. Obviously, be smart and use the search result that points at an https from…

EDIT 5/25:
26,000 plays yesterday. Up from a long term average of about 100 per day. Put another way, my DAU (daily active users) has increased by a factor of 260 times over the past 4 days. I’m choosing to assume that will continue, and I’ll have 6.2 million DAU by Friday, and 1.7 BILLION users by next Tues. NightflyerGames will acquire both Activision and Electronic Arts the week after. LOL :)

May 10 2010

Puzzle Runners passes the black triangle!

(Puzzle Runners is the the title of the game I mentioned in this post. I’m pretty bad at staying cryptic. :))

So, a few minutes ago I had my black triangle moment for this project!! The single player game works, but I knew that wasn’t going to be a problem. I’ve never done any type of multiplayer before and I’m using PlayerIO‘s white label multiplayer servers. I wasn’t sure I could pull that off, because PlayerIO assumes that you’re developing your client with Flash… but I don’t actually use the Flash authoring tool, I write my code in FlashDevelop and compile with the FlexSDK.

Anyway, despite (actually, in part because I’m) using a bounce server, Puzzle Runners needs a (for my skill level) fairly complex message handling system. I’ve spent the past 5 days trying to get it to come together. And now it has:

What you’re seeing is a screenshot of FD’s output window, which is where traces are displayed. (In AS3 traces are basically console print statements to aid in debugging). In the screenshot, the client has received a message asking for an index needed for part of the setup (type A1), and then generated and sent a message containing that index (type A2). And the A1 message was originally generated by a second client, and bounced off the remote server. So my message handler works! PlayerIO works happily with the FlexSDK! There are no major (technical) hurdles left to building the game! :)


May 09 2010

Ludum Dare 17 Results are Released

The results from LD17 are now released, and available here. There were 204 entries.

If you want to know how my entry did, click read more.
Read more »

May 03 2010

What I’m slowly working on

So, LD17 is over, but I am working on another project. I actually started work on April 7th, thinking I’d have it done in time to release before LD, planning to use it as a warm-up for the contest since I hadn’t programmed anything in a while.

Yeah, right. :)

But it’s been turning into a decent little game.  Here’s a screenshot over on the right. (My drawing ability has not magically improved, the sprites are from here, a Japanese team called REFMAP with a license friendly to commercial games.) If you look closely, there’s enough information in that screen shot to tell what the game is about. Otherwise you’ll have to wait a few weeks for the public beta. 😉

You’ll notice that one of the characters is named, ‘Guest’.  Although I’m implementing at least two player authentication systems, if you don’t have an account with one of them, and don’t want to sign up for one, you’ll still be able to play. Unlike one recently released indie game. Whose development I’ve been following. And which I wanted to try  :(

At the moment, the other characters are actually AI’s. To get the names I found a list of popular names for babies, published by the Social Security Administration. I wouldn’t have remembered that, but this time I’m keeping a log of my work, in addition to my (paper) design notebook.

The single player mode is -done-. There’s still a lot of UI work, and getting the multiplayer mode running. (Fortunately, I wrote the single player mode in such a way that this should be easy. Well, easy-ish anyways…)


(Being cryptic about upcoming games is apparently the in thing these days.)