Approaching the Fun Factor in Game Design
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的更多相关文章
- The Secret Mixed-Signal Life of PWM Peripherals
The Secret Mixed-Signal Life of PWM Peripherals Pulse-width modulation (PWM) peripherals have enjoye ...
- 高性能服务器设计(Jeff Darcy's notes on high-performance server design
高性能服务器设计(Jeff Darcy's notes on high-performance server design 我想通过这篇文章跟大家共享一下我多年来怎样开发“服务器”这类应用的一些想法和 ...
- 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 ...
- A web crawler design for data mining
Abstract The content of the web has increasingly become a focus for academic research. Computer prog ...
- DDD:Strategic Domain Driven Design with Context Mapping
Introduction Many approaches to object oriented modeling tend not to scale well when the application ...
- Microchip 125 kHz RFID System Design Guide
Passive RFID Basics - AN680 INTRODUCTION Radio Frequency Identification (RFID) systems use radio fre ...
- Active Low-Pass Filter Design 低通滤波器设计
2nd order RC Low-pass Filter Center frequency fc = 23405.13869[Hz] Q factor Q = ...
- How do you design object oriented projects?
what are things you do during the high level design phase (before you begin programming) to determin ...
- What does a Bayes factor feel like?(转)
A Bayes factor (BF) is a statistical index that quantifies the evidence for a hypothesis, compared t ...
随机推荐
- 学习内容:Html5+Axure原型设计
今日主要在http://www.runoob.com/html/html5-intro.html和http://www.imooc.com/learn/9网站上学习Html的知识,head.title ...
- Android APP的安装路径
转载自:http://blog.csdn.net/libaineu2004/article/details/25247711 一.安装路径在哪? Android应用安装涉及到如下几个目录: syste ...
- HUE 安装
1.从github网下载hue-master.zip (源代码包) 地址:https://github.com/cloudera/hue#development-prerequisites 2.安装依 ...
- hadoop2.5.2学习及实践笔记(二)—— 编译源代码及导入源码至eclipse
生产环境中hadoop一般会选择64位版本,官方下载的hadoop安装包中的native库是32位的,因此运行64位版本时,需要自己编译64位的native库,并替换掉自带native库. 源码包下的 ...
- hadoop中HBase子项目入门讲解
HBase 是Hadoop的一个子项目,HBase采用了Google BigTable的稀疏的,面向列的数据库实现方式的理论,建立在hadoop的hdfs上,一方面里用了hdfs的高可靠性和可伸缩行, ...
- 【MySql】在Linux下安装MySql数据库
[参数环境] 1.Host OS:Win7 64bit 2.VM: VMware 11.1.0 3.Client OS:CentOS 6 4.系统中已安装的openssl版本: openssl-1.0 ...
- HTML5每日一练之progress标签的应用
progress标签:从名字上来看,估计大家也能猜到这个标签是什么标签了,没错,他是一个进度条.在HTML5中我们终于可以不用模拟了. <progress id="W3Cfuns_pr ...
- js实现异步循环
@(编程) 问题 实现异步循环时,你可能会遇到问题. 让我们试着写一个异步方法,每秒打印一次循环的索引值. for(var i = 0; i < 5; i++) { setTimeout(fun ...
- centos安装lxml和pyspider
yum -y install --nogpgcheck python34u-devel.x86_64 yum -y install libcurl-devel yum -y install libxs ...
- spring MVC 如何查找URL对应的处理类
在spring 3.1之前,查找URL相应的处理方法,需要分两步,第一步是调用DefaultAnnotationHandlerMapping,查找到相应的controller类,第二步,再调用Anno ...