I recently did some research on this and talked to Dr. Clayton Lewis (computer Scientist in Residence @ CU Boulder). Much of my answer comes from the copy of Engagement Analysis he gave me.

To make popular games, Look at Engagement not Fun 
Fun is poorly understood. Engagement is the real path to popular games and easier to understand.

It's more useful to think about this in terms of Engagement rather than Fun. They are very similar, but you can have one without the other (answering Stack Exchange questions isn't exactly fun, but it is engaging). There are plenty of people playing Solitaire and other games where it does not appear they are fun but they are engaged. (This is also why Csikszentmihalyi talks about Flow rather than Fun. His definition of Flow is very similar to Engagement. And Engagement is the more powerful force here. It's what keeps them coming back for more, which is, after all, the goal.

Factors that Encourage Engagement

    • Competition. For some people, competing against someone face to face, or against a highest score list, or against a personal best, promotes engagement.
    • Goals with tuned difficulty level. If a gamelet's goal is too easy to attain the game will be boring; if too difficult, it will be frustrating. Since people get better with practice, especially in an educational gamelet, there has to be some way to escalate the difficulty to compensate. Many games do this with explicit levels; some do it with automatic difficulty changes based on player performance.
    • Peer Validation - This is one Dr. Lewis didn't have in his Analysis but I think it's very very important. The Facebook Like button, the Voting on StackExchange (on this very QA site) are all driven by Peer Validation. To have someone else who has the same deep interest in some obscure topic (like What is Fun) Like your Answer is incredibly motivating. Its what keeps folks taking Instagram photos. Put another way :
      If you posted a photo of a falling tree on Facebook and no one Liked it, did you really post it?
    • Partial reinforcement. Though it violates common sense, it is very clear from a great deal of data that rewarding someone for their behavior occasionally creates much more dedication to a task than rewarding them consistently. This is related to difficulty level: if you win every time the game is too easy; if you never win you can get discouraged, but if you win occasionally you may stay with game for a long time. So, in a game design, partial reinforcement is a reward that is given only occasionally. Note that partial reinforcement is a good example of a powerful factor in engagement that doesn't seem to relate to fun or enjoyment.
    • Observable progress toward the goal. Engagement seems to be increased if you can identify clear progress as you approach the goal, even if you don't ultimately win. If you are just randomly drifting around in the game, and then with no warning you find that you've won, that doesn't build engagement as effectively as an extended process in which you feel you are working your way towards the goal.
    • Emergent gameplay. Dr. Lewis talks about Emergent Events but I went to a WikiPedia definition ofEmergent Gameplay and found it very useful. complex situations in video games, board games, or table top role-playing games that emerge from the interaction of relatively simple game mechanics. I think most people would call this "hacking the game". Deus Ex is often cited as a game responsible for promoting the idea of emergent gameplay,2 with players developing interesting solutions such as using wall-mounted mines as pitons for climbing walls. In many solitaire games you may be able to play off a bunch at cards on one play, also if you have set things up right. In Tetris, you can hope for a cascade of level clearances. Having these things happen may act as intermediate rewards during play, and help to sustain your interest. (Again, the partial reinforcement idea says these things will be more effective if they don't happen too often.) In game design, an emergent event is something that is positive, that results from user actions (not just randomly), is extended in time (not just a short sound effect or a bump to the score), and gives a sense of progress with reduced (or no) effort.
    • Cycles of tension and release. In baseball, it happens all the time that a team makes progress, say by getting a runner on base, or even by having a batter get ahead in the count, only to have the batter make an out, or the inning end. In soccer, a team may have a promising attack on goal, only to have a shot saved and the ball cleared. It appears that these cycles of nearing the goal, with heightened tension as it approaches, followed by release, as the apparent progress dissipates, build engagement. Interestingly, analogous cycles seem to be important in music (see ), and in screenplays (see ). The fact that these cycles are so universal in film (even "serious" films like "Frost/Nixon", as well as potboilers like "The Golden Compass", have this in a very obvious way... the struggle upwards, with sucess looking possible, then the episode of despair, it's hopeless after all,and then the culminating triumph) suggests that this may actually be the most important of the engagement factors. Emergent events may also play into the cycles: watching an emergent event releases tension. Observable progress towards the goal is also important: it doesn't matter if there is a cycle, if the player can't tell there is one.

Approaching the Fun Factor in Game Design的更多相关文章

  1. The Secret Mixed-Signal Life of PWM Peripherals

    The Secret Mixed-Signal Life of PWM Peripherals Pulse-width modulation (PWM) peripherals have enjoye ...

  2. 高性能服务器设计(Jeff Darcy's notes on high-performance server design

    高性能服务器设计(Jeff Darcy's notes on high-performance server design 我想通过这篇文章跟大家共享一下我多年来怎样开发“服务器”这类应用的一些想法和 ...

  3. iPhone 6 Screen Size and Web Design Tips

    Apple updated its iPhone a bit ago making the form factor much bigger. The iPhone 6 screen size is b ...

  4. A web crawler design for data mining

    Abstract The content of the web has increasingly become a focus for academic research. Computer prog ...

  5. DDD:Strategic Domain Driven Design with Context Mapping

    Introduction Many approaches to object oriented modeling tend not to scale well when the application ...

  6. Microchip 125 kHz RFID System Design Guide

    Passive RFID Basics - AN680 INTRODUCTION Radio Frequency Identification (RFID) systems use radio fre ...

  7. Active Low-Pass Filter Design 低通滤波器设计

    2nd order RC Low-pass Filter Center frequency    fc = 23405.13869[Hz] Q factor                  Q = ...

  8. How do you design object oriented projects?

    what are things you do during the high level design phase (before you begin programming) to determin ...

  9. What does a Bayes factor feel like?(转)

    A Bayes factor (BF) is a statistical index that quantifies the evidence for a hypothesis, compared t ...

随机推荐

  1. gcc 安装

    最近在中标麒麟上面工作,结果发现上面gcc都没有,没有办法只好自己装(PS 中标麒麟:怪我咯) 资源:http://download.csdn.net/detail/jiahuat/8715413 按 ...

  2. Delphi 调用外部程序并等待其运行结束

    转自:http://blog.csdn.net/xieyunc/article/details/4140620   如何让Delphi调用外部程序并等待其运行结束 1. uses     Window ...

  3. JavaScript面向对象(01)--函数

    在JavaScript中,函数和对象有区别,也有联系, 首先函数是一个对象,但是和对象存在一些区别如下: 1,不论在java还是js中,如果把一个对象赋值给另一个变量,那么,后者会指向前者对象所在的内 ...

  4. Hadoop2学习记录(1) |HA完全分布式集群搭建

    准备 系统:CentOS 6或者RedHat 6(这里用的是64位操作) 软件:JDK 1.7.hadoop-2.3.0.native64位包(可以再csdn上下载,这里不提供了) 部署规划 192. ...

  5. centos php php-fpm install

    好记性不如烂笔头,把自己安装的步骤记录下来 1.下载php-5.2.8以及php-5.2.8-fpm-0.5.10.diff.gz,放到/usr/local/src目录 2.解压php-5.2.8到/ ...

  6. 从数列1,2,3.......n 中 随意取几个数,使其和等于 m

    //从数列1,2,3.......n 中 随意取几个数,使其和等于 m           public static void Print(int n, int m, List<int> ...

  7. CentOS6.5(带图形安装)在使用过程中遇到的一些网络问题迷惑

    比如,经常会遇到这样的问题************************** [root@SourceCompiler local]# pwd/usr/local[root@SourceCompil ...

  8. centos 安装redis php

    $ wget http://download.redis.io/releases/redis-3.0.7.tar.gz $ tar xzf redis-3.0.7.tar.gz $ cd redis- ...

  9. java反射工具类

    package com.yingchao.kgou.core; import java.lang.reflect.Field; import java.lang.reflect.InvocationT ...

  10. datatable把一个LIst的数据放入两个colum防止窜行的做法

    DataColumn objectOne = new DataColumn("objectOne", typeof(object)); dt.Columns.Add(objectO ...