RPG for developers. Two years later

    A little over two years ago, I published an article Another Vision of Boring GTD Planners Through the Prism of RPG Games , in which I described my old idea of ​​combining work on software projects and elements of RPG games.

    You all know what GTD is. Projects, tasks, milestones and deadlines. Many offices and development teams use one or another system based on (or not based on) GTD to control tasks in projects in their daily work. I suggest replacing the basic concepts of this methodology with the terms of multiplayer RPGs, adding buns, statistics, achievements, beauty and fun. We get the same planner, but not so boring and with additional motivation.

    The topic then collected 100,500 comments (mostly “super! I want!”), And the most infectious ones gathered in teams and began to put the idea into practice. So what has been done in these two years?



    I know several teams that tried to implement similar projects, but could not resolve the contradictions that will be discussed.

    This text was written in early January, so that some data could have time to become outdated.

    Gamification


    Unbeknownst to most of us over the past year, the idea of ​​using game mechanics in everyday life has captured the minds of millions and received a separate name - Gamification. On a habr about it already wrote rather long ago. At the end of 2011, The Gamification Summit was held , the next one is scheduled for June 2012 - so everything is serious.

    More and more sites are overgrown with meaningless badges, points and achievements. When I wrote that article, I was not thinking at all about this, although in the current classification it can be described as gamification of software development. And many conclusions are well extrapolated to gamification in general.

    About gamification, I advise you to watch these videos:

    So, why didn’t anyone implement the system described above? The answer to this question is quite complex, ambiguous and in some places uncertain. It turned out that completely transferring the game to the real world is not so simple.

    The problems remained the same (from the previous post), although many try to ignore them:
    1. Meaning,
    2. Voluntary activity
    3. Uncertainty of the objectives of the rules of assessment,
    4. The lack of a Game Master
    5. Cheating and cheating,
    6. Programmers, not game designers.

    Do not think that nothing interesting has appeared over the past two years. On the contrary. At the end of the article you will find a rather large list of sites and services that, in one sense or another, partially implement the voiced ideas.

    Meaning


    It is good to have friends whom you can come to ask “how do you like the idea?” And who honestly answer “shit”, knowing that I will not be offended. Periodically changing the shell of the idea, I again asked the opinions of friends. And in the end a counter question was posed:
    - Would you use it yourself?
    - Of course, this is fun!
    - OK, but in a month, when the fun is boring?

    And then I realized that no. In a month, it would have bothered me. I even tried for some time, while at work, to imagine that there is a similar system and that it throws off some notifications to me. For example, I’ve been sitting in the office for the second day in a row, the code doesn’t compile, the crocodile isn’t caught, and then the “A Congratulations! You have been at work for more than 24 hours in a row! ”... yes ?! but I didn’t know.

    Take for example Foursquare.Here, a person writes that he stopped using the service, because in the end everything slipped into badges for the sake of badges. Another example is Stack Overflow. If you remove the rating system and badges, it will remain the same excellent resource that many of us get directly from Google.com on a particular programmatic issue.

    Recently, I even specifically began to answer questions on Stack Overflow every day in order to set up an experiment on myself - what motivates me to do this. It turned out that after some small number of points, it became useful for me to help people myself - remember some details, google the correct request, find out something new. In other words, you learn by yourself. And I never paid any attention to the badges there.

    Badges and achievements need meaning. So what if I created 1000 classes or used 15 different languages ​​in the project (the latter, of course, says something about me, yes)?

    If you watched the video at the beginning of the article, you remember what Gabe Zichermann calls one of the most motivating factors. Correct - status. Meaningful achievements and badges give the user a status above the rest. But within the company there is already a status hierarchy. No matter how many points you gain, you will not be cooler than your boss.

    Another thing is status in the community. But for this, it needs the same goals and rules of the game (more on that later). Partially on Open Source community which services like Coderwall , Ohloh , Masterbranch are aimed .

    The last is the story. Although, it is difficult to draw a parallel here, the history of the game world is always present in games, namely, why are you doing this. Let’s say you don’t need to kill 100 pigs, but get 100 pig tails in order to save the world! Or work in Excel can be turned into an MMO game and take money for it (yes, I'm talking about Eve online).

    What is the meaning of this system?
    What happens if you remove points and achievements?
    Why will people use the system for more than a month?

    Voluntary activity


    Playing a game is the voluntary attempt to overcome unnecessary obstacles. © Bernard Suits

    What comes first: reward or action? I play - I get a reward for achievements, or I work to get a reward. Games are not played only for rewards and points. Otherwise, Progress Wars would be the most interesting game in the world.

    Games are voluntary activity. If the if-then question appears, that is, someone forces me to do something - this is a completely different psychological interaction. So, for example, imposed ratings can be, on the contrary, demotivating. It’s wrong to think that game mechanics can easily be transferred to the real world and will be just as fun.

    Sebastian Deterding in the Meaningful Play lecture says that fun = learning in an optimal environment. When we play a game, we gradually improve our skills in this game. The same thing in real life, remember when you last studied with interest something new. That was a fan. But in real life there is little interesting voluntary study of a new, mainly monotonous application of old skills.

    Uncertainty of goals and rules of assessment


    In any sandbox game, for example World of Warcraft, you seem to be able to do anything you like, but nonetheless, everyone is limited by the rules of the game world. For the same quest give the same amount of exp. The more difficult the enemy, the more they will give gold for his killing. Remember, in most games, goals are straightforward and structured.

    How to ensure a fair assessment for all team members? Is a class written by Vasya more important than a class written by Petya? How many points to give for them? What can I say about when I set myself goals and objectives.

    How to evaluate the skill in a certain area of ​​a person? An interesting attempt is the programmer competency matrix , but the concept of “programming” is now so broad that one can argue about the applicability of this table.

    I saw a cool idea in Strokes , the system of achievements for Visual Studio - challenges. Something like writing implementations for pre-prepared unit tests. The task is one for all, the rules and assessment are unambiguous. The ideal solution for educational purposes.

    In RescueTime there are goals that allow you to set goals, such as “sit on Facebook no more than an hour a day. Rypple's project management system also has goals. But they try to adhere to collective unambiguous goals, for example, “increase profits by 20% compared to the previous quarter.” Everyone who participated in achieving this goal can attach a badge, which in this case has a certain status meaning.

    But in real life, we do not choose when and which challenges will appear. And most importantly, there is no system of unit tests that could give an answer to how well these challenges were performed.

    Although, if there is willpower, it is only possible to roll mountains on self-control, lose weight by 100 kg or level up as a developer - a person set a goal and came up with a set of achievements to pump in programming.

    And one more important thought - in games we learn from mistakes, in real life they dismiss or lose bonuses for mistakes.

    Missing Game Master


    The uncertainty of the rules flows smoothly into the need for a game master. In a computer game, the game master is the game master: no subjectivity, everyone is equal, everyone plays according to the same rules (yes, about cheating later). What would some MMO turn into if everyone gave himself an exp for his completed quest?

    If the assessment of the implementation of tasks and verification of compliance with the rules cannot be automated, you definitely need a person whose authority is recognized by everyone, and who decides what and how much to give for the performance of certain tasks.

    For example, in RescueTime goals there is a controller - a person who sets goals and monitors their implementation. In a team of one person I don’t see how this can work at all, in a small team there should be some disinterested person who is not involved in the ranking, and some kind of strict automation and a ladder of moderators are already needed in a large team. Although, the example of many online communities tells us that self-moderation of an open community is quite possible.

    Cheating and cheating


    People will always try to get the maximum result, spending a minimum of effort. Whatever the system, it will be exploited and tightly wound.

    No need to go far, check out the VS Achievements Leaderboard . The most nerds simply completed all achievements (many of which are more likely anti-achievements), and sit with the same result.

    Or an example with Foursquare and the Mayor Maker application, which is automatically checked everywhere in the radius of visibility. A good idea was with Foursquare.

    And how are going to fight open-source aggregators like Coderwall ? When, under any achievements, I can create a special repository on github.

    Of course, this is a separate issue. We have already gained considerable experience in the fight against cheating and cheating on these Internet sites: pre-moderation, karma, levels, restrictions. You can find some solution. The main thing is not to turn a blind eye to this.

    Programmers, Not Game Designers


    And the last one. A huge part of the responses to the previous article was from programmers. Many programmers underestimate the role of game designers in the development of game software (especially those who did not work in game dev). And so services from developers for developers turn out. None of the teams that tried to do anything had a game designer.

    You need to understand that the development of interesting game mechanics is difficult.

    Interesting projects


    However, since the writing of the previous article, many interesting projects have appeared.
    1. Visual Studio Achievements - Integrated visual studio achievements. Most of them I would call anti-achievements, because they are promoting govnokod.
    2. Strokes is an earlier version of achievements for Visual Studio. Few people knew about this plugin before the hype around the previous project.
    3. Jira Hero - Achievements for Jira. Smart people told me immediately to make a plug-in for the existing system. I do not know anyone who would use this.
    4. UserInfuser is a gamification platform from www.cloudcaptive.com . Downloaded less than 200 times each file, 9 followers - no one uses it.
    5. Play Nice.ly - bug tracker with badges and all sorts of garbage. Pretty dull. The video has 394 views.
    6. Progress Wars - The irony of gamification and exp.
    7. Ribbon Hero - office training from microsoft. Pretty interesting project.
    8. Coderwall - parses github and gives achievements . An example of using badges.
    9. Red Critter Tracker - task tracker with achievements. Video - 382 views, slows down, done on flash. For points, you can buy rewards in the rewardstore. You can write what skills you have. Agile More than 2.0 interface than rip, but still a curve.
    10. Rypple is a badge tracker. You can set global goals, give custom status badges for their implementation. Badge parameters: skills, how many and who can issue, rolling badge. Social: like, comment. The interface is crooked.
    11. Badgeville is a platform for adding gamification to your site. Make a company management platform - badgeville.com/solutions/enterprise.php# / www.simplyzesty.com/social-media/badgeville-launches-gamification-for-the-workplace
    12. Masterbranch - analyzes open-source projects.
    13. Ohloh is an old site, it also parses open-source projects, but has not gained gamification.
    14. Mindbloom is also a new project. Trying to motivate you to do something. Tamagotchi. Subjectively. Does not work.

    Training


    Interestingly, this technique is very suitable for training, because the role of the game master is performed by the teacher. Here, for example, is an excellent World of C # -craft article .

    And on the net, online learning programming sites, for example, rubymonk.com and codecademy.com , have been hacked . Although, judging by the questions asked there, some are better off not trying to learn how to program at all.

    Instead of an afterword


    As I said, the problems remained the same. It’s good that interesting projects appear. I really want to see examples of successful implementations of these ideas and hear constructive comments.

    Also popular now: