益智遊戲難度與複雜性之衡量
全文
(2)
(3) 國 立 交 通 大 學 多媒體工程研究所 碩士論文. 益智遊戲難度與複雜性之衡量. Measuring Difficulty and Complexity of Puzzle Games. 研 究 生:張景照 指導老師:孫春在 教授 中華民國 100 年 6 月.
(4) 益智遊戲難度與複雜性之衡量 Measuring Difficulty and Complexity of Puzzle Games 研 究 生:張景照 指導老師:孫春在. Student:Ching-Chao Chang Advisor:Dr. Chuen-Tsai Sun. 國 立 交 通 大 學 多 媒 體 工 程 研 究 所 碩 士 論 文. A Thesis Submitted to Institute of Multimedia Engineering College of Computer Science National Chiao Tung University in partial Fulfillment of the Requirements for the Degree of Master In. Computer Science June 2011. Hsinchu, Taiwan, Republic of China 中華民國 100 年 6 月.
(5) 益智遊戲難度與複雜性之衡量 學生:張景照. 指導教授:孫春在 博士. 國立交通大學 多媒體工程研究所. 中文摘要 如何對關卡難度進行排序?這個問題是所有益智遊戲(puzzle game)設計師 所需面對的最重要課題。在以前,人們常常先分析解開該遊戲所使用的技巧有哪 些,並依技巧掌握的難度來決定最後的排序,不過,這個方法的問題點在於太過 依賴遊戲本身的特性而造成計算上的困難與難以理解。──設計者必需對該遊戲 非常精通才行。 其實,要找出一個益智遊戲的解,就像是在替迷宮找出口一樣,裡面充滿了 許多選擇(Choice)及死路(Dead Ends),然而,不同於「真實」的迷宮問題,益智 遊戲的難度決定於該關卡所需的洞察力(Insight)。從複雜系統的觀點來看,這些 選擇及死路會隨著系統複雜度的上升而湧現,進而影響到玩家找到答案的難度。 因此,本研究不同於以往的做法,試圖以衡量湧現狀況做為出發點,設計出一個 適合所有益智遊戲的複雜度衡量模型。 本研究總共規畫了四個實驗,並使用了消除方塊(Cross Block)及數獨(Sudoku) 這二個益智遊戲來進行複雜度的衡量及比較。最後的實驗結果顯示了我們所提出 的複雜度計算模型,在數獨的複雜度排序上與「台灣數讀發展協會」上的難度排 序結果能夠達到 86%的相似度。 關鍵詞:益智遊戲、難度衡量、複雜度衡量、洞察. i.
(6) Measuring Difficulty and Complexity of Puzzles Games Student:Ching-Chao Chang Advisor:Dr. Chuen-Tsai Sun Institute of Multimedia Engineering National Chiao-Tung University. Abstract How do we sorting puzzle levels according to their difficulty? This is most important problem for all puzzle game designer. In past time, game designer must analysis the techniques used by the puzzle, and then can use the result to sort their difficulty ranks. However, this method depends on specific game feature that are very difficult to calculate and understand because designer must master the game first. Basically, find out a solution for a puzzle just like find out a way for a maze, there are many choices and dead ends. But, different from ―real‖ maze problem, the difficulty of a puzzle decided by the insight it required. From the aspect of complex system, emergent phenomenon describes when overall system complex increase then amount of choice and dead ends also changed according to some principle that will affect how difficult a puzzle is. In this paper we propose a new approach to calculating puzzle complexity, one based on approximating player ability to produce insights that lead to puzzle completion. Our test results indicate an 86% sorting similarity rate. Key Word: Puzzle Game, Difficulty Measure, Complexity Measure, Insight. ii.
(7) 誌. 謝. 經過了無數個失眠的夜晚,這篇論文終於誕生了。特別是經歷過日本 311 地 震與輻射外洩事件之後,更讓我覺得能夠平安回來並順利的將論文完稿是一件非 常幸運的事。 首先,我必須要感謝指導我的孫春在老師,謝謝他同意讓我在碩二這麼關鍵 的時期能夠到日本一圓留學的夢想。雖然因為地震的關係提早了半個學期回來, 但在東京大學交換學生這半年的時間讓我體驗到非常寶貴的生活經驗。另外,也 非常很高興能夠跟在孫老師身邊進行遊戲相關的研究,讓我有機會從學術的觀點 進入這塊領域,並給予我許多以前從未思考過的方向。能在孫老師身邊做研究, 真的是一件非常享受的事。 另外也謝謝學習科技實驗室的同學們,在交大的這段時光能夠跟你們在一起 渡過真的很高興,特別讓我懷念的是每天聚在一起玩遊戲、打 Board Game 的那 段時光,真的是非常的快樂。也很感謝東京大學近山老師及其實驗室的同學們, 在日本的這段期間受到你們不少的照顧。 此外,也謝謝我的家人,以及其他關心我的朋友們。沒有你們的支持,這篇 論文是難以完成的。在此,致上最深的謝意。. iii.
(8) Index 中文摘要…………………………………………………………………….………...i Abstract……….……….….…………………………………………………………..ii 誌謝……………………………………………..…………………………………...iii Index……………………………..………………………………………………..…iv Figure Index……..……………………………………………………………….….vi Table Index…..…………………..…………………………………………………vii Code Index………….. ..………………………………………………………..….vii Chapter 1: Introduction ............................................................................................ 1 Section 1.1: Background .................................................................................... 2 Section 1.1.1: Digital Game: What is difficult? .......................................... 2 Section 1.1.2: Section 1.1.3: Section 1.1.4: Section 1.1.5:. Digital Game: Dynamic Difficult Adjust ............................. 4 Digital Game: Player Modeling and DDA .......................... 7 Puzzle Game: What is Puzzle? ── Meaning of Play .... 8 Puzzle Game: What is Puzzle? ── Component ............ 9. Section 1.1.6: Puzzle Game: Difficult Measure and Sorting .................... 11 Section 1.1.7: Puzzle Game: Complexity Theory ..................................... 12 A. Computational Complexity .................................................................. 12 B. Complex System and Emergence ........................................................ 13 Section 1.2: Motivation: Challenge in Puzzle Game Sorting .......................... 16 Section 1.3: Motivation: Mobile Game, Market and Puzzle Game ................. 16 Section 1.4: Goal .............................................................................................. 17 Section 1.5: Contribution ................................................................................. 17 Chapter 2: Literature Review................................................................................. 19 Section 2.1: Tree Search .................................................................................. 19 Section 2.2: Local Search................................................................................. 25 Section 2.3: Simulated Annealing .................................................................... 26 Section 2.4: Pseudo-Random and Real-Random ............................................. 30 Section 2.5: Game, Digital Game and Media .................................................. 30 Section 2.6: Flow Theory ................................................................................. 32 Section 2.7: Three-part rule model .................................................................. 32 Chapter 3: Method ................................................................................................. 34 Section 3.1: Experiment One ........................................................................... 34 Section 3.2: Experiment Two ........................................................................... 38 Section 3.3: Experiment Three ......................................................................... 39 Section 3.4: Experiment Four .......................................................................... 40 Chapter 4: Experiment ........................................................................................... 41 Section 4.1: Experiment One ........................................................................... 41 iv.
(9) Section 4.1.1: Phase 1: Random Generated Puzzle .................................. 41 Section 4.1.2: Implement Phase 1: Random Generated Puzzle ................ 41 Section 4.1.3: Implement Phase 2: Calculate Branch and Dead Ends ...... 43 Section 4.1.4: Result of Phase 3: Branch and Dead End .......................... 45 Section 4.1.5: Implement Phase 4: Calculate Complexity ........................ 46 Section 4.1.6: Result of Phase 5: Complexity Sample Mean ................... 48 Section 4.1.7: Conclusion ......................................................................... 51 Section 4.2: Experiment Two ........................................................................... 53 Section 4.2.1: Phase 1: Select Puzzle Levels ............................................ 53 Section 4.2.2: Result of Phase 3: Average difficulty and Sorting ............. 53 Section 4.2.3: Implement: Calculate Sorting Similarity ........................... 54 Section 4.2.4: Result of Phase 5: Sorting Similarity ................................. 56 Section 4.2.5: Conclusion ......................................................................... 56 Section 4.3: Experiment Three ......................................................................... 57 Section 4.3.1: Phase 1: Select Puzzle in Each Rank ................................. 57 Section 4.3.2: Result Phase 3: Calculate Branch and Dead Ends ............. 58 Section 4.3.3: Result Phase 4: Compute Complexity ............................... 58 Section 4.3.4: Result Phase 5: Compare Rank Result .............................. 61 Section 4.3.5: Conclusion ......................................................................... 62 Section 4.4: Experiment Four .......................................................................... 62 Section 4.4.1: Phase 1: Select Training Sample ........................................ 62 Section 4.4.2: Implement Phase 2: Parameter Tweak ............................... 63 Section 4.4.3: Result of Phase 2: Parameter Tweak .................................. 64 Section 4.4.4: Result of Phase 3: Calculate New Complexity .................. 64 Section 4.4.5: Result of Phase 4: Compare Rank Result .......................... 67 Section 4.4.6: Conclusion ......................................................................... 67 Chapter 5: Conclusion ........................................................................................... 68 Section 5.1: Complexity Sorting and Difficulty Mapping ............................... 68 Section 5.2: Measuring Digital Game Complexity .......................................... 68 Appendix A: Puzzles in Experiments………………………………………………70 Appendix B: Collection of Pure Puzzle………………………………...………….72 Appendix C: More Result of Experiment One……………………………….……75 Appendix D: Calculate Branch and DeadEnds………………………………….…76 Appendix E: Game Data Format………………………..……………………..…...76 Appendix F: Puzzles in Experiment Two…………………..…………….…….…..80 Reference………………………………………………………..……………………82. v.
(10) Table Index Table 1 Max values in puzzle database. ....................................................................... 46 Table 2 Complexity and Difficulty result. ..................................................................... 53 Table 3 Result of match and sorting similarity. ............................................................ 56 Figure Index Figure 1 Two type of DDA. ............................................................................................. 6 Figure 2 Concept Model of Puzzle developed by Scott Kim. ......................................... 9 Figure 3 Five genres of puzzle ...................................................................................... 10 Figure 4 Emergence Phenomenon Example ................................................................ 15 Figure 5 Example of a puzzle Solution. ........................................................................ 20 Figure 6 Example of tree search................................................................................... 21 Figure 7 Concept of minimum local search ................................................................. 26 Figure 8 Flow Chat of Simulated Annealing. ................................................................ 27 Figure 9 Game Taxonomy by Media. ............................................................................ 31 Figure 10 Mental State in flow theory. ........................................................................ 32 Figure 11 Cross Block’s Puzzle Game Space. ................................................................ 35 Figure 12 Branch and Dead End Calculating Process ................................................... 36 Figure 13 BD-Complexity Calculating Model ............................................................... 36 Figure 14 Example of random generated process of puzzle “cross block”. ................. 43 Figure 15 Calculate for Branch and Dead ends by using answer node. ....................... 44 Figure 16 Average Number of Branches of each step .................................................. 45 Figure 17 Average Number of dead ends of each step ................................................ 45 Figure 18 Average complexity of each step ................................................................. 48 Figure 19 Result of Average all solved step complexity. .............................................. 48 Figure 20 More Detail of complexity mean in puzzle game space. ............................. 49 Figure 21 Average complexity before step 16. ............................................................. 49 Figure 22 Average complexity before step 11. ............................................................. 50 Figure 23 Ratio of basic difficulty in puzzle database. ................................................ 51 Figure 24 Complexity Average of each Crossblock difficulty level ............................... 52 Figure 25 Complexity and Difficulty rank result ........................................................... 54 Figure 26 Sudoku Puzzles provides in TSA. .................................................................. 57 Figure 27 Average branch for each difficulty levels. .................................................... 58 Figure 28 Average dead ends for each difficulty levels................................................ 58 Figure 29 Average Degree of Complexity for Each Difficulty Level .............................. 59 Figure 30 Puzzle Samples Sorted by Complexity ......................................................... 60 Figure 31 Rank of complexity Sorting for each puzzle samples. .................................. 60 Figure 32 Process of select sample from puzzle database as sorting list. .................... 61 vi.
(11) Figure 33 Result of Sorting Similarity ........................................................................... 61 Figure 34 Training sample select process..................................................................... 63 Figure 35 Error and iteration of simulated annealing. ................................................. 64 Figure 36 Result of parameter Band D adjusts over 1500 iteration. ........................... 64 Figure 37 Average complexity for each difficulty level after parameter tweak. .......... 65 Figure 38 Complexity of each puzzle sample after parameter tweak. ........................ 65 Figure 39 Rank of complexity sorting after parameter tweak. .................................... 66 Figure 40 Sorting Similarity after training. ................................................................... 67 Code Index Code 1 Data Structure Node. ....................................................................................... 22 Code 2 Implementation for BFS tree search algorithm. .............................................. 22 Code 3 Implement for expand function. ...................................................................... 23 Code 4 implement for graph search. ........................................................................... 24 Code 5 Boltzman distribution for simulated annealing. .............................................. 28 Code 6 Temperature decrease function for simulated annealing. .............................. 28 Code 7 Accept function for simulated annealing......................................................... 29 Code 8 Implement for random generate cross block. ................................................... 42 Code 9 Implement normalize function for BD-Complexity Calculate Model .............. 47 Code 10 Implement for sorting similarity. ................................................................... 55 Code 11 Implement for energy function in Simulated Annealing. .............................. 63. vii.
(12) Chapter 1: Introduction How do we measure a puzzle‘s level of difficulty? Game designers may employ their expertise and feedback from players to rank the puzzles they have designed. They may also take a simpler but nevertheless systematic way to reach the goal, for example, adopting a game-specific feature as criterion and sort the puzzles out. A handy measurement is the shortest step required to solve the puzzle, the less steps required, the easier the puzzle. In practice, it may be fun enough for most gameplay, because players can reach the flow experience (M. Czikszentmihalyi, 1998) when they conquer one puzzle after another arranged in ascending level of difficulty. When the difference in difficulty is not that clear, the game producer can put puzzles into categories of difficulty, e.g., easy, medium, and hard, to allow the players select their current goal and test their skills. Obviously, there is a risk factor in such approach. When puzzles arranged in a wrong order and the players are not capable of picking the right challenge for their current skills, they may endure a long period of frustration and anxiety, so as to give up the game. Therefore, it is desirable to have a way to ‗optimize‘ the gaming experience by arranging puzzles in a smoothly ascending order of difficulty so that most players can enjoy an uninterrupted challenge/skill upgrading experience. Our goal of this research is to propose a general-purposed method to develop a function that can arrange puzzles in ascending level of difficulty. However, before trying to approach that goal, some questions need to be answered. The first is: what is difficult?. 1.
(13) Section 1.1:. Background. ” Game is a system in which players engage in an artificial conflict, defined by rules that result in a quantifiable outcome.”──Rules of Play (Katie Salen & Eric Zimmerman, 2003). Section 1.1.1:. Digital Game: What is difficult?. Based on flow theory, we know there has two key elements: Challenge and Skill. In order to discuss about what is difficult, first, I give an assumption below: Assumption 1: Challenge is a non-linear increase function relate to how many obstacles are designed in game. Assumption 2: Skill is a non-linear increase function relate to your performance in the game. As we known, flow theory point out when challenge meets skill, player is in the state, called flow. What is this phrase means? Obviously, flow state equal to proper difficulty for player. Degree of difficulty is highly related to challenge and skill. Therefore, I give third assumption to define what is difficult: Assumption 3: Difficult is a non-linear function relative to the combine of challenge and skill. Furthermore, if we want to design the function describes above, C-style function prototype may look like following: 1. float Challenge(int numberOfObstacle); 2. float Skill(int playerPerformance); 3. float Difficult(int challenge, int skill); But, there comes some problem. How to design difficult function? In order to do that, we must ask: what is the relation between challenge and skill? Although we can say relation between difficult and challenge is positive relation, difficult and skill are negative relation, however, relation between challenge and skill are ambiguity. Try to consider following example: 2.
(14) 1. If we know both difficult and skill are high, then we can say challenge > skill, because player feel game are difficult. Therefore, reduce obstacle in game can decrease difficulty. 2. If we know both difficult and challenge are low, then we can say challenge < skill, because player feel game are easy. Therefore, add obstacle in game can increase difficulty. 3. But, if both challenge and skill are high or low, how can we say? It just means challenge just meet player‘s skill, and has a “proper difficulty”, there seems doesn‘t has any relation between challenge and skill. If we want to figure out relation between challenge and skill, and then calculate out difficult will be first task. But, there will be some trouble. Why? Since difficult is an objective concept depends on how people feeling about, thus, if we want to tell it degree, we must compare with player‘s previous experience. For example, when we read the introduction or manual of a game, there doesn‘t emerges any feeling call ―difficult‖.──although we may feel the complexity of game rule──After we get into the game, finally, we can tell the degree of difficult compare to other similar game or problems. Of course, some apparatus, like Eye Tracking, SCR (Skin Conductance Response), EEG (Electroencephalography), to collect physical reply when playing the game that can used to data mining on people‘s cognitive level of feeling to help us find out what is difficult. For example, there are some research trying to find out player experience to explain the degree of playability for a game (Lennart E. Nacke et al., 2009; Lennart Nacke & Craig A. Lindley, 2008). Of course, it may be used to measure the degree of difficult, but these methods have too much disadvantage when apply in real game design (you can‘t always ask player to equip physical apparatus when they play the game), therefore, goes beyond our research, so we don‘t want to dig into this method for discuss about difficulty. Before close this section, here is summary: we can‘t design difficult function without knowing the relation between challenge and skill, if we want to know this relation, we must use some subjective method to measure the player‘s feeling, such as Eye Tracking, SCR, or EEG, to decide this dynamic relation. From discussion above, we know difficult is a relative concept that based on 3.
(15) player past experience. And then, next problem we want to focus on is: how do we manipulate such concept in digital game? In next section, I will introduce a technique, Dynamic Difficult Adjust (DDA), which trying to create flow state by adjusts difficult based on player‘s skill.. Section 1.1.2:. Digital Game: Dynamic Difficult Adjust. Static difficulty is a popular method that almost single player game uses it for player to adjust game difficulty. For example, in FTG or STG, we can always set difficulty into Very Easy, Easy, Normal, Hard or Very Hard in system setting. But, there exists several problems when we look this method from the viewpoint of flow theory. First, difficult must manually set before game start by game designer. Second, difficult is fixed while playing. Third, therefore, it can‘t auto-adjust according to player skill, that may trouble in crate flow state. Four, the most important, the feeling of difficult is relative to game designer but not player. From the reason describe above, there comes the research, call Dynamic Difficult Adjust (DDA). DDA is based on flow theory. It core concept is to adjust difficult according to player skill that try to adjust the game to “proper difficulty” for player. Therefore, how to design challenge and skill function are important for this method. As we defined previous, calculate obstacle in a game maybe an easy task for challenge function, but how do we measure player performance for skill function? Fortunately, every game must have a quantifiable outcome. Like game play score or player remaining health, it is useful to help us to decide player performance. If player skill > challenge, then add obstacle in game can increase difficulty. If player skill < challenge, then reduce obstacle in game can decrease difficulty. Notice, how well of skill function designed effects the performance of DDA. And skill function is affected by the game design. Successful game design must bring meaningful play to player. Katie Salen and Eric Zimmerman‘s (2003) book ―Rules of Play, chapter3”, define meaningful play as descriptive and evaluative: The descriptive definition addresses the mechanism by which all games create meaning through play. The evaluative definition helps us understand why some games provide more meaningful play than others. The descriptive definition of meaningful play: Meaningful play in a game emerges from the relationship between player action and system outcome; it is the 4.
(16) process by which a player takes action within the designed system of a game and the system responds to the action. The meaning of an action in a game resides in the relationship between action and outcome. The evaluative definition of meaningful play: Meaningful play is what occurs when the relationships between actions and outcomes in a game are both discernable and integrated into the larger context of the game. Discernability means that a player can perceive the immediate outcome of an action. Integration means that the outcome of an action is woven into game system as a whole. From descriptive definition above, we know player performance can be measure through the relationship between action and outcome, if game generate good outcome, means player has good performance in game. In addition to, evaluative definition indicate where we can find player‘s performance. Discernability means outcome of action takes in game can help DDA to adjust difficult immediately. Integration means outcome of action takes in game can help DDA to generate next game level according to player overall performance. I call former as Immediate Difficult Adjust (IDA), which try to create an even game──but, beatable──according to player agency and tension of game. And later as Content Difficult Adjust (CDA), which combine Procedural Content Generation (PCG) technique──means use program to auto-generate game content──to consider overall difficult balance to generate levels. I summarize these two DDA methods in Figure 1.. 5.
(17) Figure 1 Two type of DDA.. There have some DDA example: 1. Hunicke Robin and Chapman Vernell (2004) have applied DDA to FPS, Half Life, use IDA to adjust difficult. 2. Ben Weber (2010), in his project “Infinite Mario with dynamic difficulty adjustment” use CDA to generate new level according to player performance. I don‘t want to go into detail of DDA because it will take several pages to discuss it, but I think it is important to understand how to manipulate the feeling of difficult in this research. Although we introduce much about DDA, but there still have an ambiguity on challenge and skill function. Before we design these two functions, we must consider following situation in order to decide detail implements method: 1.. How players are affected by obstacles? For example, the powerful monster always increases the challenge and healing potions can decrease.. 2.. How player performance measured by actions they takes in game? In some game systems, players receive more positive performance feedback when they choose certain actions over others.. Next, let‘s examine more about how to building challenge and skill function from the view point of player modeling.. 6.
(18) Section 1.1.3:. Digital Game: Player Modeling and DDA. The purpose of player modeling is trying to find out the relationship between obstacles, player action, and player feeling about game in order to do content creation task. In Pedersen‘s research, they collect following three data to validate how player feeling about an action game, Infinite Mario Bros (C. Pedersen, J. Togelius, & G. N. Yannakakis, 2010): 1. Controllable Feature: like number of gaps and average width of gaps, spatial diversity of gaps…etc., that can be controlled by game designer or level generate program. This part is related to obstacle. 2. Gameplay characteristics: like number of jump, time you complete the level, item you collected…etc., that can only be collected when a player play the game. This part is related to the action of player takes in game. 3. Questionnaire: After finish a pair of level, player is asked to rank the games in order of emotional preference. Pedersen define following six emotions: Fun, Challenge, Frustration, Predictability, Anxiety, and Boredom. Their questionnaire may looks like this: 1. Level A has more challenge then level B. 2. Both games were equally challenge. 3. Neither of two game felt challenge. According to collected data, they calculated correlation coefficient. Therefore, we can actually tell the degree of obstacle or actions affects player mental state in ―Infinite Mario Bros‖. For example: whether player complete level has ―-0.5‖ negative relation and average of gap width has ―0.5‖ positive relation to challenge. For detail experiment and result, you can find it in their research paper ―Modeling Player Experience for Content Creation‖ (C. Pedersen, et al., 2010). Based on the degree of relations, DDA will perform more accurately according to player skill. There has much Player Modeling application, like create personalized race track in racing game (Ratan K. Guha, Erin Jonathan Hastings, & Kenneth O. Stanley, 2009; Togelius. J., De Nardi, & Lucas, 2007), and adapt agent behavior to human player (Kang. Yilin & Tan. Ah-Hwee, 2010). Here, we finally come into our topic. Is puzzle game can apply such method for sorting difficulty? What is controllable feature? And what is gameplay characteristic? How do we design our questionnaire in order to measure the relationship between obstacles, player action, and player feeling about game? For answer the question, we must ask: 1. what is puzzle? 2. What‘s difference between other digital games?. 7.
(19) Section 1.1.4:. Puzzle Game: What is Puzzle? ── Meaning of Play. It is a good start point to quote from Scott Kim‘s (2003, 2008) presentation slide on Game Development Conference (GDC), ―The Puzzlemaker’s Survival Kit‖: “A puzzle is a problem that is fun to solve──as opposed to everyday “problems”── and has a right answer ──as opposed to a game (no answer) or a toy (no goal).” This definition not only explains what puzzle is but also describe the motivation of why people play it. From the definition, we know puzzle is a problem but different from everyday problems we encounters. Although problem means something trouble and undesired, however, we will feel fun to solve it. Why? Scott Kim (2003) describe: “puzzle game symbolizes our desire to find order in the universe.”. When we see something in disorder states, people always want to control it── that is why puzzles display itself as complex forms and simple forms after being solved. Furthermore, as James Paul Gee (2005) says: puzzle supply order, control and workable environment, therefore, ―goal‖ and ―right answer‖ are proved in puzzle worlds, not like a toy, puzzles are encouraging us to solve and control those problems. ──Lusory attitude, the term mentioned by Bernard Suits (2005), in the book “The Grasshopper: Games, Life and Utopia” can also explain the attitude we face the ―puzzle problems‖. What is Lusory attitude? Lusory comes from the word ―ludo‖, in latin means play, describe the attitude of players required to enter a game (Katie Salen & Eric Zimmerman, 2003). In the puzzle, it is the attitude we confront the complex of puzzle emerges from rules. For example, although we can just rearrange puzzle that simply eliminate it complexity, but people still play it according to game operation rule. From description above, we already know what is puzzle and attitude people face it. And then, there comes a key problem: what is different between puzzle and other digital game? From Scott Kim‘s definition, he says game is no answer and puzzle has a right answer. What is it mean? Quote from Chris Crawford (1984), we can give such conclusion: game requires player to build their solution, but puzzle requires player to find out designer‘s solution. Therefore, we may still feel fun when play other digital-game again and again, but only few times for a puzzle.──a game is fun if there exists uncertainty──because for other digital-game, player doesn‘t know whether they can complete the level, but for a puzzle, they will remember how to solve it in the few time of play the same level. 8.
(20) So far in this section, I introduce about the meaning of play, it is important concept for designing meaningful game. Next, let‘s examine about the component in puzzle game.. Section 1.1.5:. Puzzle Game: What is Puzzle? ── Component. Figure 2 Concept Model of Puzzle developed by Scott Kim.. From Figure 2, Scott Kim (2003) separates game and puzzle as two different concepts, as mentioned in previous section, game and puzzle has different meaning of play. But, by introduce situation component, we can fit puzzles into a game. Situation gives a goal that driven player to solve the puzzle; it explains background by using story or a set of operation rule for player to comprehend it is a ―game‖. Without situation component, puzzle can‘t be a game. Situation guides us to handle the problem. The problem, different from everyday problems we encounter, it looks like a maze that has many choices and dead ends reside in it. Choice confuses player to realize which road is correct, and dead ends prevent they from solution. But different from ―real maze‖, it requires player using insight──the ability to find out which choice is correct and quickly ignore dead ends.──to solve the puzzle. The solution is applied on application in game. The use of Situation and Application component is depending on the genres of puzzle.. 9.
(21) Figure 3 Five genres of puzzle. In Figure 3, we can see Scott Kim (2008) has separated five genres of puzzle: Action, Story, Construction and Competitive and Pure puzzle. Basically, different puzzle will require player different skill, for example: 1. In Action Puzzle, like Tetris, it requires player eye-hand coordination skill to handle the game. 2. In Story Puzzle, like Machinarium (Amanita Design, 2009) it give a story before each puzzle start in order to create immersion situation for player, but player needs the ability to organize overall story in order to identify which key item are used to solve the problems in game. 3. In Construction Puzzle, like Incredible Machine, it requires player Physics knowledge in order to know whether your machine can work properly to solve the problem. 4. In Competitive Puzzle, like Boggle, it needs both eye-hand coordination and knowledge of English vocabulary in order to beat out others and win the game. Remember, the research goal of this thesis is to sort puzzle according to their difficulty. Therefore, this research only focus on pure puzzle, because puzzles that require math logic rather than physical skills or other types of knowledge, like action, therefore it is easier to design difficult measure function compare to other genre of puzzle. You can refer to Appendix to know the rule of “Cross Block” and “Sudoku” 10.
(22) that used in this research.. Section 1.1.6:. Puzzle Game: Difficult Measure and Sorting. In this section, I want to answer the question raised at Section 1.1.3: Is puzzle game can apply DDA for sorting difficult? What is controllable feature? And what is gameplay characteristic? How do we design our questionnaire in order to measure the relationship between obstacles, player action, and player feeling about game? Of course, it is possible to apply DDA for a puzzle game if we can calculate difficult, but there exists some problem in practical use. 1. For controllable feature, choices and dead ends is obstacle in puzzle but not easy to control it compare to other game. In puzzle, because these two features always emerge from the logic rule of game system, we can‘t find out a proper number of obstacles easily, it will cost much time to dynamic adjust difficult for puzzle. For example, in Cross Block, number of choice and dead ends emerge from the square interaction with other square, therefore, it need much time for auto-generate program to find out proper number of controllable feature for next level. 2. For gameplay characteristic, we can‘t get accurate data from player. Because meaning of play for a puzzle is to find out a solution, therefore, player tend to know how to solve it if they already solves the problem that same as pervious. Therefore, use time or retry as characteristic for measure performance, will trouble with large variance of collected data for same puzzle that cause analysis difficult. 3. For questionnaire, it is difficult to design question to find out relationship between each obstacle and action, because player feel about the puzzle by their whole emerge pattern but not individual object. Remember, difficult function is depending on the challenge and skill function, but every player has different skill every time they play puzzle, therefore ―optimal arrange‖ of puzzle will change every time for every player. Let‘s summary we had discussed so far: difficult is a relative concept that based on player past experience and can‘t be measure directly; if we want to apply DDA to puzzle game, it will also have some trouble in increase obstacle and measure player performance to dynamic adjust proper difficult for a player.. 11.
(23) If such ―optimal arrange‖ is difficult to achieve, why don‘t we sort puzzle by some criterion and map it to static difficult (Very Easy, Easy, Normal, Hard and Very Hard)? Because puzzle has the property of emergence that is some kind of complex system, therefore, the goal of this research will focus on how to measure complexity, at the same time, design a method to approximate it to difficult function (static difficult). Compare to DDA, this method is more practical to real puzzle game design process, that we doesn‘t need to consider player skill dynamically, and resorting and rescore puzzle‘s difficult according to their performance. My argument here is trying to separate the concept more clearly between Difficulty and Complexity that will more convenience for us to further discuss the topic. From the aspect of research in task difficulty and task complexity discussion, many papers separate these two terms as different concept: complexity as objective measure and difficulty as subjective. (C. D. Güss, E. Glencross, Ma. T. Tuason, L. Summerlin, & F. D. Richard, 2004; J. Kim, 2005; P. Robinson, 2001) Similar as our argument above, Jeonghyun Kim (2005) further divided difficulty into two group: first is expected difficulty, which is the percept of difficulty before you start the task; and second is experienced difficulty, which is the feeling after you finish the task. Next, I want to introduce complexity theory and it relation to puzzle game, which is an essential concept in this research.. Section 1.1.7:. Puzzle Game: Complexity Theory. Complexity Theory has two kinds of meaning: one is Computational Complexity, and another is the study of Complex System. In this section, I will briefly introduce these two fields and their relation to puzzle game. A.. Computational Complexity. Computational Complexity is the study of theoretical computer science and mathematics that focus on how efficiency to handle a problem (M. Sipser, 1997; Sanjeev Arora & Boaz Barak, 2009). For example, there have three famous type of computational efficiency problem NP, NP-Complete and NP-Hard, indicate whether it 12.
(24) can be solved within linear time; furthermore, there also exists the problem about space efficiency: PSPACE, PSPACE-Complete and PSPACE-Hard, indicate whether it can be solved with limited space. Give an overview, there have some research may like: Reduce Time Complexity By an Algorithm for solving a puzzle(R. E. Korf, M. Reid, & S. Edelkamp, 2001), analysis Complexity of Search a Graph (N. Megiddo, S. L. Hakimi, M. R. Garey, D. S. Johnson, & C. H. Papadimitriou, 1988) and a reduction method for handle games(R. A. Hearn, 2006). Puzzle is very suitable for further study in this field, because it require player to choose a sequence of action in order to solve it that has many interesting feature for calculate model. Quote from Robert Aubrey Hearn (2006), in his research, Computational Complexity of a puzzle can classify into following category: ―If a game is a one-player puzzle with a bounded length, odds are it is NP-Complete.” and “Indeed, unbounded puzzles are often PSPACE-Complete.” Bounded and unbounded puzzle means whether it has a restrict length to solve it. In unbounded puzzle we can always go back to previous state, therefore it has no restrict length. Both of them need exponential time to compute a solution, but they are different in whether we can use polynomial space to verify a specific action sequence is correct. Because Savitch‘s (1970) theorem had proofed that NP-SPACE = PSPACE, therefore we can solve any puzzle problem with polynomial space. The main research direction in this filed is how to solve a puzzle more computational and space efficiently. Is computational effort relate to complexity of puzzle and can use for sorting purpose? I think it is not a good idea, because Computational Time and Space problem, your machine will run a long time or crash due to memory lacking when compute a very complex puzzle. B.. Complex System and Emergence. What is complex system? Although this filed has been studied in modern computer science for a long time, but it is one of profound problem that people tends to understand in past several thousand years. Aristotle (384 BC – 322 BC), a noted Greek philosopher, who first organized the concept in his questions about Metaphysica: “The whole is more than the sum of its parts.”, that actually indicate the most important property of complex system. Jeremy Campbell (1982) looks this ―whole phenomenon‖ from the aspect of information, language, and DNA, says that when system beyond a ―complex barrier‖, 13.
(25) entirely new principle will come into play. The principle, call emergence, may allow a system to self-organizing, replicating, learning, or adaptive itself to environment. Penny Sweetser (2007) has summarized some common property for a complex system: Elements, Interactions, Formation, Diversity, Environment, and Activities. In other word, if there exist a set of elements, that will inter-interact with a set of rule in an environment for specific purpose, their interaction process has large state space, element will reorganize itself over time changed, and then it is a complex system. The first deep exploration about emergence is from John Holland‘s (1999) book ―Emergence: From Chaos to Order‖, shows many example about how emergence arise from complexity. When a system is emergence, it means we can‘t predict it high level behavior or structure of system from observer lower level. But, not all of system is complex. Christopher Langton (1995) provides four level of complexity for understand system: Fixed, Periodic, Complex, and Chaotic. The boundary between Periodic and Complex is complexity barrier; between Complex and Chaotic is edge of chaos. Beyond complexity barrier means system will have emergence phenomenon, but if it complex reaches chaotic level, this phenomenon will disappear. Following two “Cross Block” puzzle levels in Figure 4 shows complex and chaotic level of puzzle:. 14.
(26) (a) Chaotic Level. (a) Complex Level Figure 4 Emergence Phenomenon Example (a) Complex level of puzzle that has high complexity.. (b) Chaotic level of puzzle that with. no complexity (no dead ends) that every square can interaction with each other to form a basic element that can be canceled by player.. It shows emergence phenomenon in the “Cross Block” puzzle, that both choice and dead ends will increase when it beyond complexity barrier and dead ends will decrease when reach chaotic level. The study has widespread research in many fields, such as Information Complexity on Communication System (C. E. Shannon, 1948), Artificial Life (Adamatzky. Andrew, 2010; Christopher G. Langton, 1995), Biological System (Gerald M. Edelman & Joseph A. Gally, 2001), Economic System and Human Society (Holling, 2001)…etc. We can‘t survey all of those fields here for understand what is complexity, since it will diverse our discussion to focus on puzzle game. With a general idea, quote from Penny Sweetser (2007), we simply define complexity as following meaning :“Complexity is a measure of the difficulty involved in understanding a system.” What means to understanding the puzzle? If someone can solve a puzzle level, we say he/she understand it. How do we measure complexity of a puzzle? From previous discuss, we know insight is important skill to solve a puzzle, and there has two components will affect it: choice and dead ends. But, because they are emergence phenomenon in the puzzle, therefore we can‘t directly control it. How do we calculate it? From computational complex theory we discuss, it will fail when we want to expand search space in a puzzle. In chapter 4.1, I will introduce our approximate method. 15.
(27) Motivation: Challenge in Puzzle Game Sorting. Section 1.2:. Basically, we can classify difficult model into two classes: dynamic difficult and static difficult. There has several challenge of measure dynamic difficult in puzzle game: First, because puzzle game have emergence property, therefore it is difficult to control obstacle. Second, we must design a method to distinguish those puzzles which players already know their answer in order to measure player‘s skill correctly. Third, it is difficult to find out relation between each object, because the difficulty of puzzle is ―whole‖ not individual obstacle. Therefore, in this research, we will only focus on how to measure complexity and map it into static difficult.. Motivation: Mobile Game, Market and Puzzle Game. Section 1.3:. Recently, mobile game market has dramatically growth, especially when Apple releases their cutting-edge product: iphone and ipod, there has more and more company starting their game project on mobile platform. According to Apple‘s official news, the number of App Store──an online software download service for Apple‘s product (iPhone, iPod, iPod Touch), which launch on July 10, 2008 (Apple).──downloads already exceeds 10 billion, furthermore, it is worth noting that TOP 10 of popular iPhone paid Application, 9 is games (Robin Wauters, 2011). Hence, the market in the mobile game has large amount potential benefit. There has a research shows that Mobile app market will be worth $25 billion U.S. dollar By 2015, compare to 2010 is $ 6.8 billion (Sarah Perez, 2011). My research is focus on puzzle game, which is very suitable for mobile platform, because it has short play session and player can stop it at any time without punishment compare to other hard core game. In fact, “The games that are popular on the mobile platform are mostly casual games”(Elina M.I. Koivisto, 2006) Puzzle is a kind of casual game, which is popular in the mobile game. Just as introduce on background, there have five different genres. But, we only focus on pure puzzle, which doesn‘t have any other additional element, since it convenience for our research on calculate and sorting complexity. Barry Clarke (1994) in his book, ―Puzzles for Pleasure‖ collect large number of puzzle and classify into two category according to their difficulty: Popular Puzzle and 16.
(28) Advanced Puzzle. Popular Puzzle requires modest insight and engagement that suit for every people; Advanced Puzzle for those puzzle-solving manias, who think Popular Puzzle too easy. In past time, designer tends to use their own sense to rank the puzzle they design. If we can tell which puzzle is Popular, which is Advanced and tell the degree of it complexity that relative to others, it will very helpful for puzzle game design process.. Section 1.4:. Goal. The purpose of this research is to design a general method that can sort pure puzzle according to their complexity. In order to grasp more accurate purpose of this research, here comes the summary about Difficulty and Complexity that described in background. Difficulty is a subjective and relative concept that based on player past experience. Both challenge and player skill will affect it, but because measure player skill in puzzle is difficult, therefore, we use complexity instead of difficulty for sorting purpose. Complexity is an objective concept that is the measure of difficulty involved in understanding a system. In puzzle game, how difficult for a player to understand a puzzle depends on their insight to a puzzle. As introduced in previous section, insight will be affected by choice and dead ends, therefore, this research only uses these two criterions for complexity measure, furthermore, design a method that can approximate complexity to human sorting (difficulty).. Section 1.5:. Contribution. Puzzle is a popular game type in mobile platform, which have short play session time that is very suitable for time killing. As describe in motivation section, there has more and more company starting their game project on mobile platform. But, there exists a trouble for design a puzzle game: How do we decide arrange of puzzle? In the past research, they are focus on how to solve a puzzle more efficiently in term of computational and space complexity. However, it is not necessary for real game application. Although all puzzle need to validation a solution, but if it cost too much time, then it is not practical. The focus of this research is on complexity sorting, which takes practical into account, is more essential for puzzle game designer.. 17.
(29) Because almost all puzzle game can auto-generate by program, we can simply generate large number of levels, therefore how to pick out a set of appropriate complexity levels is very important topic. Our result will be a calculate model, which can calculate complexity for any pure puzzle. If you have a solving program and a solving sequence, then our model can tell the score and rank base on all puzzles in the puzzle database.──It is very convenience for puzzle game designer to analysis what is difficult in puzzle.. 18.
(30) Chapter 2: Literature Review This chapter mainly focuses on some basic technique, theories and method that are related to our experiment method. You can skip this part if you already familiar with it.. Section 2.1:. Tree Search. Formulate game as tree search problem is very popular technique in the field of Game AI. Programmer always apply this method to create ―intelligent‖ in game, for example, in two-player game like go, chess or Othello, we create intelligent opponent to compete with human player; in RTS, like AOE, StarCraft, we let game agent find out an optimal path from ―A‖ point to ―B‖ point to reduce effort of player control; in puzzle game, like Sokoban, Sudoku, try to find out and validate a solution sequence to give the hint for player. Although I describe some application of tree search above, but I still doesn‘t explain what it is. What is tree search in term of programming? It is a problem solving technique by discrete and expanding possible state of problem in order to find out a solution. ―Problem‖ and ―Solution‖ are two essential concepts in this method. Russel (2002) in his book list four element to define what is Problem: 1. Initial State: like concept model of puzzle I mentioned in chapter 1, it is the entry of maze. 2. Successor Function: a set of action-state pair, record which action can lead to which state. In tree search problem, it is branch or choice. 3. Goal Test: test whether our goal is achieve. It can be explicit, if current state is on certain state we already list in goal list; or it can be implicit, if certain condition of current state is achieve. 4. Path Cost: the cost from initial state to current state, it can be simply define as time, distance or number of action executed, depend on your application. The Solution is a set of action sequence that can lead problem from initial state to goal state. Figure 5 is an example of Solution in Cross Block Puzzle:. 19.
(31) Initial State, Path Cost = 0. Path Cost = 1. Action 2: (4, 5) (9, 5). Action 2: (1, 1) (1, 10). Path Cost = 3 Path Cost = 2. Action 4: (1, 10) (7, 10). Action 3: (4, 3) (4, 9). Goal State, Path Cost = 4 Figure 5 Example of a puzzle Solution.. 20.
(32) The core idea of tree search is to explore over all state space of problem in order to found out a solution. Like it name, when you explored the state, you will find it similar to the branch of tree, see Figure 6.. Figure 6 Example of tree search. How do we design such algorithm? Because ―state‖ only store representational dimension of problem, therefore we need other data structure to record other information, such as path cost f, depth of tree search, current state come from which state(parent), which state current state can go (child), almost all literature call this kind of data structure as ―node‖. You can simply use adaptive pattern or wrapper pattern, from design pattern(Erich Gamma, Richard Helm , Ralph Johnson, & John M. Vlissides, 1994), to including such information for state, the C++ code like Code 1:. 21.
(33) Code 1 Data Structure Node.. Have node as basic data structure, our tree search implementation looks like Code 2 and Code 3: algorithm from Russell‘s (2002) book, chapter 3.. Code 2 Implementation for BFS tree search algorithm.. 22.
(34) Code 3 Implement for expand function.. In this algorithm, only thing you must do is to design your State class and successor function because it various depends on application detail. But still, it have some problem if there have some action that can go back to same state that previous had expanded, then program will fail to explore over all state space because same stae will be expanded again and again. In order to solve such problem, we must introduce a list that can record state that already be expanded. The algorithm is called graph search in Russell‘s book. Code 4 is my implementation:. 23.
(35) Code 4 implement for graph search.. There have three main variations for search algorithm: Depth-First Search (DFS), Breadth-First Search (BFS) and Uniform-Cost Search (UCS), all of them are different at which node is expanded first. BFS expands the node from beginning of fringe; DFS expands from back; and UCS expands from lowest cost. Also, they have different benefit in solving the problem. BFS and UCS can find optimal solution, but because all nodes must keep in memory, therefore space will be a big problem; else, although DFS doesn‘t have memory problem, but it can‘t find optimal solution and not suitable for those problems which total depth too high or unlimited. Therefore, there comes the method to improve the problem describe above, like Iterative Deepening Search. By gradually deeper search depth, our search tree can improve space problem cause in BFS. Another improving technique like A*, is using heuristic as cost measure, can reduce large amount of node doesn‘t need to be 24.
(36) expanded that can increase searching performance. But the algorithm in this section only suit for one player game, for those two-player game problems like go or chess, we need apply min-max or alpha-beta. We don‘t introduce two-player game tree search, because it is not relate to this research, but it core idea is same in this section.. Section 2.2:. Local Search. Although tree search is a powerful problem solving method, but there still exists some weak point, for example, if we want to solve a problem that with very large state space, then it will always cost too much time to find a solution or crashed because run out of memory. It is not very efficiency for those problems, which only wants to find an acceptable goal state but not their solution path, such as 8-queen problem, therefore, here comes another algorithm in computer science, call Local Search. What is Local Search? It is an optimization technique by only consider current state and gradually move to their better neighbor state and finally find an acceptable goal state. The term optimization in this method doesn‘t mean it will always find a global optimal, but because we can always find an approximated optimize state, call local minimum/maximum or local optimal. Before starting search, we must design an objective function to measure the goodness of current state. How do we define what is ―better state‖ will affect we try to find is local minimum or local maximum. If we feed training sample into objective function to tell program what is good and what is wrong, then it is a kind of machine learning. Like genetic algorithm, neural network…etc., all of them are local search. Figure 7 shows the concept of local minimum search describe above that adapted from (Russell. S. & P. Norvig., 2002) chapter 4:. 25.
(37) Figure 7 Concept of minimum local search. Of course, it is the best result if we can find global minimum, however, local search algorithm always stuck on following three places: local minimum, flat and shoulder. There doesn‘t any solution to remove this problem, but instead, we have a principle to get a better result: ―If at first you don‘t succeed, try, try again.‖(Russell. S. & P. Norvig., 2002), by randomly initialize state, you will get a chance to approach best result over state space.. Section 2.3:. Simulated Annealing. Because classical local search algorithm tends to stuck on local optimal, therefore if we can jump out local then it seem easier to find a better solution. Simulated Annealing that are is such kinds of algorithm. By introduce some probability to do random walk over state space, and then it can help us to jump out local minimum / maximum state. The concept ―annealing‖ come from physical says that it “is the process used to temper or harden metals and glass by heating them to a high temperature and then gradually cooling them, thus allowing the material to coalesce into a low-energy crystalline state.”(Russell. S. & P. Norvig., 2002). 26.
(38) Figure 8 is the flow chart of Simulated Annealing: Randomly initialized state. Calculate Energy (or call Cost). Return Optimized State. Yes Stop? No newState = disturb(currentState). No Is Accept? Yes currentState = newState. Decrease Temperature Figure 8 Flow Chat of Simulated Annealing.. First step is randomly generating our state, it is because we want to increase opportunity to find global optimal, and then we calculate energy of current state, because this algorithm is local minimum search, therefore we can also call this energy function as cost function. You must design this function depends on your application. Next, try to test if current state is good enough, if so, and then it is an optimized state and return it; else, try to adjust current state and test if we can accept this new state in current temperature.. 27.
(39) Temperature is a core concept in this method, it will affect whether we can accept new state. It will accept new state by following rule, call Metropolis criterion(Kai-Ju Chen & Kou-Yuan Huang, 2007): 1. First, Set deltaE = new state energy – old state energy. 2. If deltaE >= 0, then accept it immediately. 3. Else, using current temperature Tk to compute probability pt in Boltzman distribution and randomly generate a random probability r. 4. If r <= pt, then accept it, else reject. Boltzman function is a function to simulate the probability of transforming physical state in certain temperature. It is defined by Code 5:. Code 5 Boltzman distribution for simulated annealing.. When temperature Tk is high, then we will tend to change our state in spite of it is a bad state compare to old state. Until temperature continue decrease down to certain number, and then state will keep to a stable and find a local optimal. You can try same temperature many times. Code 6 is my implement for temperature decrease function:. Code 6 Temperature decrease function for simulated annealing.. And is Code 7 is my implement for accept function:. 28.
(40) Code 7 Accept function for simulated annealing.. The program used in this research is adapted from (Kai-Ju Chen & Kou-Yuan Huang, 2007; Kou-Yuan Huang & Ying-Liang Chou, 2008), by design our state as mathematical from, and gradually adjust its parameter, then we can get a set of optimal parameter.. 29.
(41) Section 2.4:. Pseudo-Random and Real-Random. What is Pseudo-Random? In computer, we can‘t really generate Real-Random number because it is run by deterministic process. If you feed same random seed (used to calculate) for random program to generate random number, you will find your program generates same random sequence as pervious run and this number sequence will repeat again and again as a period length. Because we can predict number generated by program if it algorithm is known, therefore, we call computer-generated random number as Pseudo-Random. In computer science, there has much research introduce many algorithms about how to approximate real-random. Mersenne Twister (MT) is a most popular Pseudo-Random method nowadays that developed by Makoto Matsumoto and Takuji Nishimura (1998). Its name is come the fact that period length in algorithm will be a Mersenne prime (𝑀𝑝 = 2𝑝 − 1). In this research, we adapt a MT variation call MT19937 which has long period (219937 − 1) and can generate 32-bit integer, for our random process.. Section 2.5:. Game, Digital Game and Media. What is game? Beginning works may be trace back to Johan Huizinga in 1954. He was analysis what is game and it meaning from the aspect of philosophy. According to his works, Homo Ludens (Johan Huizinga, 1954), says that game will be a game if it satisfy following three feature: 1. Voluntary: Participator must with his/her own will to join the game. 2. Unreality: The content of game must achieve some fantasy content. 3. Separation and Regional limitation: game exist a boundary between reality and fantastic, call magic circle in Rules of Play(Katie Salen & Eric Zimmerman, 2003). What is digital game? It is the game that integrate with many different media, like word, picture, music…etc. We can separate all digital-game and non-digital game as Figure 9:. 30.
(42) Figure 9 Game Taxonomy by Media.. Digital Game: Computer Game: use computer as game media. Console Game: use TV as game media like X-BOX, PS3. Handheld Game: use small device as game media like iPhone, PSP. Non-Digital Game: Board Game: mainly use physical tool pencil, paper, or card …etc., as play media like Monopoly, Carcassonne, usually as indoor activity. Sport: use player‘s own physical body to compete power for each other. Ground Game: Opposite to board game, it is an outdoor activity. Game like Hide and seek, hopscotch, and geocaching may be classified into this category. But Taxonomy for each game are not fixed, for example, Wii-sport is successful in combining Console Game and Sport as new play style.. 31.
(43) Section 2.6:. Flow Theory. In psychology, flow means optimal experience when challenge meets skill. The term are propose by Czikszentmihalyi (1998). Figure 10 is mental state refer in flow theory:. „ Figure 10 Mental State in flow theory.. It worthy to note that flow condition only occur in high challenge and high skill, where low challenge and low skill are considered as Apathy, means player doesn‘t care about whether they can get good performance in the game.. Section 2.7:. Three-part rule model. The model are proposed by Katie Salen and Eric Zimmerman (2003). They divide game rule into three parts: 1. Operational rules: structure of a game, how can we operate the games. We must first know the legal input for a game, and then can start gameplay. Operational rules have some property as following: a. It must be an unambiguous and explicit, for example, write down on the manual. b. It must share among all players that everybody can access to it without any information loss. c. It must be fixed and repeatable, so it can helps us to identify and confirm 32.
(44) every game instance we play are actually same. d. It must make binding among player that if they break the rule they may pay some penalty that will reduce their fun experience, therefore player may more likely to play the game according to the rules. Although there have some situation that will make player to do some cheat, but the problem doesn‘t relate to this research, so we don‘t discuss cheat problem here. You can refer to Mia Consalvo (2007) works about cheat in games to get more detail idea. 2. Constituative rules: It is logic part of games. How to explain game outputs and select a set of legal inputs is essential part of gameness. When a better explanation can be made, then better you will play the game. Player is required to learn how to ―insight‖ this rules in order to win. If we want to design or analysis gameness for a game, Constituative rule is most important part we must care, because it will emerge large amount of play strategy. For example, in ―Cross Block‖, Constituative rule is number of ―Cross Out‖ and wining condition. 3. Implicit rules: like the social norm, it doesn‘t explicitly write down on the game manual, but everybody will obey the rule voluntarily. For example, when play the chess or Go, it will break implicit rules when one player hide game board from his/her opponent. This rule will always change depends on environment when you play the game. There may have some implicit rule become operation rule in different environment. By the description above, we conclude that Constituative rules are the source which brings the feeling of difficulty to players.. 33.
(45) Chapter 3: Method This research separate into following four experiments: Experiment One: Experiment on Puzzle Game Space for Complexity Measure using “Cross Block”. Experiment Two: Validate results between Complexity and Difficulty Using “Cross Block”. Experiment Three: Validate results between Complexity and Difficulty using “Sudoku”. Experiment Four: Approximate Complexity to Difficulty, using “Sudoku” The first two is preliminary experiment, which want to validate some property of puzzle game. And another two is our main experiment, which validate the correct rate of puzzle difficult sorting.. Section 3.1:. Experiment One. As describe in chapter 1, Difficulty and Complexity in this research is two different concepts. Complexity is objective according to puzzle itself and Difficulty is subjective according to player past experience. Generally speaking, the more solved step a puzzle required the more difficulty and complexity a puzzle may be. But, is this assumption true? According to the concept model of puzzle game developed by Scott Kim, introduced in chapter 1, we known there have two attribute of puzzle will affect insight: choice, also call branch in this research, and dead ends. I use these two criterions to measure complexity of puzzle. In order to validate the result, first, I want to introduce how to calculate complexity. Because this research uses “Cross Block” that game board size equal to 10 * 10 as experiment puzzle (refer to chapter 1.1.6), therefore, here coming two Property need to validate: Complexity Property 1: When solved step increase, puzzle‘s complexity should increase. Complexity Property 2: When cross_out is about half of game board, then it complexity should be highest. In this experiment is cross_out_5 (10 / 2 = 5). 34.
(46) If result corresponds to both Property, then we can say complexity calculate model in this research is successful. By generate large number of puzzle levels and do statistic to observe whether overall Puzzle Game Space is corresponding property. What is Puzzle Game Space? It indicates every possible state in a puzzle game. Here have 5 phases in this experiment: Phase 1: Random generate large enough samples for each solved step. Like Figure 11, only sample puzzle levels in game board Size = 10 * 10.. Figure 11 Cross Block’s Puzzle Game Space.. Phase 2: Calculate branch and dead ends for each puzzle levels. Generally speaking, expand all node will get more accurate result. But I don‘t do that. Why? Because there has many puzzles is NP-Complete problem. It takes too much time, and either impossible to calculate for some complex puzzle. If we only expand answer node (from random generate process, we know it), we can reduce problem to linear time. Like Figure 12.. 35.
(47) Figure 12 Branch and Dead End Calculating Process. Phase 3: Calculate branch and dead end‘s sample mean for each solved step. Phase 4: Calculate complexity for each puzzle levels, you can see the method I propose in Figure 13. Normalize function in this model can help us explain result of complexity and doing parameter adjust.. 13 BD-Complexity Model Figure Phase 5: Calculate Calculating complexity‘s sample mean for each step.. 36.
(48) I will show the result in Section 4.1: for validate Complexity Property 1 & 2. But, there still need furthermore validate process about the difference between Complexity and Difficulty. Therefore, in next experiment, we use ―Sudoku” puzzle to validate the result and shows the ability of our method can handle different puzzle.. 37.
(49) Section 3.2:. Experiment Two. The purpose of this experiment is to validate correct rate of complexity sorting by compare result in experiment one to human difficulty evaluation of puzzle. Here has 5 phases in this experiment. Phase 1: Select the puzzle levels from Puzzle Database with proper complexity distribution for human evaluation. In order to validate the result of complexity, first, we must choose a set of puzzle that have proper complexity distribute over puzzle game space. In experiment one, we will generate a set of puzzle and calculate their complexity value with both parameter B and D = 1. Because complexity value will be normalized, therefore, we can simply separate into five basic difficulty groups as following: 0 ~ 0.125 (Very Easy) 0.125~0.25 (Easy) 0.25 ~ 0.5 (Normal) 0.5 ~ 0.75 (Hard) 0.75 ~ 1.0(Very Hard) Although Boundary between each basic difficulty doesn‘t be validated, however it is convenience enough for us to choose the puzzle. By random select the puzzle levels from those four groups, we can get a set of puzzle with proper difficulty distribution. Phase 2: Evaluate difficulty by real human player. Collect data from player, with following process: 1. When player completing (even give up) one puzzle level, let them give a difficulty score between 0 ~ 100. 2. When player finishing all puzzle levels (even there exist some give up levels), let them rescore all puzzle difficulty again. First score data wants to see whether player will affect their evaluation about difficulty when complete more and more puzzle. 38.
(50) Second score data wants to compare ranking result that the experiment one generated. By average all collect data, we compute arrangement familiar ratio that can tell how successful the experiment one is. Phase 3: Average difficulty that evaluated by real human and sorting the result. Phase 4: Calculate sorting similarity between Difficulty and Complexity with small puzzle base. Phase 5: Calculate sorting similarity between Difficulty and Complexity with large puzzle base. The different between Phase 4 and Phase 5 is number of puzzle in puzzle database. Small puzzle base means we only use experiment puzzle set that are picked in phase 1 to compute complexity; large puzzle base means we will consider all puzzle over puzzle space that are generated in experiment one to compute complexity for each puzzle. Generally speaking, large puzzle base has more accurate complexity value and sorting.. Section 3.3:. Experiment Three. We use the Sudoku puzzle that provided by Taiwan Sudoku Association (TSA) (W. Kuang-Chen (巫光楨), 2008) to validate our result. In the website, they statistic solve rate, time used to solved for each “Sudoku” puzzles and separate it to 5 ranks that can corresponding to basic difficulty: very easy, easy, normal, hard, and very hard. Phase 1: select proper amount of puzzle in each rank. Phase 2: find a solution sequence for each puzzle, we use solving program in TSA (W. Kuang-Chen (巫光楨), 2008). Phase 3: Using solution sequence to calculate branch and dead ends for each puzzle. Phase 4: compute complexity for each puzzle. Phase 5: compare rank result by website and complexity rank by calculate sorting similarity.. 39.
數據
相關文件
1 After computing if D is linear separable, we shall know w ∗ and then there is no need to use PLA.. Noise and Error Algorithmic Error Measure. Choice of
You shall find it difficult to generate more kinds by varying the inputs, and we will give a formal proof in future lectures.
SG is simple and effective, but sometimes not robust (e.g., selecting the learning rate may be difficult) Is it possible to consider other methods.. In this work, we investigate
7 Steps to Achieve 7 Steps to Achieve 7 Steps to Achieve 7 Steps to Achieve 7 Steps to Achieve 7 Steps to Achieve 7 Steps to Achieve 7 Steps to Achieve Successful
Use reward to diminish negative behaviour. Teach social skill /
Because simultaneous localization, mapping and moving object tracking is a more general process based on the integration of SLAM and moving object tracking, it inherits the
• Instead, static nested classes do not have access to other instance members of the enclosing class. • We use nested classes when it
• Instead, static nested classes do not have access to other instance members of the enclosing class. • We use nested classes when it