Category Archives: Technical

Next Level of the Web – Gamification

Even if Mr. Dale Dougherty hadn’t introduced the term Web 2.0 to the world, the world would still go round and we would still have the nowadays phenomenon of the social changes on the web. As earlier we just had our PROPERTY online for informational purposes, today we SHARE photos, multimedia, code, and thoughts with each other. And the future of the Internet will be the online habits and processes GAMIFIED.

Gamification is integrating game dynamics and mechanics into your site, product, service, community, content or campaign, in order to drive participation, solve problems, and engage users. People tend to return back to places where they leave a part of themselves. Gamification provides tools which influence users’ emotions and induce them to act.

The user engagement is happening by combining game dynamics, mechanics and aesthetics. Dynamics are time-based patterns and systems in your game:

  • Pacing
  • Appointments
  • Progressive unlocks
  • Reward schedules
  • Dynamic systems
  • Influence and status
  • Communal discovery

Mechanics are the systems and features that make progress visible:

  • Points
  • Levels
  • Skills
  • Leaderboards
  • Badges
  • Missions
  • Virtual goods
  • Player journey

Aesthetics are the overall experience that yields emotional engagement:

  • Curiosity
  • Satisfaction
  • Surprise
  • Trust
  • Delight
  • Fun
  • Envy
  • Pride
  • Connection

Some real life examples of gamification would be happy hours where you get an appointment when to come to get a discount for food and drinks, collecting stickers or stamps to get a discount or a product for free, and the usual studying system where you get marks for your skills and there are leaderboards of best students.

Some website examples of gamification would be foursquare, SuperMe, and Stack Overflow. Foursquare is a website where you use your smartphone to unlock places in your city and get badges for achievements. SuperMe is a website about personal success where you grow your skills of Wisdom, Ability, Influence, and Connection by watching videos, doing quizzes, and playing minigames. Also you are assigned different levels, get badges, and can see the activity of your facebook friends. Another great example of a gamified website is Stack Overflow and similar websites Game Development, User Experience, English Language & Usage, Personal Productivity, Bright Journey, etc. These are websites where users ask questions and answer them, vote for the best questions and answers, collect reputation points and badges, and unlock moderation privileges by reputation points.

A lot more about gamification can be learned from or Especially I would recommend you the talks by Gabe Zichermann and Seth Priebatsch and also the workshop slides by Amy Jo Kim.

Flights by Virgin Atlantic

I flew to and from America by Virgin Atlantic Airlines. I liked the fact that we got some food, but especially I liked the TV sets at each place showing a chosen movie, episode of some series, or a video game.

The movies to choose had been shown in the cinemas quite recently, e.g. “The Social Network”, “Black Swan”, or “Unknown”. Unfortunately the offered games were too simple and not hooking. Also when I went forward, the control panel was with one directional button not working.

Anyway the seven hours of flight passed unnoticed.

Inspirations for Level Designers: St. Michaelis Chuch in Hamburg

I happened to climb 100 metres up the metal stairs to the tower of a church in Hamburg. There were interesting constructions inside, the bell, the mechanism of the clock, and an unexpected restaurant above. The interior associated to me with the next version of Tomb Raider, Hitman, or Prince of Persia.

Watch video

Games Surgery

From time to time I meet people who think that computer games are just a waste of time with no value. Usually those people associate games with ancient tetrises or supermarios, or with some maniac friends counterstrikers who isolate themselves from the real world losing the sense of time and of themselves. Various shootings in the schools of the USA make the situation look even worse.

As I am diving into this sphere deeper and deeper, I will share my opinion with you. It will also partly be the propaganda of gaming with a hope that it will prompt the interest in gaming culture and development, developers will start doing their job more seriously, and we’ll have more games of high quality in the future.

While talking about games in this article, I will mostly talk about video games, but won’t limit myself to that. In my opinion, party games, board games, mobile games, computer games, and playful life in general seem to be related, overlapping and complementing each other. I will look at games from different perspectives: entertainment, education, art, socialization, media, simulation, and job.


Not everyone accepts his days as gifts. Not all jobs are interesting. And even in the interesting jobs there are boring tasks that use your energy. After all people need to relax and run away from every-day problems. So people need entertainment.

People need experiences different from every-day life, stories, videos sounds, activities, and self-expression. Therefore, depending on the possibilities and personal choices, we go to clubs, cinemas, amusement parks, play TV games, and attend different competitions. Video games are one of additional forms providing storytelling and expression via video, sounds, animation and interaction with computer. Additional amazement is given by the newest technological possibilities to manage the system by motion, and to express the special effects not only by video and sound, but also by vibration and smells. Moreover there have been technologies developed to manage computer systems directly by brains through a helmet.

Games help you to reduce stress. Playing games, you can unleash negative energy on virtual opponents, not harming any real beings. The results in games can be achieved relatively faster than results in real life. Achievements release hormone Endorphin which gives the sense of joy. While playing more active partly computer outside games, adrenalin might be produced. While playing you compete with other players or with your own achievements. Excitement is felt. Sometimes it’s not as important to win as it’s important to communicate with each other and the game becomes an interesting way of communication where you don’t need to talk about weather when all the other topics have already been exhausted.


School is important not because it’s an obligation. And Diploma is not the main reason to study. It’s necessary to learn all your life. You need to improve not only professional skills, but also many others, so that you could survive personal crises as well as global catastrophes and also that we could create maximal comfort for ourselves and for others.

Games are an attractive form to improve some skills. Games train our brains to manage audiovisual information, interpret it, and react to it fast. The coordination of arms and eyes is improved. Many games tell stories, so many facts are created by imagination of the player as when reading a good book. So games improve imagination too. Diving deeply into a virtual world also increases the attention for one thing for a longer period of time. Every one of us has a sleeping genius and attention to one thing is a way to wake him up. Games also improves logical thinking: we experience causes and effects through them. Games prompt to overcome the difficulties, persistently doing the job till the end. Virtual 3D worlds develop spacial memory and orientation. It’s easier to find out where you are, when you get lost in a big city (proved by my own experience :) ). Games teach to learn to understand more difficult structures than the primary natural ones, for example the forking and overlapping of time, alternative worlds existing at the same time, mutating states of the characters, changing gravitation sources, etc. Active computer games and some mobile games train balance. After-all, the computer literacy is getting better.

Games cause their developers also to be interested in many different spheres. Games are some of the most difficult software products. Usually they are created by big groups of people specializing in different spheres, but the project managers should have basic understanding everywhere. The developers have to understand natural, social and humanitarian sciences and be creative. Besides programming, programmers should educate physics, geometry, 3D modeling, development of artificial intelligence, and user interfaces. Game developers should understand psychology to predict user movements, and sociology so be able to manage gamer communities. The story creators should predict non-lineal possibilities of the script (one beginning and multiple endings or multiple paths to achieve the ending). Sound creators should be able to adapt music to the mood of the moment dynamically like in movies, depending on the players’ choices. And this is still not the full list of spheres game developers should know. As I am mostly interested in independent games and I am planning to publish them myself, I need to be interested in advertisement and marketing too.

Self-Expression and Creativity

What is the point of art for a human being? We conceive the world through contrasts. The more arguments for different ideas or features we get, the more we choose how to live our lives. Art is a subjective artist’s view to different things. The more subjective ideas we get, the more objective is our point of view. A game can be a form to convey the viewpoint of its creators. The game becomes an indirect dialog between game creators and game players.

Game itself can be very creative, re-mixing other forms of art, such as photography, 3D arts, architecture, fashion, music, dance, or theater play. Games stand close to movies or interactive video installations at modern-art galleries or at night clubs.

The process of gaming can be creative itself while solving some logical problem. Sometimes instead of normal game flow, the player can use game resources in a creative way making their own pieces of art in social games. Also different modification tools allow to modify the games or create 3D animations called machinima.

Means for Communication

A man is a social creature in an animal body. Like birds we need to communicate.
Therefore, bars and clubs are full of people, we like home parties, we attend different courses, or use facebook. Games are one of the means to communicate with other people.

While playing we communicate both, verbally and non-verbally. By words we communicate when we play together or by turns at a console or with mobile phones. Also by words we communicate at the chats of online games. It’s been said that the bigger part of information is transferred non-verbally by body language. In games the nonverbal communication happens when helping each other to overcome obstacles, competing with each other, sharing or exchanging virtual goods.

Local-area-network games bring existing gamers’ communities together. Online games create communities in themselves. Also gamers usually have their forums where they can share experiences about the game.

Media Form

There is a saying that a picture is worth one thousand words. I will extend it saying that a video is worth one thousand pictures, and a game is worth one thousand videos.

Games are strong media form getting much deeper into the memory because the idea of the game is conceived by practicing. A game can explain difficult things simply, clearly and visually.

One could compare video games to newspapers, magazines, books, comics, publicistic photos, movies and animations.

If the developers want to make an interesting game, they should be always on the cutting edge of actual things.

Safe Simulation of Real-life Activities

Even playful life isn’t a game. There are many difficult, dangerous or too influential spheres, where it’s better to avoid them, for example, martial arts, extreme sports, or stock quotes. Games can simulate risky situations enabling you to try them in a virtual atmosphere and experience just virtual awards and punishments and to decide later if that sphere is interesting for you in the real life.

We can start, pause and stop playing games whenever we decide. In real life, if you want to start something, you need some preparation (courses, studies, or contacts), and when you want to end something, you need to take others’ (family, colleagues, or clients) interests into consideration.

Virtual game world is always simpler than the real world. And you can feel as the manager of your own simple world, where all the rules are clear and all causes have clear effects.

The game can show you two different opinions letting you decide the conclusions which opinion is more correct as it’s done in discussions, debates, publicistic broadcasts and news.

Games can convey artificial reality: what would be if something existed or happened. One can be embodied as avatars of different profession, sex, race or even as things.

Simulation in games can also give profit to the developers, because modules tested on entertained players can be later applied in important software packages, for example, path search in the maps, artificial intelligence, user interfaces and so on.

Way to Get Money

Money is an important means in the nowadays world. Players can earn some money by gambling games or by selling virtual goods. But the most important from my point of view, that the games are the source of money for gamemakers.

The most games today are created for adults and the most players are adult people, not kids. That means that the most players do something in their lives to earn money which can be spent for entertainment.

There are many ways for game developers to get money, e.g. funding, donations, subscriptions, freemium subscriptions, box sales, in-game advertising, microtransactions, virtual currency, server leasing, and merchandise.

I gave you ideas, but no game examples. Anyway, I can give you some examples in the comments on request. The most important is direction what to achieve to get well developed game industry in the future with more open source and more collaboration, little by little, step by step.

HalmaStar Screenshots #0004

All of a sudden I will tell you about the latest updates of HalmaStar game website.

In the last half of a year I worked at the game about 10 days all in all. During that time I added user profiles, information about logged-in users, interplanetary ticket system, and some more. Also the style was tweaked. Unfortunately not everything has been tested.

The avatars of the game are aliens called insighters. As that is related to sights, I copied the idea of faces with four eyes from the internets.

I still have these tasks on my TODO list:

  • Counting time for one move. After half minute of inactivity, the time goes down.
  • Animation for increasing and decreasing of points.
  • Player statistics when the cursor is moved above the player name.
  • Robot opponent (at the moment it’s only possible to play against live opponents).
  • Target positions marked with different colour.
  • Facebook Connect for login.
  • Viral video or video about the prehistory of the game.

If you have any ideas or critics, I accepts all that here in the comments, in the feedback section of the website, or at a cup of tea.

The Future is Now!

You might have noticed that HTML5 is almost fully supported in WebKit-based browsers. This means that you can use Ajax, vector graphics, videos, audios, geolocation, gradients, animations, local storage, and other cool features on iPhone and Android. Furthermore, you can combine that with PhoneGap to create rich native mobile apps.

Have a look at the presentation about mobile web-based app development, given by my former colleague Philipp:

The future is really promising and it is happening now!

Open Gaming Avatar Service Required

When developing social online games with avatars, you usually need sprites for character animation. I decided that it would be really cool to have an open service which would allow users from around the world to customize an avatar and use it in different games of different game developers.

The system would be something like OpenId and gravatar combined, but providing sprites of user movements of different sizes from different perspectives.

Players could create their avatars choosing gender, hair, facial features, skin tones, and probably some default clothing. Then they could use that avatar in different social games and probably in forums and blog comments.

The system would generate sprites for default user movements like standing still, talking, going, and running from 8 sides (avatar pointing to North, North-East, East, South-East, South, South-West, West, North-West) and different perspectives like side, isometric (30°, 45°, 60°), and top. There would be APIs to get sprites of defined size in PNG, GIF, or SVG format, then those could be overlayed with different clothing for individual games. Also there would be an API to get the avatar features in JSON format for individual avatars or additional animations. If the customization happens in 3D, then the model of the avatar with it’s textures could be retrieved by a separate API call (that’s useful for custom animations or 3D games).

If the system is centralized under one website like gravatar, the avatar information could be identified by player’s email address. Otherwise, it can be identified by web address like in OpenId.

I know, it’s not trivial to implement this and there are many gotchas with that, for example, the drawing-style should be attractive and animations should be lively; avatars could probably be animals, aliens or other creatures. But still, if you like the idea of such a system, if you know anything about similar systems, or if you would like to develop that or team up for its development, please write a comment. Let’s wave the need of it! Let’s create a movement of open-source game development! :cool:

Social Game Development

I did a tiny little research on nowadays game development using Javascript(1) and decided that when HalmaStar becomes beta, the game I will create next will be multiplayer tile-based action-puzzle-solving scroller with most of the levels developed by players themselves.

The game will consist of multiple objects of different types where each of them interacts with each other in a specific way. For example, there will be avatars of different players, solid blocks, collectibles, different types of dangerous objects, etc.

Some games to take inspiration from are Electric Box, Bomber Man, Load Runner, and especially Supaplex.

The main features:

  • Level-based
  • Level editing, drafts, publishing
  • Voting for the best levels
  • Attribution and Flattr button of a level-creator at each level
  • Leaderboards: best players, best contributors
  • Some levels are for single mode, can be played offline
  • Some levels need collaboration to be solved
  • Some levels are competitive and only one player of a group might finish them in one go
  • Playable on mobile phones or other handheld devices
  • Facebook app
  • Django, Javascript, Ajax used
  • Funny attractive minimalistic animation
  • Developed no later than till July 2011 (having in mind that I will be doing that during my free time).

Maybe that will be the reincarnation of a game I started developing many years ago. I remember I couldn’t finish it then, because of some technical limitations of BASIC programming language or probably my incompetence in managing computer memory. Now as tools, technologies, and computers improved, and I have more than 8 years of experience in programming, I shouldn’t face any similar issues.

(1) I took the first glance at the possibilities of Javascript game engines: Akihabara, gameQuery, gamejs, and Javascript 2D game engine. I should review them in detail, analyze, and compare later. But that’s a theme for another post.

HalmaStar Screenshots #0003

Have I already mentioned that all wishes become true? Just a day after my decision to decrease the number of my working hours, I talked to my bosses and here I am working just three work days per week developing web, whereas I can spend the rest two for my own game development(1) and education.

I started achieving progress in larger steps. I have already made a playable version which is being tested at the moment and looks like this:

HalmaStar Screenshot #3

There is still a lot to do till publishing, e.g. player joining and profile management, a list of people online, player avatars, help for newbies, etc. But it feels very good, because of obvious progress, especially after positive feedback from friends.

(1) Actually, I have a four-day weekend, where I code or party at nights and sleep at days.. occasionally. :cool:

Sunday Celebration: Village Business

They say: “Grow delicious fruits and vegetables and raise adorable animals on your very own farm!”. But this is what you get: “Buy many images for money, lay them in your square field, return back in many hours, sell the images and you’ll get even more money. Buy many images for money, lay them in your square field…” That’s one of many facebook-based cloned games by Zynga company with rural decorations this time and it’s called FarmVille.


Game developers usually get surprised how such a primitive grinding game has more players than twitter has tweeple. Farm village engages the rational ones by simple strategies what images to choose to get maximal profit in minimal time. It engages the irrational ones by attractive childish graphics and animation and the ability to arrange their farms as cozy, interesting, or esthetical as possible. Some players exploit the unexpected possibilities of the game while creating their farm art. Some people get caught by marketing tricks like facebook statuses about the game, various actions and invitations, ads in other games by Zynga, podcasts, twitter statuses, adaption to actual holidays (Halloween, Christmas, Easter), etc.

FarmVille is a community-based game. Recently Tony Ventrice defined the following purposes of such games in Gamasutra:

  • Create permanent community (offer collaboration)
  • Create the feeling of continuous discoveries (prompt player progress and self-expression)
  • Spread the game virally (prompt players to invite friends)

There isn’t much community-forming in the game. You are just offered to invite neighbors whose farms you’ll be able to fertilize so that they get richer crop. Also you can give your neighbors animals, trees, and different decorations from a reserve of gifts, where the amount of gift choices grow up with the increasing level of your village business experience. What I don’t like is that you can give others different presents that you don’t really have and can’t take yourself (as well as you can’t fertilize your own fields). The game is symbolized a lot already, but giving presents from some strange reserve makes it even more unrealistic. On another hand, this ensures that players won’t sell virtual goods to each other what usually happens in multi-player gaming.

The avatar of the game makes no sense. It just slows all the activities down, because if you want to plough and sow a field, the avatar has to go to it first. I found out that if you frame your avatar with a fence, the fields are ploughed and sowed immediately. So you have to limit yourself for productivity (like in real life). If you visit your neighbors, you will never find them at home. You’ll find there only abandoned farm full of crows and weeds, which you can clear and get virtual money for that.

The business model behind FarmVille is this: the game is free for most of the players, but a few percent of biggest fans buy virtual money for real money at their free will, to be able to develop their village business in larger scope.

There is almost no interaction among different objects in the game except the area they take (animals can’t go over the area which is laid with an image, e.g. a field, a tree, or a fence). When you achieve quite high level or buy virtual money, you can get tractors or harvesters which make the work much faster as you don’t have to click on each field, but that works only while you have fuel. The game would be much more interesting, if rabbits would nibble the uncovered trees, unframed cows and horses would trample down or eat the crop, animals would need food, the manure of animals could be used to fertilize the fields, etc.

Frame yourself for productivity

Having in mind that FarmVille is still in beta, there is a hope that it will be more interesting in the future. If you have several months, you can try farming as is now. But if you have no time and still want to have fun, play the platform game this weekend (surprise surprise! :D ).