Question 1
Taylor is creating an online multiplayer game where users can create accounts and build their own circus. Each circus will contain characters such as clowns, animals, magicians and dancers.
Users can set up a new circus in the online world, purchase new characters and visit other users’ circuses.
Taylor uses computational methods to analyse the problem including abstraction.
Describe how Taylor could use abstraction in the design of his online circus game.
[3]
Taylor will make use of concurrent processing within his circus game.
Describe what is meant by the term ‘concurrent processing’.
[2]
Explain why concurrent processing is needed to allow multiple users to log in and interact with game elements at the same time.
[3]
Some of the characters in the game will move and interact independently. Taylor is going to use graphs to plan the movements that each character can take within the game.
DancerGold is one character. The graph shown in Fig. 1 shows the possible movements that DancerGold can make.
DancerGold’s starting state is represented by node A. DancerGold can take any of the paths to reach the end state represented by node G.
The number on each path represents the number of seconds each movement takes.
The number in bold below each node is the heuristic value from A.
Define the term heuristic in relation to the A* algorithm.
[2]
Perform an A* algorithm on the graph shown in Fig. 1 to find the shortest path from the starting node to the end node. Show your working, the nodes visited and the distance. You may choose to use the table below to give your answer.
[8]
A breadth-first traversal can be performed on both a tree and a graph.
Show how a breadth-first traversal is performed on the following binary tree.
[6]
* The game will have thousands of users. Taylor will store data about the users and their actions while playing the game in a large database.
Evaluate how Taylor can use data mining to inform future changes to improve his circus game.
[9]