Screen-shot-2010-12-25-at-10.41

Kwiki the bird

Disclaimer

If we look closer working of the human brain, try to recreate the tasks that it performs, in particular, those we take for granted, we can see how a huge number of calculations produced by the brain. For example, motion detection and tracking them, or a difference of more than one object, their motion relative to each other, their speed and distance between them.

Working plan and team:

Date work starting: 7th of May 2010 Date work was finished: 3rd of July 2010 Date the game went live: 15th of June 2010

On 6th of May 2010 i was prepared work plan of the game. It consist of 5 task lines: 1. Designer (red) – Ines Jähnichen 2. Marketing (yellow) – Julia Khimchak

3. Programming Facebook (violet) – Jorge Andrés Castro

4. Meeting (green)

5. Testing etc (blue)

6. Part of Flash game logic production and Motion Detection programming doesn’t exist in this plan, bit this was my work (Alex Neskin) and i was doing it along of all the time game creating and even before.

Notices: work was done in time even in case of accidents and vacations that was not mentioned in the plan.

We got a lot of things that should be discussed and small amount of working hours per each task line. Successful solution was Friday meetings, on witch we discussed everything that was done on the past week (so everyone know about other job, i think it’s very important) and we make all “think about” things on weekend. Basically we have 7 days working week :)

Marketing part:

To promote the game we have chosen a platform for the distribution of free indie games – the type kongregate. The best in our opinion were: http://www.kongregate.com, http://www.gamemontage.com. Viewed / games per day of publication was 500 people, with no additional ways to promotion.

Since 19 days game where launched we was able to collect more than 3 000 users playing Kwiki a day. (great success and definitely showing virality of the game). You can download full statistic of the game by the link below: http://dream-corp.com/kwiki_report_june_15_2010.pdf

and the second important thing i want to admit that Avg. time on site was above 1 minute, so it means that each of this users was definitelyplaying the game. As a result we can see rapidly growing users photo under the table of results on http://kwikithebird.com/result.php.

The concept of the game:

Technology gesture recognition algorithms which are now (link below), enough dirty. Inaccurate tracking. At first I thought about hiding such inaccuracies with original idea of game – the drunken bird, which is difficult to control.

The main goal i was putting before myself was not long retain the user in the game (as FarmVielle of Mafia wars on facebook). Since these games is impossible, since by controlling the camera (in most cases built into the upper panel laptops iMac’s and just standing on the monitor), very quickly get tired hands. And this is what your controller, located permanently in the air. So I wanted to see the viral spread of the game among the audience.

Actually it happened, according to statistics (each user, who played in the game, led his friend, as is evident from pictures taken during the game).

So I want to call this point more or less successful. Still playing with the new management interface, namely, web camera – virus and can spread themselves.

Next, look popular movie about Kiwi bird, which can not fly and aims at the sky – Kiwi (YouTube Most Adorable video of 2006). We decided to make a sort of sequel, using the idea of a kiwi bird, which was to hide some flaws in the technology.

Technical part:

Designers – 20 hours


1. Creating an image of the main character – Kwiki.

2. Design 20 levels of game.

3. Design Trophies (3 for each subgroup levels – the Earth, above the earth at night, Sky, Space). Trophies do not carry any special significance, but also increase user interest in that, in general, it stimulates the game and continue to fly higher.

4. “Bad objects”, its for each level, for the apprehension of which the user has

taken away his glasses. 5. “Deadly” enemies clash in which signifies the completion/end of the game.

Jobs flash programmer (logic games) – 40 hours

Since the logic was a small amount of rework. First there was one screen and objects just fell down. We decided to add a feeling of flight, each time Kwiki eats a good object, he moves on n pixels up to his dream, and, accordingly, when eating is bad, goes down.

Launched the first test of the game among our colleagues / friends, surprisingly, we found that many get to control bird despite the shortcomings of technology and different light conditions (dark / light room). And so it was decided to add a “fatal facility” in the older groups of levels: http://kwikithebird.com augmented reality game This is a storm cloud, the aircraft and UFOs – quite impressive in the last sub-levels – Space.

Moreover, some testers, even managed to cheating, managing only a bird at the top of the screen and collect all the bad / good facilities, picking up maximum points.

Work on programming (facebook) – 20 hours

Were added to the main aspects:

* Facebook connect to stand alone applications (games site) * Auto publishing the results in our RSS feed, * Ability to view activity games directly from stand alone and a button “I Like”, which affects the issuance of search results on Facebook, more

than anything.

Working on the recognition algorithm of gestures – 80 hours

Here, perhaps, the most interesting. What are the algorithms i used, that changed, and most importantly, why:

Inspired by the work of Grant Schoener and of course Mario Klingermanna aka Quasimondo. The last go quite a number of examples ported from C, openCV, in a flash, the face detection and tracking, as well as what is called NFT (Natural Feature Tracking) and tracking of color objects.

The last algorithm in the list, but not the last for us. I would like to say – rather the first, i want to admit – a gesture recognition algorithm Justin Windle.

Since our bird must fly, we must not only determine the motion, but also make it tracking.

In fact the similarity of our algorithms was the division of the screen on the grid, we average the colors in each cell / segment at regular intervals. The difference in brightness within each segment (from one calculation to the next) will

determine whether there has been movement in this area of the screen.

After analyzing all the work, this approach proved to be most accurate for our game. Although, in reality, requires a lot of action getPiksel (), setPiksel (), as well as the conversion of these results in the color, saturation, brightness of objects, each of which is heavy enough for the brain of our computer – the processor. Good computer, of course, deals with this easily, such as iMac 3.06GHz cope with this easilly.

To sum up, how it works in Flash:


* Once the camera lens is set up, it goes into the class MotionTracker, which extends the object Point. MotionTracker class contains two BitmapData objects, one representing the current data from a Web camera, and the other is used for storing the previous frame.

* The upgrade method is called, the new frame is drawn over the previous using the difference in the filter. * Results received ColorMatrixFilter, increasing the contrast of the image and discarding the dark areas (with less motion) on the background. * Blur filter is then applied in order to further reduce noise and to form “The participation of the Movement” of the areas where more movement

is going on. * Threshold caused as a result BitmapData, effectively resulting in a grid next to the black pixels should be ignored, and all bright pixels

assigned a “motion is detected”. Level threshold can be set up in the game settings, a simple slider that moves on relatively light to dark rooms. The parameters that make up – this is the brightness, blur, contrast and spacing of segments of the network itself.

Related links:

Kwiki — управляй руками!