Professional Documents
Culture Documents
CMP9133 Assignment CRG 2223
CMP9133 Assignment CRG 2223
CMP9133 Assignment CRG 2223
Requirements
This component requires you to complete the following two tasks.
(1) Develop a playable online 3D curling game with rules similar to a physical curling game that
can be played by a good number of online teams and players, with potential to scale up for
massive online players. This game does not need to follow exactly standard curling game rules
and may be quite simple.
(2) Write a formal report covering the development details of the game, and your insights on the
challenges, solutions, programming languages and skills regarding large-scale programming
issues.
The purpose of this assignment is to evaluate your capability in evaluating, proposing and
implementing solutions for a large-scale programming problem, and your deep understanding of
different object-oriented programming languages and state-of-the-art tools for large scale
programming issues.
Your development can recycle and extend the materials used in the module workshops. Please
note that it still needs significant modification to the provided system design and implementation
to meet the requirements. Alternatively, you can opt for implementing your own GUI-based game
from scratch addressing the massive online challenges. To meet the minimum requirement, your
developed online game should allow at least 100 online players to play at the same time.
The detailed technical requirements are detailed below. Please note that you are expected to
submit the report on your development addressing these requirements below, along with all
source code and project files of your system.
The Report
You should submit a report (1) describing your online curling game development in detail, (2)
describing the key challenges and your solutions, if your game is re-designed for massive online
players e.g. more than one million users at the same time.
The report should be maximum 8 pages with the font size of 11pt, excluding front cover,
references and appendices.
The report should be clearly structured and should include at least the following sections:
Please describe your game including the rules of your game, how to play the game, and at
least one snapshot of your game (approx. 0.5 page).
Please describe briefly your game design and the implementation of the classes and the key
functions you have used in the game, using diagram if necessary. Please include detailed
descriptions of the design and implementation for the four technical tasks i.e. 1. curling sheet
class, 2. curling stone class, 3. players, teams and scores classes, 4. network implementation.
Please include details of the new classes, functions and concepts you have implemented for
each of the above 4 requirements, using diagram, plots or snapshots of source code if
necessary. (approx. 5pages).
A short video clip of max.180 seconds (markers will only check the first 180seconds of a
video clip) should be provided with yourself explaining the key coding structures for the
above 4 game requirements and how to play the curling game showing the functionalities
implemented. This clip needs to be uploaded as supporting material along with the code and
other source files to confirm your games development and implementation.
The method you use to cope with memory (e.g. too many detailed objects to be loaded) and
scalability (e.g. 1,000 or even more online players at the same time) issues, with
diagram/plots/snapshots of source code if necessary (approx. 0.5 page).
5. Challenges and solutions if your game to be scaled up for massive online players
Please provide a brief review/examples of similar large scale projects or online games you
have investigated.
Please list key challenges if your game is scaled up for more than one million online users
play at the same time and propose your solutions to these challenges. Your solutions may
not be restricted to only one specific program language or specific platform or network
structure. (approx. 1 page).
Appendix
You are expected to include your own code as an appendix to the report, or any other material
related to your solution such as detailed design diagrams or screenshots.
Feedback Format:
Feedback will be in a written format with scores against each Criteria, e.g. CR1, CR2, and CR3.
Final weighted score for this assignment will be given in the feedback.