Monday, July 27, 2009

Flash Game Distribution: Game Analytics

At the beginning of this month I signed up for Flash Game Distribution and used it to help distribute AQI Zoneout. After just one go around, I must say this tool is amazing.

First off, it helps you get organized by making you write up a description, instructions, compile thumbnails, etc and it keeps them in one place for you. From there it has a long list of sites that you can manual submit the games to. You select the portal and it keeps all your game information in one frame which you can copy and paste into the portal's sign-up form. Very cool. There is also a feature to upload to Mindjolt and get your game on MySpace and Facebook... however, I had trouble with the API and didn't have the time to debug it.

The most impressive feature of FGD, however, is the automatic distribution. We applied that to our game and we surprised by the results...

We officially launched the game on July 1st. It remained solely on at this point and we directed people there by adding a button to KnoZone's homepage as well as by sending out a message to everyone who is a fan of KnoZone on Facebook. Using this PR we had the following number of visits:

Day 1: 114
Day 2: 162
Day 3: 22
Day 4: 14

Hmmm. Not exactly going in right direction here... On day 5 I manually uploaded it to Kongregate, Newsground, and a couple other sites and saw the following visits:

Day 5: 765
Day 6: 518

We had mediocre ratings on both Kongregate and Newsgrounds (altho good feedback on newsgrounds). Unfortunately, we did not get rated high enough to stay on the front pages and quickly fell off into oblivion from those two sites.

However, about this same time is when Flash Game Distribution's automatic distribution kicked in. On day 7 I did a google search for Zoneout and sitting there in the top ten was a game portal in Espanol that was hosting our game. They even translated the instructions to Spanish! I thought this was amazing... there is no way this game would have reached this portal without FGD.

When we looked at the analytics we were receiving a small number of hits from a wide range of sites and countries.

On days 7, 8, and 9 we averaged around 650 hits.

On day 10 we got picked up by a portal in the Netherlands...

Day 10: 13,900 (who knew the Dutch loved Air Quality Puzzle Games?)
Day 11: 8,270

We then got picked up by a site in Romania which kept our hits over 5k through day 15. From there we dropped:

Day 16: 1,252
Day 17: 707
Day 20: 466
Day 26: 262

By day 26 we've had 54,500 visits.

Visits by Geography:
1. Netherlands: 26,250
2. Germany: 8,122
3. Belgium: 4,434
4. Romania: 3,364
5. United State: 2,215
Austria, Argentina, Switzerland, Spain, and Mexico round out rest of the top ten.

FlashGameDistribution shows that Zoneout has been requested by 24 sites. It has been submitted to 195 sites. And it has been e-mailed to 497 publishers.

There is no way I could have achieved that kind of leg work on my own. And there is no way we would have reached such a diverse population or received anything close to the number of visits without FGD's help.

I must admit I am a little bummed by how quick the number of hits fall off for Zoneout... but I must realize that an Educational/Advert Puzzle game is not high on everyone's list for games they seek out.

Tired of statistics yet? I got a few more to throw in. There were 4 levels in Normal mode and then if you beat that you could unlock hazard mode, which lasted 100 rounds.

Of all the people who played:
17,000 beat level 1.
6,500 beat level 2.
3,000 beat level 3.
1,500 beat Normal Mode.

1000 people gave Hazard mode a shot.
15 people made it through all 100 rounds of Hazard mode.

That is all the statistics that I can cram into one post. Hope you found some useful information in this post somewhere...

Monday, July 20, 2009

After Effect Expression... Birds Eye View

Since the Basement is half Motion Graph and half interactive, I've been trying to get my hands dirty on the Mo Graph side by learning some Expressions that could help in After Effects.

1. I read through Adobe's help and API. Its a great place to start, but don't expect much from the API.
2. I read through Marcus Geduld's After Effect Expressions, which was a decent, quick read for beginners... more geared towards non-programmers though. A few of the programming examples made me cringe, but its ok, it was helpful in figuring out the layout and rules of the road.
3. I then went to Dan Ebberts's and ran through some of his tutorials. There is a lot of overlap between MotionScript and Geduld's book, you are probably better off just checking out the website and skipping the book.

After all of that, here is what I've figured out:

1. Its based on javascript so Flash devs will feel right at home.
2. You can apply any math/physics to any property. Just think Keith Peter's ActionScript Animation minus the mouse/keyboard interaction.
3. Instead of interacting with the mouse... you can tie properties of compositions/layers/effects to each other. So if a butterfly's wings rotate down, you could make the butterfly's body move upwards to simulate thrust.
4. AE makes tying properties together very easy. There is a tool called a "Pick Whip" that makes it as simple as dragging and dropping properties onto either other.
5. However, you need to be careful when tying properties together since properties can return different number of variables... for example "rotation" may have 1 value while "position" may return [x,y].
6. You can't create new layers on the fly. If you wanted 100 butterflies to flock, you would need to create one, place the code on it and then duplicate the layer 99 times... imagine needing to make a change, yuck.
7. Expressions that are coded on one property can not be accessed from another property, nothing is global or even public. For example: if we make a variable called "id" on layer 1, we could not access layer 1's "id" from layer 2. Expressions on each layer live in their own sandbox.
8. Expressions live and die on each frame and have no memory of the previous frames. Now this one is interesting. You can't declare a "counter" on frame one and hope to increase it on frame 2. When the expression on frame 2 executes, it will throw and error because it will not know what "counter" is, even though it was declared on the SAME layer just one frame beforehand.
9. At first I thought this was a huge limitation... however, there are many built in functions for figuring out time, frame number, etc which allow you to script across a timeline.
10. One cool aspect is that you can access a property's value at a specific time (a time that is not the current time). This is actually kinda cool, you can use a future value of another property to impact your current position... something not possible in Flash since future values are unknown.
11. They also added the ability to give random numbers a "seed" to ensure that you get the same random number when you use the same seed. As long as you know the seed, you will get the same results across multiple frames. A little wonky, but it works. And yes, I used the word wonky... I am surprised you are still reading this far to be honest ;)

AE Expressions are nice for syncing properties and adding physics, but it has far too limited sandbox to make anything beyond a neat effect. The real power of scripting can be found in the Extend Script and the Patch Panel. Those are next on my research list.

Sunday, July 12, 2009

Augmented Reality: Flash and Beyond

About a year ago, I first got a taste of Augmented when I was watching Mario Klingemann's "Here be Pixels" presentation for the Head Conference. During the presentation, Mr. Doob pointed out that there was a great library for Flash and Augmented reality called FLARToolkit, which was ported over from ARToolkit by Saqoosha.

Since then there have been some amazing examples, but it didn't truly get outside of the playground and the lab until GE's fantastic Windmill example. They aren't the only commercial example, there are plenty more such as 3D baseball players popping out of cards... but the GE example seems to be the one that is referred to the most. Its popularity has helped cause the commercial sector to now crave for this new eye candy for their own sites. The potential is there for some very effective experiences and cool applications. But I can't help but wonder if this is going to get overplayed and become the next 3D Carousel... ;)

Regardless of what happens with Augmented Reality and websites/web cams... Augmented Reality as a whole is not going away. Its interesting, but we need to step outside of the Flash world and look at the bigger picture. I didn't realize how narrow minded I was being on the topic until a friend asked me what Augmented Reality was and I started describing the square marker, the web cam, and 3d objects or fireworks appearing on your screen. He had seen a video so he knew what I was talking about... but unfortunately I did not know what I was talking about.

Check out Wikipedia's definition of Augmented reality: Wikipedia's definition. 3D fireworks shooting from a piece of cardboard shown through your webcam does not exactly sum up Augmented Reality. In fact, they don't even mention Fireworks once... NOT ONCE!

Wikipedia states that AR is the combination of the real world and computer generated data. It doesn't have to use your web cam or even be on your computer for that matter. The page goes on to say that the initial idea of mixing technology with reality has been around since 1849! And even what we are seeing today was predicted over a decade ago as seen in this article from Science Daily.

There are many examples beyond the commercial sector such as Military, Medical, Navigation, Architecture, etc. And AR is definitely not limited to the webcam or the personal computer. In fact, TechCrunch recently had an article about Layar's Augmented Reality Browser for mobile devices. Layars is not the only one in the market, just check out this list from Venture Beat. No webcam? No smartphone? No problem, just put on some of these fancy shades. Why stop there? Why not place them in contacts? (I am sure this has been in some sci fi movie... possibly Minority Report). At that point, AR could be a part of every aspect of your daily life. Kinda scary, but exciting at the same time.

What we need to realize is that AR is a growing technology and a growing field that is not going away anytime soon. We can splash the internet with our 3D boxes and Fireworks, but the real applications and immersive experiences will find their place and will get pushed outside of the computer, outside of handhelds, and into every day life.

Thursday, July 9, 2009

Future of Television: Adobe puts Flash Into TV

I try to stay away from re-posting what other people have already said, but this video is just too good to pass up.

I've blogged numerous times about how TV is merging with the web and even pointed out some pseudo samples (xbox tv show, DirectTV Interactive, MLB and Boxee, OnLive Gaming, Hulu & Pandora). However, this video is the real deal. This is where TV is headed.

I saw the video on FlashDen, but you can view the original here on Building43.

Holy links... I think I have more links than content.

Sunday, July 5, 2009

Game Release: AQI Zoneout

We have a new Flash game out today called AQI Zoneout. Please take a moment and check it out:

Kongregate Version

NewGrounds Version

I posted it at a bunch of other sites... we'll see what kind of ratings and hits we can come up with. So far, Newgrounds has the most action. It is sitting right around 3.25 after around 700 plays. Kongregate has had only a couple hundred hits and 44 ratings. I think you need 100 ratings before it displays. So please go test the game and give it some love.

The project is an extension to the Knozone website. We worked in tandem with Squize from GamingYourWay as well as FatAtom and MilesDesign.

Miles played the role of Agency. FatAtom worked on the back-end for the high scores and challenge a friend. And then Squize did all the heavy lifting and developing. That leaves the Basement with the concept, art, dev direction, and then some final tweaks and menu updates once Squize handed off his hard work.

It was an interesting setup to say the least. I really did not want to go out of house on this one... I hate giving up games. But at the time we had 5 projects and 3 devs on my team (including myself). soooo yeah. Do the math.

Since I was overseeing multiple projects and even had one I was developing at the time, I was a little scared to use a new freelancer. By new, I mean new to me... new to the Basement. It can be hard to work out those initial kinks in communication, coding styles, schedules... etc. However, Squize has a vast amount of experience making games (far, far more than myself), which made the entire process very smooth. He took our game document and ran with it. I may have harassed him with book-long e-mails from time to time... but for the most part he just did his thing and delivered more than was asked of him.

Squize and I may not see eye to eye when it comes to Composition vs Inheritance (check comments), and you may not agree with his OOP practices, but you can't argue with the cleanness and readability of his code. Point being, that even though we have different styles, I was still able to jump right in and find what I needed. That right there is the one of the most important, if not THE most important thing when it comes to working in teams. Being able to look at someones code and figure it out without hassle is extremely important. Because of that, the development went smooth. The handoff went smooth. The only hiccup that I noticed was the menus and that was more of a scheduling/approval problem than anything else.

Anyways. I just got to rambling. Project was fun. Check out the game. If you are a gamer, give it long enough to unlock hazard mode (beat 4 levels on Normal). I think Hazard is where you will find the replay value. At least I hope...