UNIVERSITY OF WOLLONGONG Bachelor of Information Technology (CSCI321) FINAL YEAR PROJECT PROPOSAL Code Racer Supervisor Dr Loo Poh Kok Project Team: IT14/2A Student No. 4592086 4544766 4395177 4186345 4544754 Name Tan Yan Ni, Brenda Liaw Li Ling Grace Alvan Yoo Sim Wei Xiong, Jonathan Lee Chau Ming Page 1 of 37 Table of Contents Version Control ............................................................................................................................... 3 1. Introduction .............................................................................................................................. 5 1.1 Project Introduction .............................................................................................................. 5 1.2 Scope and Problems of Limitations ...................................................................................... 5 2. Preliminary Research ............................................................................................................... 6 2.1 Literature Review.................................................................................................................. 6 2.2 Market research ..................................................................................................................... 9 2.3 System research .................................................................................................................. 12 3. Proposed Software ................................................................................................................. 15 3.1 Key Features ....................................................................................................................... 16 3.2 Game Description ............................................................................................................... 17 4. Programming and Designing Tools ....................................................................................... 18 5. Proposed Solutions................................................................................................................. 19 5.1 Prototype GUI ..................................................................................................................... 19 5.2 Level 1 UI Placements ........................................................................................................ 22 5.3 Level 2 UI Placements ........................................................................................................ 24 5.4 Level 3 UI Placements ........................................................................................................ 26 5.5 Practice Mode UI Placements ............................................................................................. 28 5.6 Admin Management Module .............................................................................................. 30 6. Roles and Responsibilities ..................................................................................................... 32 7. Development Methodology ................................................................................................... 32 8. Project Schedule..................................................................................................................... 33 10. References ............................................................................................................................... 35 10.1 Works Cited ...................................................................................................................... 35 11. Appendix .............................................................................................................................. 36 11.1 Role appendix ................................................................................................................... 36 Page 2 of 37 Version Control Document Information Prepared By Team CodeRacer Date Prepared 20/04/2014 Reviewed By Version History Date Author Change Description 20/04/2014 Version Number 1.0 Alvan Yoo Initial Draft 24/04/2014 1.1 Alvan Yoo 25/04/2014 1.2 Lee Chau Ming 28/04/2014 1.3 Grace Liaw 02/05/2014 2.0 Jonathan Sim 03/05/2014 2.1 Grace Liaw 04/05/2014 2.2 Alvan Yoo 04/05/2014 2.3 Lee Chau Ming 09/05/2014 2.4 Lee Chau Ming 09/05/2014 2.5 Jonathan Executive Summary Development Methodology Roles & Responsibilities Timetable Introduction Background Scope & Problems of Limitation Key Features Update format/contents of document Proposed Software Programming & Designing Tools Formatting all font to time new roman font size 12 and update development method and Preliminary Research. UI Design and include Brenda’s UI Placements Amended Project Introduction Amended and add details to Preliminary Section Added Game Description. Added Literature Review. Added additional research to system research section. Updated format and table. Added research on gamification Page 3 of 37 Distribution List Name Position Organization Mr. Premrajan Owner University of Wollongong Dr. Loo Poh Kok Project Supervisor University of Wollongong Alvan Yoo WeiShan Project Manager Team CodeRacer Lee Chau Ming System Analysis & Development Team CodeRacer Testing Tan Yan Ni, Brenda System Development & Database Team CodeRacer Designer Liaw Li Ling, Grace System Development & Database Team CodeRacer Designer Sim Wei Xiong, Jonathan System Development & System Architect Page 4 of 37 Team CodeRacer 1. Introduction The aim of this project is to develop an educational game for users who are learning how to program in C++, in an interactive and engaging manner. Project CodeRacer will be made up of a series of challenges, which will increase in difficulty over time. Users will be able to choose challenges according to their own pace of learning. 1.1 Project Introduction The learning curve of C++ can be a steep one for many, the team seek to deliver an educational tool that enable users to pick up the programming language fast and at the same time, enjoying it. Through the team’s research, we have found out that several educational programming websites are designed purely based on static coding content that does not provide engaging modules with the users as they learn. The team consists of 5 undergraduates who will be developing this educational tool as a Final Year Project (FYP). In order to provide a system of progression for the users, CodeRacer will have different levels and one where users will start from novice level by reading through specific C++ tutorials. After reading the fundamentals, users are able to put their knowledge to test by attempting our first challenge, the interactive MCQ game. 1.2 Scope and Problems of Limitations As stated in the introduction section, the scope of this project is to develop an educational game for users who are learning how to program in C++, in an interactive and engaging manner. Given a specific timeline for the team to follow and coming from different programming backgrounds, our group members have discussed and concluded that the program will be developed in C#. This will better facilitate time management as C# is a language that the group members are proficient in. In addition, the other concern that the team has will be the demographics of the project’s target audience. It is an important factor for the team to ensure that the difficulties of the questions facilitate interest levels. Therefore, the team has concluded that the program should consist of different levels of difficulties to the challenges. Users could choose to complete a challenge that is to their level of skill before progressing to the next level Page 5 of 37 2. Preliminary Research A learning platform or educational tool is a framework of tools that work seamlessly together to deliver a student centric learning experience by unifying educational theory & practice, technology and content ([1]Hill, 2012). Hence, to further elaborate on the team’s research, a literature review of the project is included in section below. It will also consist of the market and system research of similar concepts of educational platforms. 2.1 Literature Review Project CodeRacer can be a form of virtual learning environment (VLE), learning management system (LMS) or learning content management system (LCMS). As all these three types of platforms facilitates the learning experience of users or students likewise. Virtual learning environment (VLE) VLE is a system that delivers learning materials to students via the web. The system includes assessment, student tracking, and collaboration and communication tools. They can be accessed both on and off-campus to support students' learning outside the lecture hall 24 hours a day, seven days a week. This enables institutions to teach not only traditional full-time students but also those who cannot regularly visit the campus due to geographical or time restrictions, e.g. those on distance learning courses, doing evening classes, or workers studying part-time. ([2]Press, 2013). Learning management system (LMS) LMS is a software that automates the administrative tasks of training, such as registering users, tracking courses in a catalogue, recording data, charting a user’s progress toward certification, and providing reports to managers. These system also serve as a platform to deliver eLearning to students. ([6]Media, 2010, 2011). Learning content management system (LCMS) LCMS is a multi-user environment where learning developers can create, store, reuse, manage, and deliver digital learning content from a central object repository ([3]Group, 2009). A learning object can be thought of as a small, self-contained re-usable unit of content that can be used to support learning. Some examples of learning objects include Microsoft® Word or PowerPoint files, PDF files, video, and audio ([4]Direct, 2014). Example like Joomla. Examples of such systems can be seen in real-life applications as listed in the next page. Page 6 of 37 Moodle Also known as Modular object-oriented dynamic learning environment, is created for educator to create online courses with a focus interaction and collaborative construction of content and is in continual evolution. Their main features is to provide users with the functionality of assignment submission, discussion forum, files download, grading, online calendar ([8]wikipedia, 2014). Moodle is web-based and so can be accessed from anywhere in the world ([7]moodle, 04). Second Life Second Life is an online virtual world which allow users to create their own characters, called avatar. User uses their avatar to interact with each other. It is widely used in many institutions, such as colleges, universities. Libraries and government. It gives the option to create virtual workplaces to allow educator or student to virtually meet, hold events, practice any kind of corporate communications or conduct training sessions in 3D which can simulate teaching processes or show new products among themselves. ([9]wikipedia, 2014). However, Second Life is more widely known to be used as a social networking platform. Elluminate It is a real-time (synchronous) web conferencing tool which is created for education purposes. Elluminiate will be renting out virtual rooms or vspaces where virtual lessons in schools can hold ([12]wikipedia, 21). With Elluminate, you can dynamically interact with your classmates and your course instructor using text chat messages and/or two-way voice. Elluminate also provides whiteboard tools to enable collaboration between you and your classmates, including sharing desktop applications, and uploading PowerPoint presentations ([10]uiuc, 2013). Integrated Learning, Information and Work Cooperation System (ILIAS) Open source e-learning platform. ILIAS was one of the first online platforms to be used in universities. Its features are similar to Moodle that includes tools for collaboration, communication, project evaluation and assessment. Dokeos Used by companies, government agencies and universities, this platform operates on a professional business model providing community development, professional consulting, quality-assurance services and subscription-based customer support. It included forums, blogs, chats and personal messaging tools for users. Page 7 of 37 Blackboard learning system This is a virtual learning environment and course management system which is a web-based server software which feature course management, customizable open architecture, and scalable design that allows integration with student information systems and authentication protocols ([11]wikipedia, 2014). The purpose of blackboard learning system is to increase availability for student to access the course material as it is a web based system which can be access from internet at anytime and anywhere. Student can submit their assignment as soon as they are complete. It also improved communication as it has the option for announcements, discussions, virtual classroom and email. In summary, it is a course management systems which can be used to upload learning material and student can download the material. Udemy Udemy is a huge online teaching platform with over 2 million students worldwide and 13,000 courses. The platform allows instructors design classes like video lectures, PointPoint slides, screencast videos, documents, audio files, and text and mashup videos. It is a free to use for instructors to upload and create their courses, which they may charge the students for a fee to use. Odijoo Free e-learning platform that allows educators to create online courses or even use the platform to setup their private campus for training. The platform allows user to design a classroom setting for group discussions, news postings, quizzes, modules, file hosting and even certificate creation. Peer 2 Peer University (P2PU) P2PU is a grassroots open education project, which offers free courses that are university-level courses. Instructors are able to create courses and offer modules in the form of slideshows, videos, documents and discussion boards. Hence, to implement and produce an educational tool for students learning to program, specifically in C++, the team will be developing a learning content management system (LCMS) devoted to teaching program in C++. Whether users have any prior experience to programming, the tutorials on this platform will walk them through all the steps they need to know in order to create and compile their programs. There is always a tagline such as this; “Becoming an expert programmer won’t happen overnight, but with a little patience, you’ll get there.” ([5]LearnCpp, 2007) Page 8 of 37 2.2 Market research Gamification Gamification is the integration of the game elements, game thinking and game mechanics in nongame contexts in order to make learning process more engaging and fun. Currently, gamification is still a small percentage in the game market. However with its rapid growth reflects that it is increasing social acceptance of game and the realization that game components can be a powerful motivational tool for learning. Source: http://www.gamesindustry.biz/articles/2012-05-21-gamification-market-to-reach-USD28-billion-in-2016 The theme of our application is zombie attack where players will have to complete the tasks given in order to defeat the zombies. We used achievements reward system to increase user engagement. Each level of difficulty will have their own set of s for players to conquer. Page 9 of 37 In order to focus on the types of educational materials to reference from, the team has conducted relevant research. Through the research findings, the top four C++ educational websites that has garnered the most traffic are as follows: 1) 2) 3) 4) Cprogramming.com Cplusplus.com Learncpp.com Msdn.microsoft.com cprogramming.com Cplusplus.com Page 10 of 37 Learncpp.com msdn.microsoft.com.com By having the statistics as shown above from the top four C++ educational sites, the team can utilise them to better faciliate and affirm the scope of the project. As seen from the statistics above, there are different levels of user engagement to the website. Moreover, there are useful information such as the audience demographics. With this compiled information, the team can further plan the intended questions for the users. Page 11 of 37 2.3 System research As there will be two main portions to the project, the team has also conducted some online research on C++ tutorial website with user experience that are engaging and interactive and also achieving fun visual experiences. www.wibit.net Wibit is a free online computer programing courses that offer several if video tutorial and specialise in focused and linear content. They have several animated graphical button which is providing a fun look visual for the user. User can select the langues that they want to learn through those buttons. Kodu A product of Microsoft FUSE Labs, Kodu is a visual programming language made especially for creating games. Kodu's language is entirely icon-based and is fairly easy to learn. By getting children to think about "if/then" statements, Kudo helps teach important programming concepts of actions and conditions. Kodu works on PC and XBox 360. Page 12 of 37 https://compilr.com/ compilr is an E-Learning web-based, interactive online code editor which allow user to code while they learn. But however, compilr doesn’t come free as it required user to sign up their package in-order to use their services. http://www.mathplayground.com/olympic_math1.html Answer all the multiple choice questions correctly to win the Math Olympics. The topics ranged from basic computation and general math knowledge to word problems. Questions will be random at each gameplay. Using mouse as the main interaction to select the answer. Once player chose the incorrect answer, the game will end immediately. Page 13 of 37 http://light-bot.com/hocflash.html A game to teach coding concepts for all ages. The goal of of Lightbot is to light up all blue squares using programming. Players can choose among 3 levels (Basics, Procedures and Loops). http://www.sporcle.com/games/jdfulp/drawing_blanks Trivia game to test players their knowledge within the time frame. Main interaction is to use keyboard and enter the answer in sequence. Players have to answer correctly in order to proceed to next question. Page 14 of 37 3. Proposed Software The overall objective of this project is to develop an education tool for students to learn C++ programming. In order to achieve the objective, the tool will be developed with a series of challenges that are of different difficulty levels that will test the students about their knowledge on the C++ programming language as well as coding solutions to specific questions. After researching and reviewing of existing tools, the team decided that the educational tool would have two main features: 1) Firstly being the tutorial page which students can find information about C++, 2) Secondly, a 3 level difficulty game challenge about C++. The rationale behind a game based challenge is to keep the attention span of the users. As programming might be tedious or boring to some, by incorporating games, we hope that it will make the challenges more interesting. The tutorial page will contain a variation of information about C++. It’ll have basic information about C++ like the introduction the basic syntax used to more complex coding methods that are essential in C++. The tutorials will be arranged in accordance to complexity so as to allow the users to navigate through them easily according to their knowledge about programming and C++. The game challenges will consist of 3 main levels, easy, medium and hard. The set of questions asked in the levels would differ and would increase in difficulty. The first level (easy) would test users on the basics of C++. It would have questions like the variables and types, basic input and output etc. The second level (medium) would have more challenging questions about control flows, array, pointers etc. The aim of the third challenge is to put the information learned from the first and second level to test. The third level will have a combination of questions from the first 2 levels integrated into a scenario. The user will then have to code a suitable solution for the given scenario. Apart from the 2 main features of the educational tools, our team also proposed to have login for the administrator. The login will bring the administrator to a page, which allows him/her to add new questions to the existing pool of question, edit an existing question or delete a question. Access to these features is restricted only to verified administrators. By having a feature like this, it enables the administrator to manage the challenges easily and it also gives the challenge more variations, as the questions could be changed. Page 15 of 37 3.1 Key Features The functionality of the project can be split into different components for 2 different users. The first being the general public who uses our website and the second user, the administrator of the website, who manages the question bank. The general public/users Tutorial page o Readings on the C++ language (including the concept and coding) Challenge page o Easy – Level 1 MCQ questions about C++ (about the concept and simple coding) o Medium – Level 2 Fill in the blanks of the piece of code provided o Hard – Level 3 Coding practices Users would be given a paragraph of text/scenarios and asked to find a solution and code in the provided text box o Practice Mode User able to test their code The administrator – same access as the general public with the addition of: Managing question bank of the challenges o Adding new questions o Editing existing questions o Delete questions Page 16 of 37 3.2 Game Description Theme: Zombie Level 1: Shoot the Minion Zombies Each zombie will be labelled with an answer. Players will have to shoot the zombie with correct answer to score a point. Players have to shoot as much zombies as they can within the time frame given. However, once the player shoot the wrong zombie, the time will be reduced. For every amount of zombie killed, player will gain time frame extension. Players can unlock numerous achievements during the gameplay as a form of encouragement. Level 2: Filling in the “brain” Players are able to select from a list of advance brainless zombie to challenge. This level will allow players to be comfortable with coding by filling in the blanks. Players have to enter the correct answer to damage the zombie. Achievements will be given based on player’s performance. Level 3: Final Zombie Boss Challenges Players are able to select from a list of Final Boss to defeat. Players will have to be able to code the expected outcome given by the Final Boss in order to win the battle. This level will allow the players to use what they have learned and have hands on experience. Achievements will be given based on player’s performance. Practice Mode Any user will be able to use this system to test their code. Achievements will be given to reward them for using it. Page 17 of 37 4. Programming and Designing Tools For this project, we will be using a few different programming tools to build our application. The application will be split into 2 parts. The base shell of the application, which is the website which holds the content, and the content of the application, the challenge content (e.g. the displaying of the challenge’s questions) which will be developed in a game format. Microsoft Visual Studio 2010 Microsoft Visual Studio is an integrated development environment used to develop computer programs and web applications. It supports different programming languages like C++, C#, VB.NET etc. We will be using Microsoft Visual Studio 2010 to build the base shell website of the application. The programming language used here is C#. Unity3D 3.5 Unity is a game development tool, which allows developers to create 2D or 3D interactive content. It is used to develop games for multiple environment and devices, which includes web plugins, desktop platforms, consoles and mobile devices. For the content of the application, we will use Unity3D to create the game content of the challenges with MonoDevelop (the IDE for Unity3D environment). MonoDevelop MonoDevelop is an open sourced integrated development environment that is used as the primary IDE for Unity3D environment. It is primarily meant for the development of C# and .NET languages/frameworks. It can be used on Windows, Mac OS X, and Linux. Sphere engine Sphere engine is a compiler and code execution API. It is compatible with 60 different programming languages and also provides basic statistics about the code executed. We will be integrating Sphere engine in the level 3 challenge of our educational tool. It’ll be used to compile the codes that the users are required to do according to the scenario given. MySQL For the database for this project, we will be using MySQL. MySQL is an open-source relational database management system that is based on structured query language. It is a client/server system that supports multiple administrative tools. It runs on different platforms including Windows, Mac OS, and Linux. Page 18 of 37 5. Proposed Solutions 5.1 Prototype GUI Below are some samples of our Graphical User Interface: UI Design Home The figure above shows a sample user interface of CodeRacer’s homepage. As seen from the figure, there will be two main call-to-action buttons, “Tutorials” and “Coding Exercises”. Users will be directed to the respective pages upon clicking them. In addition, to find out more about the project, users will be able to click on the “info” button or the link placed at the footer. In addition, administrators will be able to login via the “Admin Login” button. Page 19 of 37 UI Design About Us As seen from the figure above, the about us page displays a brief background of CodeRacer to the users. UI Design Tutorial Above is an example on how the tutorials documents may be presented to the target audience. Page 20 of 37 UI Design Coding Exercises The above figure shows the main page of the interactive exercises. Detailed user interface placement will be described in the following figures. Page 21 of 37 5.2 Level 1 UI Placements Page 22 of 37 Page 23 of 37 5.3 Level 2 UI Placements Page 24 of 37 Page 25 of 37 5.4 Level 3 UI Placements Page 26 of 37 Page 27 of 37 5.5 Practice Mode UI Placements Page 28 of 37 Page 29 of 37 5.6 Admin Management Module UI Design Admin Panel 1 The above figure shows the first admin panel upon successful login for the administrator. He or she will be able to browse current files and select them for updates. Page 30 of 37 UI Design Admin Panel 2 The above figure shows the second admin panel for the administrator to carry out the necessary tasks. He or she will be able to upload new documents and enter new questionnaires. Page 31 of 37 6. Roles and Responsibilities Role\Name Project Manager Alvan Jonathan Chau Ming Grace Brenda X System Analyst X Programmer X X UI Designer X Database Designer X X X X X X Researcher X Web Site Maintenance X X X Test Case Designer X X X Tester X X X Minutes of Writing X Documentation X X X Deployment Manager X X X` X 7. Development Methodology As this FYP project requirement and specifications are mostly defined by us and none of us in the team had experience/knowledge in developing a Web interface educational tool with games for learning and improving C++, we have decided to use Scrum which is one of the agile methodologies. The reason to use scrum method is that Scrum consists of three roles: the product owner, the Scrum master and the team. The product owner is the individual who represents the company. The Scrum master is the project manager tasked with controlling and measuring the process. The team is made up of those who will execute the project tasks ([7]Daria Kelly Uhlig, 2008). As we are not able to estimate the number of unknown issue or factor, each succinct work cadences, known as sprint ([8]Danube, 2008) will be one-week duration. At the end of each sprint, the team will gather and meet to assess the progress of the project using the scrum role methodologies. This will allow us to decide whether is feasible to prepare and move to next sprint. This cycle will continue till the deadline ends the project. Using Scrum method also allows us to address out scope and problem of limitation, prototyping, revise of technical documentation and accomplish testing phases with verification and validation. Page 32 of 37 8. Project Schedule Sprint 10 Sprint 9 Sprint 8 Sprint 7 Sprint 6 Sprint 5 Sprint 4 Sprint 3 Sprint 2 Sprint 1 Our project timeline as follows: Final Year Project - Code Racer 1.Projectkickoff 1.1.TeamBriefing 1.2.TeamFormation 1.3.Assigning TeamLeader 2.Project Proposal requirement gathering 2.1.Literature Review 2.3.Creating Proposal 3.Requirements 3.1.identifying Requirements 3.2.System Flow Desigin 3.3.UI Desigin 2.4.Reviewing and revising Proposal 2.5.Submiting Proposal 4.Analysis and Design 1 4.1.Prototyping and desigin 4.2.Documentation 5.Analysis and Design 2 5.1.Prototyping and desigin 5.2.Documentation 6.Implementation of Prototype 1 6.1.Prototyping development 6.2.Testing 6.3.Documentation 7.Implementation of Prototype 2 6.1.Prototyping development 6.2.Testing 6.3.Documentation 7.Implementation of Prototype 3 7.1.Prototyping development 7.2.Testing 7.3.Documentation 8.Review 1 8.1.Design specs review 8.2.Documentation review 8.3.Protoype review 10.Review 2 10.1.Preparation of Presentation and Documentation 10.2.Final preparation for Presentation Page 33 of 37 Sprint Sprint Sprint Sprint Sprint Sprint 16 15 14 13 12 11 Sprint 17 11.Development 1 11.1Development and Documentation 12.Development 2 12.1Development and Documentation 12.Development 3 13.1Development and Documentation 14.Testing 1 14.1.Testing and Documentation 15.Testing 2 15.1.Testing and Documentation 16.Testing 3 16.1.Testing and Documentation 17. Validation 17.1.Testing and review of program 17.2.Review and revise documenation Sprint 18 18.Final Product 1 18.1.ProjectWrapUp 18.2.Preparation of Presentation 18.3.Preparation of Deliverables document Sprint 19 19.Final Product 2 19.1.ProjectWrapUp 19.2.Preparation of Presentation Spri nt 20 19.3.Preparation of Deliverables document Final Presentation Page 34 of 37 10. References 10.1 Works Cited [1]Hill, P. (2012, 05 04). e-Literate. Retrieved 04 27, 2014, from mfeldstein: http://mfeldstein.com/whatis-a-learning-platform/ [10]alexa. (1996 -2004). alexa. Retrieved 05 04, 2014, from alexa: http://www.alexa.com/ [2]Press, O. (2013). Online Resource Centers. Retrieved 04 27, 2014, from Oxfied university press: http://global.oup.com/uk/orc/learnvle/ [3]Group, I. T. (2009, 02 23). Internet Time Group. Retrieved 04 27, 2014, from Internet Time Group, Berkeley, California: http://www.internettime.com/Learning/lcms/ [4]Direct, K. (2014). Knowledge Direct. Retrieved 04 27, 2014, from Digitec Interactive Knowledge Direct: http://www.knowledgedirectweb.com/elearning-lms-resources/faqs-about-learningmanagement-systems-lmss/difference-between-learning-management-system-lms-learningcontent-management-system-lcms/ [5]LearnCpp. (2007, 05 25). LearnCpp. Retrieved 04 27, 2014, from LearnCpp.com: http://www.learncpp.com/ [6]Media, L. B. (2010, 2011). Understanding Your LMS Options. Retrieved 04 27, 2014, from Left Brain Media: http://www.leftbrainmedia.com/2.1_lms_systems.html [7]Daria Kelly Uhlig, D. M. (2008). Small business by demand media. Retrieved 04 26, 2014, from Chron: http://smallbusiness.chron.com/advantages-disadvantages-scrum-project-managementmethodology-36099.html [8]Danube. (2008, 08). Scrum Methodology. Retrieved 04 26, 2014, from ScrumMethodology: http://scrummethodology.com/ [9]xmarks. (2006). Best Sites C++ Tutorials. Retrieved 05 04, 2014, from xmarks: http://www.xmarks.com/topic/c++_tutorials Page 35 of 37 11. Appendix 11.1 Role appendix Project manager Identifies resources needed and assigns individual responsibilities Manages day-to-day operational aspects of a project and scope. Prepares for engagement reviews and quality assurance procedures Ensures project documents are complete, current, and stored appropriately. Project Accounting System analyst collecting information to analyze and evaluate existing or proposed systems Research, plan, install, configure, troubleshoot, maintain and upgrade hardware and software interfaces with the operating system. troubleshoot and resolve hardware and software and connectivity problems, including user access and component configuration Programmer To develop the program with c# language Capable of using visual studio 2010, Unity and Monodevelop To resolve and bugs in the program UI Designer Focus on improving users interaction and user experience goal Focus on design process which must have a balance of technical functionality and visual element Transform business requirement into user-centric design concepts, task flows, screen designs and interaction Database Designer To provide conceptual modeling and transform it to relational tables Page 36 of 37 Researcher To research on the framework using ASP.net, C# programing languages, Unity game engine, Monodevelop and MYSQL. Test Case Designer To create a series of test cases for testing phrase Tester To test the program thoroughly as to make sure the program doesn’t have major bugs that cause the program to crash or failure and minimize as much minor bugs as possible. Minutes of writing To jot down the every meeting minute by the Team leader Documentation To be done by all team members Deployment Manager Ensure the product has been correctly and completely integrated across the program Ensure there is deployment is well documented together with the backout plan if something well wrong during the deployment. Page 37 of 37