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 ...
随机推荐
- 获取 windows地址栏 网页地址栏 文件名
int start=str.LastIndexOf("\\"); fileName=str.SubString(start+1,str.Length-start-1); int s ...
- IOS播放音乐和音效
1.播放音效 1.1 首先获取到音效文件路径 NSString *path = [[NSBundle mainBundle] pathForResource:soundFileName ofType: ...
- 【quick-cocos2d-x】Lua 语言基础
版权声明:本文为博主原创文章,转载请注明出处. 使用quick-x开发游戏有两年时间了,quick-x是cocos2d-Lua的一个豪华升级版的框架,使用Lua编程.相比于C++,lua的开发确实快速 ...
- BPDU与PortFast
启用了BPDU Guard特性的端口在收到BPDU的时候会使端口进入err-disable状态,从而避免桥接环路.一般BPDU Guard是和PortFast结合使用,在端口上启用了PortFast之 ...
- ASP.NET下跨应用共享Session和使用Redis进行Session托管简介
在之前的博客中,我说到了Session的共享问题,其中说到了Web Farm和Web Garden两种情况下Session的处理.在ASP.NET提供的Session处理方法中,有以下四种模式: 1. ...
- 25个让人无法抗拒的HTML5网站设计实例
原文地址:http://www.goodfav.com/html5-website-designs-8272.html HTML5在其功能方面给网络市场带来了惊人的改进. HTML5是万维网联盟,在起 ...
- 远程连接mongodb出现 no route to host 和 Connection refused
部署好mongodb服务器后,在客户端安装好php的mongodb扩展,用程序连接mongodb服务器出错:no route to host.搜索了差不多一天的时候都没有相关的解决方法.最后在mong ...
- Windows Azure存储容器私有,公共容器,公共Blob的区别
当我们在Windows Azure中创建或编辑存储的容器时,需要选择访问类型,本文将描述一下这三个选项的区别. 1. 私有: 默认选项,顾名思义,用户不能通过URL匿名进行访问容器或容器内的任何Blo ...
- java、android 对比两个目录或文件是否是同一个目录或文件的方法
由于软链接及android的外部卡mount方式存在,导致一个文件夹可能同时有两个路径,如: /mnt/sdcard1 /storage/ext_sdcard ,如果通过某种方式(如moun ...
- matlab 画锥体
>> plot3(x,y,z); >> [x,y,z]=cylinder([ ],)