SteamBirds Sells!

I guess saying “Steambirds Sells” is a bit of a misnomer, but “has been licensed!” doesn’t sound as cool.

Last Wednesday SteamBirds went live on ArmorGames.com! Click here to play it.

I’ll make a retrospective post with sale details and game performance in a week or two, but right now the game is doing very well. 93% of players play for over 2 minutes, which is an incredibly low bounce rate. The average person reloads the game 6 times, 15% of people hit the mute button, and 1.5% of people check out the credits page. Game has been out for around 4 days and I’ve already hit 500k game loads, and close to 5 million level plays.

Whee, stats!

8 Comments

Shots from Across the Street

Triage (get it?)There’s an awesome park across the street from my place; nice little hill covered with plants and trees. I often take my camera out there but haven’t uploaded any photos from my excursions yet.

This here is one of my favorite trees on the place. It’s sitting right near the top and stands fairly alone, contrasting against the sky, as you can see. (click for larger image).

I also found a nice winter berry bush, and a collection of flora from the base of the mountain.

0 Comments

Bayesian Ratings: Your Salvation for User-Generated Content

I’ve been meaning to write this article for about 6 months now, and it’s about time I got it off my chest. I’ll preface this by saying I don’t “know the lingo” of statistics and might get a few phrasings incorrect, but the article should otherwise stand on it’s own.

The Problem

Protonaut is a game that relies (in a very hard way) on user-generated content, and I wasn’t sure how to approach the presentation of it. As Community Manager for Fantastic Contraption, I’ve watched the community struggle with content management. Common questions or feature requests would revolve around a few key issues:

  • How do I find the latest good levels to play?
  • How do I find the best all-time content?
  • How do I know which of my levels were the most popular.. in the last week?
  • What are some promising newly-created levels?
  • What new levels are complete crap?
  • What authors produce the best levels?
  • How can we deal with people who always down-vote content other than their own?
  • And conversely, how do we deal with people who only up-vote their own content?

Even with me diving into Google Analytics for the whole domain (or using some third-party applications), most of these questions are impossible to answer; even those that came close were very difficult to deal with in an in-game setting.

The Common Solution

Most games implement the most basic ranking systems: offering a choice of (usually) 0 to 5 stars, and allowing you to sort the resultant list of median scores. This, unfortunately, has dozens of problems. The only real value in such systems is finding the “best score of all time,” and even then it does it poorly (not accounting for chronic upvoters or downvoters). Not to say that it isn’t easy to implement; indeed, it could hardly get simpler, and any lazy programmer such as myself will argue that “good enough is perfect.” But is it?

Each ranking system has several components; the voting system, the ranking system, the sorting system, and an optional adjustment system. There are various pros and cons to consider in the foundation — the ranking portion — of your system: Should you simply have a “like” button, as in your Facebook feed? Should you have upvote/downvote system? Should you have a scale of 3 stars? 5 stars? 9 chainsaws? 10 stars?

Each choice you make in the construction of your content-feedback system ads to a layer of complexity and results in a whack of cascading consequences, that will likely change your subsequent decisions. What looks simple on the surface can ruin your community-friendly ecosystem, and what looks dauntingly complex is shied-away from by most developers.

Thankfully, many people have done the thinking for us, and this will be one more article for the mix.

Understanding the Consequences

There are dozens of research papers out there on some of the different voting styles. I’m too lazy to make it convenient for you by linking some here; it’s been 6 months since I’ve read up on them, but feel free to Google them for yourself. Some of the key takeaways from actual research have been:

  • Given a neutral choice in addition to a positive/negative choice, neutral will be chosen way more often than the others. Since neutral is a non-vote that hardly effects the statistics, it’s just giving someone an “out” from making a decision.
  • Given a large-scale choice (such as 1-10 stars), people will either vote to the extremes (1 or 10) to game the system, or vote 7. “7″  votes are so statistically huge that any 10-star system skews towards it; it becomes the new “neutral” and is the “safe vote” that makes everyone feel happy. There’s even a running joke that game magazines only ever rank video games “7/10″.
  • Given a “like” button with no alternative, or only positive-scale responses, it’s hard to generate true statistics (there’s no way to differentiate between “all-right” and “this content is so horrible nobody should ever see it”).
  • After your user base reaches a large enough size, more and more people will take to “strategic voting”; voting the maximum on things you like and minimum on things you dislike.
  • Giving an incentive to voting will drastically increase your response rate, but also predictably produce spam votes, or votes “just for the reward” without any thought. It will also amplify any of the above listed effects.

I strongly recommend you take a look at your planned voting style and do a full bout of research on it. Check out Google Scholar and find some actual results, instead of going from what your heart says. Or better yet, build a system however you want and observe the results, and change them to suit your needs.

How Bayesian Sets Up The Stage

A Bayesian Rating system tackles most of our problems head-on. Let’s step through how it works.

Let’s say we’re dealing with user-generated levels in a video game. A brand new level shouldn’t be rated at 0; users will never find your new content, as it would be buried under all your crap content. Likewise, it’s unfair to make new levels with the maximum possible score, as people will spam bad levels just to remain at the top of the list. Most often, people will set the Bayesian rating to be somewhere in the middle – say, 50%. This way, every level starts off with a “fair chance”.

As more and more people vote on your level, the score will start to normalize towards the actual statistical median instead of the artifically-engineered 50% rating. This way, if a single user-made level gets 10 up-votes in a row, it’s ranking will appear as such:

  • 50% with 0 votes
  • 60% with 1 vote
  • 80% with 4 votes
  • 90% with 8 votes
  • 100% with 10 votes

The magic behind the Bayesian system is this weighting (or dampening) system. It’s influenced by what is referred to as a “magic number”; this figure tells you how many votes need to be cast before the Bayesian weighting is no longer in effect, and the score truly is a median of all the other scores.

The weighting system actually takes into account the variety of scores, as well. If you only have two levels, one gets a 75% score and the other gets a 30% score, one will show up as 0 and the other as 10 stars. There is always a minimum and a maximum represented, and everything in between is taken as a scale of those two figures. This solves a great deal of weighting and balancing problems with large-range systems, and compensates for situations where nobody has ever voted 100% or 0% (or where everybody votes for a narrow range of percentages).

Essentially, what the weighting mechanic is doing is “making up” votes for things that don’t have enough votes to get real meaningful data to start with.

How We Can Take It To The Next Level

It’s not just that simple though! We can crank this baby up to the next level so you never need to tune it yourself ever again.

For example; who says 50% is the optimal “starting value”? Isn’t it more fair to make the entry-level rating the median of all current scores? Why not! You can calculate your new starting value on-the-fly by looking at all your current content. This means that every user-contributed piece of content will have it’s relative scores affected by every single vote cast.

And the magic doesn’t stop there; why hard-code your magic-number to something like “10 votes” when you can make it a variable as well? Make the magic number equivalent to the median number of votes across all your content. This again will make the scores of everything change with a single vote cast, but it helps corral fringe cases and unexpected userbase expansion (or contraction) as well. Imagine you run an online store where almost everything gets a 60% vote. Then all of a sudden, one particular item you have for sale attracts a huge bag of traffic and everyone votes 100% on this new product (without casting votes on all your older stuff).

As each vote is cast, your older products would normally be scaled farther and farther down the “top” lists. However, they are also sinking deeper and deeper into the “magic number” and the score is being balanced more towards your 0-vote figure. This figure in turn is going upwards, as the new product is heavily increasing your median score!

The system is amazingly resilient and self-balancing. If a lot of levels are made and nobody votes, the system compensates. If a single item gets a lot of votes, the system compensates. If you have a thousand votes on every item, the system compensates.

Protonaut uses all of these tweaks for it’s level ranking and system generation. To keep my database from being fried, I recalculate my Bayesian constants once per day (instead of on every vote being cast), so as the clock turns over at midnight you will often see levels rise or drop in ranking to reflect the day’s votes.

Furthermore, Protonaut looks at your average vote cast and uses that as a weight against how much your vote should be “worth” in the first place. This makes everyone’s vote count, but chronic upvoters (or downvoters!) will be technically punished for their preference.

This also helps stem runaway-voting on levels; a popular level floats to the top of the list, everyone plays it, and everyone votes it upward because it’s good — well if you only ever vote up, the system knows this and scales your votes back a bit. Players that explore the deep content of the game (as opposed to just browsing the top ten list) get a heftier vote. If that wasn’t fancy enough, the average-user-vote value is bayesian-ranked itself!

And BAM — there we have it! A benefit for voting, that self-regulates and balances as well. It’s a whole lot harder to game this system, and it rewards the true fans of the game.

Furthermore, I optionally artificially reduce each Bayesian-generated score by how many level IDs precede it, thus making it an excellent adjustable time-based system (a truly epic level could stay at the top of the list, but most levels will disappear in the natural “churn” of things).

It really is a beautiful system. And easy to implement, too. Taken from the link below, this is the basic bayesian formula:

Use this equation:

br = ( (avg_num_votes * avg_rating) + (this_num_votes * this_rating) ) / (avg_num_votes + this_num_votes)

Legend:

  • avg_num_votes: The average number of votes of all items that have num_votes>0
  • avg_rating: The average rating of each item (again, of those that have num_votes>0)
  • this_num_votes: number of votes for this item
  • this_rating: the rating of this item

Some links for further reading

Have any questions about Bayesian ratings? Used them yourself? Success story? Horror story? Post it to the comments! I’d love to hear about it.

7 Comments

Comparing Open vs. Closed Development

Open Development

Open Development is a practice where, in game design, many builds are presented to the end-user throughout the design stage (well before beta or even alpha stages), and typically a forum or blog feedback system is in place for discussion and inclusion of the public. The idea is to get feedback very early — well before things get sent down the production river, and to ensure you’re making a product that resonates with your audience.

Studios like Data Realms (Cortex Command) and Wolfire (Overgrowth) are famous for this development style. I also used this method for the development of Space Squid.

The major advantages of Open Development are Marketing (you can build a following early), User Testing, and early direct-feedback to guide your design. For me, open development helped gave me confidence that what I was making was indeed worthy of this Earth.

The biggest disadvantage (for me anyway) was simply time. Blogging every day about changes to Space Squid was a chore that took up more effort than I’d like to spend. There’s also the danger that your development gets sent down the wrong path; after all, the public isn’t very good at Game Design. Larger studios say that secrecy is a necessity, though I’m not sure why. Something to do with marketing and advertising budgets? Legal concerns with who gets credit maybe?

Open Development also puts a bit of pressure on you to keep the project in a playable state. For Space Squid, I was trying to have a playable build every day — which means no half-finished code, no “I’ll finish this up tomorrow.” This lead me to cut some corners I probably shouldn’t have.

Closed Development

Closed Development is what people probably think of as the status-quo. The public is rarely aware the product even exists until marketing begins, and public input is not sought. Developers are free to design the game as they see fit, and will sometimes do closed-testing (paid user feedback testing, closed alphas/betas, etc.) if the are smart.

Every single big-name studio I can think of utilizes this method of development, and some independent developers will end up making their projects this way just because they don’t want to spend their time blogging. I used this development method for Steambirds.

The disadvantages to closed development is the lack of constant, unbiased, public input. A lot of time the user testing is done internally (giving biased results), and a paid Game Designer is simply trusted to know what he’s doing (and if he doesn’t do well, it is assumed he doesn’t get as much work in the future). You also miss out on the long-term marketing strategy (building up a fan base, making people feel included in the game development cycle, etc).

A huge advantage, though, is being able to keep your head down and just getting it done. No worrying about every-day release schedules, being able to have code checked out for weeks on end, no having to itemize and publicize every single thing you do. And if you (and your game-design friends) are absolutely convinced the gameplay is perfect as-is; why bother bringing the public in on it?

Except, of course, the danger that you’re wrong? :)

What’s Better?

Neither! As usual, things aren’t black-and-white. I don’t have marketing budgets or legal issues to worry about, but I’m also too damned lazy to blog every single day. I value the input and feedback of the public, but the public often doesn’t understand what I’m trying to do, and can’t see past a few visual glitches to the gameplay underneath.

While developing Protonaut I posted once a week instead of once a day. I often pooled major new ideas into a big release that I could then do the equivalent of alpha-tests on. I spent a long time with the game in a not-working state, but I also kept it to myself and let the fans play with the last stable build. It wasn’t quite perfect, but it was a better shade of grey.

Designing to your Strengths

Everyone has their own preferences and their own styles. I know I’m a people-person; I like to post blogs and I like hearing feedback (and can take criticism) from the public. I also know I have a particular weakness for trying to incorporate everything the public suggests; every idea is an excellent one, and the scope or original vision is quickly lost if I don’t keep myself in check.

I’m still working on finding a balance. Protonaut was still too open for my tastes and SteamBirds was way too quiet. At least I know where I’ve been, and the direction I want to go. All I can ask of the other developers out there is to actually try both extremes before making a decision on where you should go next!

2 Comments

Blog Relocation: Complete

Finally! Got my blog moved over to my own domain. My old blogger account can now die. Farewell, Aught Nine; it was nice while it lasted, but it could only last a year.

I’ll be working on making this site themed up nicely and have some links to my games. For now, why don’t you check out my SteamBirds trailer?

0 Comments

The End of Aught Nine

Well, the year has come to a close. I started this blog knowing it would only last a year — but don’t worry! I’ll be firing up a proper blog on my own website (andymoore.ca) soon. I’ll make another post here to announce it, and I’ll see about exporting these posts there.

Protonaut is an exercise in open development. I make a blog post just about every time I build a [working] update to the game, involve a lot of people in obtaining feedback, and have a lot of fun doing it! I haven’t been updating recently because Protonaut has been on hold (dev ramps up again soon!) and I’ve been working on a new, top-secret project.
It’s just an experiment: Switching from Open development to Secret development will allow me to get some perspective on how the two systems work with each other.

I think a retrospective is in order! When I first started this blog, I made some goals for myself. Here’s how they shook out:

  • I will finish moving out of my house in this next week.
    COMPLETE! I am now living with my girl, Aubrey, and have been quite happy.
  • I will sell or give away most of my material goods by February 1st.
    MOSTLY COMPLETE! I have to say that living out of a backpack is quite liberating. When I only really own a backpack, clothes, and a laptop it simplifies life quite a bit. I have a few other odds and ends that I’m still trying to sell or holding on to — a Wii and a Projector to watch the occasional movie on — but I’m happy to ditch it all at a moment’s notice.
  • I will continue working on my various web contracts to pay for my bills.
    DONE! I’ve gained new exciting contracts over the last year.
  • I will make an effort to cut expenses.
    COMPLETE! Aubrey has taught me the magic of making my own food (gasp, shock). I’ve actually got a handsome sum in the bank right now! I’m quite proud.
  • I will finish all of my half-finished projects by April 1st.
    FAILED! I think this one wasn’t destined to win through. It only makes sense to finish a project if I actually have plans or interest in them… What I ended up doing was take all my half finished projects, archive them, and promised not to look at them ever again until I’m sure I need them.
  • I will continue brainstorming at least one new application or game per week.
    KINDA. I think what I was aiming for with this goal was to make sure that I was constantly thinking and working on innovation and revision, rather than focusing on and over-developing single (flawed?) applications. I think I successfully avoided this, but in a way I didn’t expect: I ended up picking a single mechanic and constantly revising and innovating on it, often changing the premise of my application several times before completion.
  • I will select a Flash Game from my list and create it by November 1st.
    LOL. I definitely succeeded here! When I wrote that goal, I had zero actionscript experience and had only toyed with Flash itself for a few hours. My first game was complete in 30 days (finished May 1st), and I’ve now made a few more.
  • I will select a travel location and get there by September 1st.
    FAIL! Looks like real life got in the way of this one. Despite selling all my posessions and keeping my budget low, I don’t quite have enough money squirreled away to travel somewhere with confidence in my long-term survival. :(
  • I will spend New Years 09->10 in a foreign country.
    FAIL! As a successor to the above goal, it couldn’t succeed.
It turns out I was quite a bit more prolific than I thought I would, with flash applications. Here’s a bit of a timeline:
  1. In January, I started this Blog with high hopes. I had done no industry research and had no idea what was going on, really; I was aiming for the future blind.
  2. GDC March was the big turning point for me. I met up with the talented Greg Wohlwend, who I would later work with on projects, and got a massive dose of what was possible and how the industry worked in general. I was particularly inspired by Phil Hassey, Petri Purho, and other rapid-prototyping game developers.
  3. Space Squid was my first game, finished May 1st, 2009. I gave myself exactly 30 days to learn Actionscript, Flash, setup a dev environment, and build a game. I ended up going through around 20 core-gameplay revisions in that time, and posted most of them to this blog.I still look back at SpaceSquid fondly. There are several really good, fun game mechanic prototypes in it’s development cycle. I’m sure I could turn the basic premise into a set of a dozen fun games.

    Sadly, SpaceSquid wasn’t picked up by any sponsors or portals (for money). The gameplay lends itself to a quick 2-minute playthrough, with little motivation to move on. I’m happy I only spent 30 days on it, and I look at it like an excellent learning experience.

  4. Protonaut is still in development, but is my first mega-project. It has a lot of high hopes and future plans, but is currently in the last phases of development. Greg Wohlwend approached me to do the art on this one, and he’s been an excellent source of collaboration for design philosophy and mechanic tweaking.I’m still convinced Protonaut is going to be a successful title, earning me moneys. I really want the product to be juuust perfect though; it’s only going to have one day in the spotlight when I decide to start marketing it. A test-run mini-launch later in the year showed that people enjoyed the game and the mechanics, but were ultimately disappointed in the level selection. I’m going to have to get in there and whip up some premium content…

  5. GDC Austin was an absolute blast. Though the venue was a bit lacking compared to the San Francisco version earlier in the year, the people were awesome. A cozy, intimate set of indie devs all hanging out and having fun… Such joy. It was there that I met DanC, who I later started working with.
  6. Military Contracts are fun and very high paying (military flash apps? lol). I have to give huge thanks to Greg Wohlwend for passing on this job and handing it to me; it’s funding my next few games. :)
  7. The Wooden Fleet is a game I designed for LudumDare #16, the 48-hour-game-jam. I wanted to try my hand at writing a game in such a small timeframe, from scratch, doing all the assets myself…I ended up being pretty lazy about it. I watched a movie or two, I slept normally, and spent the weekend hanging out with my girl. In the odd hours of spare time I had, I ended up making a working game idea, but it is incredibly lacking in polish. Things like you can’t move diagonally, your support ships spam out due to a bug, and your movement is way too slow.

    I really enjoyed working on it though and perhaps sometime in the future I’ll revisit the project and make it playable.

  8. SteamBirds is my current Pride and Joy, and this should be the first time I’ve mentioned it to the public. :) This is my super top secret development, being made in association with Daniel Cook (DanC of LostGarden).SteamBirds is really close to my heart because the game type, mechanics, theme, genre, content, and story are all things that I truly love. This is a game being written by me, for me — obviously with modifications to make it more marketable. :)

    It’s currently scheduled to launch in January sometime. The first iteration is very near completion… I’m excited :)

There are several little things I left out from the list, and a lot of new projects and collaboration requests going down in the next few months. I daresay this is becoming a full-time gig!

All I need now is some bankrolling success!

In other news: My personal website, offering up my IT services, has resulted in zero business. I want to turn it into a proper site that showcases my work and houses a more permanent blog than this one-off AughtNine gig. I’ll post some details once I get something lined up.

I just hate designing web pages, is all. :( Maybe I can pay someone to do it for me…

2 Comments

Protonaut gets Goombas

Protonaut has gotten universal praise on one thing, and one thing only: Shooting.

There isn’t much to shoot in the game, and the feature is one almost stripped several times throughout development – but it’s hard to scrap the one feature that makes people squeal with delight.
With some recent upgrades to the sound files, shooting is just getting more and more delicious – firing that cannon truly is an enjoyable experience. But I needed something a bit more to shoot at than the occasional Nitrogen atom.
Enter stage right: Goombas. Can you tell Greg has been busy for the last few weeks? :) My art isn’t exactly befitting of the game :P
Goombas just walk left and right, and have pretty decent detection for obstacles and pits – and try to avoid them. I’m planning on make a jumper and a flyer of some sort eventually, but I’ll see how this plays out in the next few builds. They kill you on touch and don’t yet have any sort of projectile capacity.
Enemies might not end up in the final game. This production causes some fairly obvious problems, most obviously: the theme of the game is completely off with them. I’ll see how things work out in terms of gameplay and see if I need to rework the whole thing.
It’s too bad the Level Editor hasn’t gotten more attention. I really feel like the level editor is a standalone work of art, and making things is incredibly easy and seamless – with tons of tools at your disposal. It’s almost a direct correlary to my programming work not getting any notice, and the more artistic stuff getting the attention – nobody cares about the backend or the tools! It’s like I made the best hammer in the world but I haven’t found a carpenter to use it yet.
But such is the path of a programmer, I don’t really have the ability to complain about that one. :)
1 Comment

Signposts: New feature on Probation

Protonaut seriously needs a tutorial overhaul, and I’ve been thinking about how to best accomplish this. I originally envisioned putting “signposts” in the game, with static text on them – then the tutorial would be one big level with a lot of help along the way.

Before I had a chance to put in the signposts, I did a few tests – some people couldn’t beat my tutorial level! It was long, too difficult, and not very rewarding. An utter failure!

The signposts never made it in (instead opting for an “introduction” paragraph), and I broke the levels up into 10 easier (and more fulfilling) chunks. After launch, the complaints I get were – retrospectively – obvious: You now only get tutorial text at level launch, before it becomes relevant or obvious as to what it means. You cannot recall the tutorial text except by dying or restarting. A lot of folks took the tutorial text box as a “standard dialogue” and simply closed it.
One thing that really irks me is when players don’t read, and close the box that says “PRESS Z TO JUMP – THIS IS CONFIGURABLE IN OPTIONS” then complain that they can’t figure out how to jump or that Z is a stupid choice. Of course, I would do the same thing if it wasn’t my game, so yes: You, Sir Kettle, are black.
So, here is my proposed solution: an in-game signpost. You can test it here, though the text isn’t modifiable at this point (I need Greg to whip me up an interface to do so). I’m really interested to know what you think! Chime in with any thoughts or ideas. Here are some features:
  • The intro-box will remain for two reasons: Need the Click-on-level-load to capture keyboard focus, and it gives level designers a place to put a little backstory up if they so desire it.
  • The signpost text appears on touch only – thereby not “giving away” level elements or cluttering the screen.
  • The signpost trigger box is sizeable any way the level designer wishes. As the text appears from the center of the box, this allows for some creative control on where text appears.
  • The text fades out at a variable length, dependent on the 200WPM average that people read at.
  • Linebreaks work and the resultant text box auto-resizes to fit.
  • The signposts keep track of how often they have been touched, which can be recalled with the %COUNT% variable. This can eventually tie into a badge or victory condition (in the distant future) – allowing for laps counters or other more creative ventures.
  • The signposts respect your keyboard control configuration with the %LEFT%, %JUMP%, %RESET%, etc. variables.
  • The signpost trigger box is not yet art-ed up, art is not final :)
Again, try it out here, and let me know what you think!
2 Comments

Protonaut Beta Launch: A Retrospective

It’s been nearly a month since launch, and it’s time for a retrospective on Protonaut!

First up, I should explain away my absence for the last 30-odd days. I’d like to say I’m busy attending GDC and other business stuffs (which is partially true), but the actual reason has been crushing disappointment.
I really shouldn’t be disappointed. My brain is telling me that everything is allright, and I know things will work out in the end – as I believe I do have a viable product here. The problem is, my heart doesn’t handle disappointment well, and it’s screwing up how my brain is responding. Just today I’ve managed to bundle up all the emotion and kick it out the door, and I’m finally ready to move forward.
Let’s rewind a bit and explore what went wrong.
When I launched Protonaut, I knew I had a serious content problem. It’s the classic chicken-and-the-egg scenario; I have a game that heavily relies on user-made-content to generate traffic, and contained very little user-made-content. All of my fancy level promotion and ranking tools are useless until I have mass traffic. I decided to launch an “open beta” of sorts, and get some traffic flowing.
Colin had a tremendous amount of luck with JayIsGames in the past, for his game Fantastic Contraption. The traffic was of the perfect demographic and seemed to fit with what I wanted my userbase to be, so I got a review up on there – then halted all media interaction immediately. I didn’t want this to get out; it is still a beta, after all. The big release is yet to come!

And that’s the traffic graph that pretty much overlays over the week I was at GDC. What’s funny is I actually garnered more traffic than Fantastic Contraption did in it’s first week, and I got more traffic from JayIsGames than FC did after the review went online. My entire problem lies in retention.
That there is a delicious pie chart of where people left my game for good, their IP address never to grace my website again. 45% of my visitors were lost completely before even loading a level. I then proceeded to lose around 20% of my traffic at each stop in the tutorial, to the point where less than 1% of total traffic finished the tutorial in it’s entirety.
What’s interesting, though, is that the average user spent over 10 minutes on the site, and loaded (or retried) levels on average 6 times each. A bit more digging shows me that quite a few people abandoned the tutorial partway through to get them to the user content. That’s a lesson learned right there. Another lesson learned is that most of those people were restarting tutorial 1 over and over again – a sign that it’s too hard, even in it’s simplicity.
Sorry this one is unlabelled, but it is how many times each level was played – and essentially goes in order around the wheel – Tutorial 1, tutorial 2, tutorial 3, tutorial 4, etc…
Half the people that played #1 never got to #2. It could mean tutorial 1 is too hard, but it could also mean that the player has already decided “nope! this game isn’t for me.” A more engaging first-user-experience could correct this.
I’m a real slut when it comes to charts, graphs, and analytics. The average user only viewed/tried 6 levels, but sent me 15 hits to Analytics for clicking in various places on the screen. But the real blow to my pride was this graph right here – the one that everyone gets excited about, TOTAL CONVERSIONS:

Yes, that’s right. I’m seeing a THREE PERCENT CONVERSION RATE! *balloons fall from ceiling, cue dance music*

Well, I did on that one day, anyway. If you average out the conversion rate since launch, it’s at a still-respectable 0.4%.
Thing is, my traffic has been so low, that the numbers are heavily skewed. On top of that, I made 5 test purchases during development, and this graph is nothing but smoke and mirrors; I actually have made a grand total of ZERO sales of Protonaut after launch (except the one I paid my girlfriend to make).
Anyway, I’m putting my emotions aside now and gearing up to kick some ass. I’m going to rewrite the entire tutorial system and make the whole experience more engaging for a new user; I really want to ramp up my retention figures.
At least I’m getting “SSSL Unblocking” traffic from google!
4 Comments

Protonaut: LAUNCH!

That’s right, after months of hard work Protonaut is finally LIVE!

We’ve decided to launch the game in a sort-of open-beta format so we can continue improving it and adding features as we get more and more feedback. We have a lot of big updates and features planned in the future and we fully expect Protonaut to become an even better product as time goes on.
I have to give a big heaping helping thankyou to our Alphanauts, the earliest testers of our game and invaluable sources of feedback. Also big thanks to Greg Wohlwend, without whom I probably would have cancelled the project a month in.
I’d love to go on a big rambly launch wrap-up post, but this is just the beginning! (and it’s also beerfest weekend here in Victoria, BC).
Don’t melt my servers while I’m away at GDC! :D
0 Comments