ICS20 Summative Game Project Instructions Why a Computer Game? Since the very first computers, there have always been computer games. Games are in many ways the ultimate icons of computer culture. The computer excels at the kind of interactive simulation that games require, giving the user immediate response to her actions. Games take user input, process it against an internal model and output a visual (or multisensory) result in response. In this project, you'll be able to use everything you've learned in Alice so far and put it to good use in an interactive world Part A Come up with a concept sketch for your game program. You must be able to win, lose or keep score. Describe the game idea, explaining what the components are and how they will interact. Your concept sketch should include the following: (a) What is your game about? (b) As you visualize your game right now, what objects are included? (c) List the instructions on how to play the game. (d) A flowchart to show the general program flow. Submit your concept sketch in word format. Those games either too easy or too hard are unlikely accepted. Your document should be well formatted with headings and page numbers. It should be submitted in hard copy form (or as your teacher directs.) Your teacher will interview you to give personal feedback and permission to start writing code. While you wait for approval, you can prepare scene setup, audio files or any other preparatory work required. Part B This part of the project will take approximately 3 weeks. You will be expected to complete all the programming during class time. You may wish to complete some of the extra documentation at home. If you miss programming time, then you will be able to catch up during the supervised time after school. At the completion of this project you will be asked to present your game to the class, explaining the rules and limitations of your game demonstrating what happens when a user both wins and loses. It is expected that your game will change and develop as you test it. It is important to keep a record of the time you spent on the project, and what you accomplished each class. Keeping a record of your file name and location is also critical. Your log will be kept on edsby, as your teacher directs. Sample log entry 14/02/2013 – 60 minute class I worked on my procedure for moving my people left to right across the screen. I used mouse listeners. I had trouble getting my mouse listener to respond and I asked Abigail for help. She showed me where I was going wrong. Left 10 minutes early for a Volleyball Game. Project saved as game v.7 on my desktop and copied over to my H drive. Page 1 of 6 ICS20 Summative Game Project Instructions Documentation Comments: Your name, date and program purpose should appear as a comment at the top of myFirstMethod Comments to explain the program code need to be included in all procedures and event listeners. Booklet in Word: You will be asked to prepare a booklet outlining all the programming parts that you used to complete your project. As your program changes, it is important to update your flowchart so that it is clear that you followed your programming plan. Your booklet should include the following: ⃝ Title page with the Game Summary / your name / location and filename of your game project. / backup location of your game and filename. ⃝ Page numbers ⃝ Rules for the Game, including what happens when you win or lose or score points ⃝ Names and purpose of all user created procedures, and event listeners ⃝ Flowchart with the general flow of the program ⃝ A list of all the variables you will use in your program. The purpose of each should be explained if it is not self-explanatory. This should also include all lists or arrays. ⃝ Make a list of all the parameters you will use in your program. The purpose of each should be explained if it is not self-explanatory. ⃝ Explain how you will use random numbers in your program if they are needed. ⃝ Any programming construct not described above. ⃝ Any programming structure that you learned about on your own. Give yourself credit! Students are encouraged to discuss their work with other students in the class. They may discuss problems in general and they may help each other by discussing bugs and debugging strategies. In some special circumstances, it may be legitimate to use another person's work. Your teacher must allow this; and the author of the program code must give his or her permission. In this case, clear and explicit acknowledgement of the borrowed work must be given using comments. Of course, in grading such an assignment, the student will not get credit for any borrowed work. Legitimate collaboration changes into plagiarism when the student submits another student's work as her own (with or without minor modification of detail). Make sure that you acknowledge the source of any program code that is not your own. If you collaborated closely with another student when preparing a program, make sure that you could recreate your program code (with no help). Remember to use comments to fully document your program. Page 2 of 6 ICS20 Summative Game Project Instructions Beta Testing When you bring the program to the stage where you can test it, bring in at least 3-5 people who will try your program and give you realistic feedback about how it works for them. Keep track of your testing process. Make sure you have tested your program for all reasonable input. Sample Beta Test Reports Person 1: A student aged 15 years Date of Trial: 2012-03-28 Comments and Feedback: Nice game! I would maybe speed it up a bit because you spend a lot of time waiting for them to move on and off the screen. Also more scenarios would be nice. Over all a really good game though! How these were implemented: Sped up the game while outfits walk off stage. Do not have time to add more scenarios. Person 2: A student aged 14 years Date of Trial: 2012-04-02 Comments and Feedback: she should change the atmosphere at the end of the game black so the user knows the game is finished. I also told her that she should make the comments a little longer so that I could read all the instructions. How these were implemented: Made the sky turn black at the end of the game, made the comments take a little longer. Page 3 of 6 ICS20 Summative Game Project Instructions Game Rubric Name: Trait Exceptional 5+ 5 High Degree 5- 4+ 4 Acceptable 4- 3+ 3 Some 3- 2+ 2 Limited 2- 1+ 1 1- Problem Definition (Knowledge) -All parts of the programming problem are clearly understood. -All potential input and output is identified. -The programming process of identifying, planning and implementing a programming solution are clearly followed. -Flowchart and/or a list of steps to describe the program flow is prepared in advance of the project due date. -All parts of the programming problem is understood. -Most potential input and output is identified. -The programming process of identifying, planning and implementing a programming solution are followed. -Many parts of the programming problem are understood. -Some potential input and output is identified. -The programming process is generally followed. -A few parts of the programming problem are understood. -Some potential input and output is identified. -Some evidence of the programing process is shown. -The programming problem is not understood. -No though is given to input and output requirements. -A “hit-or miss” approach is taken when solving the programming problem. Code Difficulty and Independent Problem Solving (Thinking) Code difficulty: -All relevant advanced coding structures are used as needed in the program. -The programming structures used are efficient and necessary to complete the project as it is visualized by the programmer. -Code reusability by using parameters when needed. -Code efficiency by using well-designed methods. -New ideas generated from advanced programming ideas -Professional look and feel in scene setup. -Easy to use and/or intuitive. The student seldom asks for technical help from teachers or peers or the student requests help, but works independently when given assistance. The student occasionally (e.g. 3 times) requires technical help from teachers or peers. The student frequently requires technical help from teachers or peers. The student needs to be coached through every step of the problem-solving process. Code difficulty: Many relevant advanced coding structures as used in class are used as needed in the program. Code difficulty: Some relevant advanced coding structures as used in class are used as needed in the program. Code difficulty: Few or none of the relevant advanced coding structures as used in class are used as needed in the program. Code difficulty: Most relevant advanced coding structures as used in class are used as needed in the program. Page 4 of 6 ICS20 Summative Game Project Instructions -Creativity or originality is shown in the design of the game -Smooth animations. Trait Exceptional 5+ Problem Documentation (Communication) 5 High Degree 5- -Log keeping is complete and correct. -Logs are kept on an ongoing basis -Internal programming comments are complete and correct. All the procedures and main run window have explanatory comments included. Author is credited with the work by using comments at the top of the main run window. -Other support documents (in Word) are provided as necessary -Program presentation is clear, easy to understand and the programmer can successfully field questions form the audience about her project. 4+ 4 Most of the ideal specifications and documentation are included. Acceptable 4- 3+ 3 Some 3- Some of the ideal specification and documentation are included. 2+ 2 Limited 2- Many items in the ideal project are missing. 1+ 1 1- The documentation is incomplete or unclear. Page 5 of 6 ICS20 Summative Game Project Instructions Problem Implementation (Application) -Code runs without errors. -Program is backed up regularly -Code is highly efficient and clearly organized -Program has been tested for all reasonable input. -Rules and limitations of the game are made clear to the user. -The code is well organized and very easy to follow. -The code is fairly efficient without sacrificing readability and understanding. -Code runs without errors. -Program has been tested for all reasonable input. -Rules and limitations of the game are made clear to the user -The code is fairly easy to read. -Many parts of the code could be reused in other programs. -The code has some efficiency. -The program appears to work for all reasonable input, but the programmer has not included all the information in the field testing proce.ss. -The code is readable only by someone who knows what it is supposed to be doing. -Some parts of the code could be reused in other programs. -The code is brute force and unnecessarily long. -The programmer has not included all the information in the field testing process -The code is poorly organized and very difficult to read. -The code is not organized for reusability. -The code is huge and appears to be patched together. -Code contains errors. -The programmer has not included all the information in the field testing process Page 6 of 6