Game to Develop Healthy Eating Education for Children
Info: 15035 words (60 pages) Dissertation
Published: 9th Dec 2019
Tagged: HealthInformation Technology
Contents
1.2 Current system limitation:
1.3 Program proposed flow chart:
1.5 Proposed System languages (High level language programming):
2.2 Proposed interface design on Main Screen
2.4 Gameplay Screen Vote Aesthetics:
2.5 Final proposed Main Screen:
2.6 Interview of two proposed main screens:
2.7 Interface Design: Design of gameplay screen:
Detect collision with snake and objects
2.9 Interface Design: Design of end screen:
3.12 How to start the game/program
3.13 How to navigate with the Main Menu Screen
3.14 How to navigate the Healthy Food promotion screen
3.15 How to Navigate the Instruction Screen
3.16 How to navigate the gameplay screen
3.17 How to Navigate the end screen
3.19 How to back up files when the game is downloading
4.3 Testing Snake eating its own body
4.4 Testing Snake colliding with border of the game
5.1 Success of Objectives of game
5.2 Personal criticisms of the game
NEA Project
1.0 Introduction:
This investigation project started when I was discussing with the headmaster about creating a game for children from the age of 5 to 11 whom are game enthusiasts and who are in primary school. This project will allow children those to learn what types of foods are healthy and which other foods are unhealthy and if they positively or negatively affect your health. The local primary promotes healthy eating through subjects such as PSHE and Science, however the headmaster wants a game in computing where healthy eating is promoted as there is no current program in place (as shown by the graph below).
The local primary school has asked if I could investigate and implement a game throughout the school to be produced as they have been struggling with the lack of healthy eating in their school and the increase of fatty foods being consumed by the children in the primary school.
At the moment, the local primary school uses numerous subjects to promote healthy eating, in doing so children are constantly reminded what types of foods are healthy and unhealthy. Although, these schemes have been put in place by the school, no considerable effect has been seen. Therefore, the headmaster has enquired for a game in computer science to be made to promote healthy eating. The reason for this is that the majority of students at the local primary school are game enthusiasts. As a result, a game would entice the children while teaching them about what types of foods are healthy and unhealthy.
As a result, when analysing the request from the headmaster I have concluded that a game such as the traditional and easy to play game of snakes should be made and implemented in trying to promote healthy eating in the local primary school.
Analysis
1.1 Gathering data:
By observing, I recognised that they promoted healthy eating through subjects by colourful displays in the classroom with fun facts on them. The overall aims of these is to constantly promote healthy eating and to help the children remember fun facts about healthy foods. However, the reason why these schemes have not been effective is due to the lack of interaction for the children. With the interaction of games from Computer Science, the proposed game would be effective in promoting healthy eating for the primary school students.
Through this questionnaire I am trying to find how the school is trying to promote healthy eating and if these techniques of trying to promote healthy eating through subjects have been successful or not. I have used a questionnaire like this at it allows the headmaster to comment on the questions, as a result I am given more insight into the problems faced in the scheme in place and how these problems can be solved with the system proposed for Computer Science
Questionnaire (With headmaster):
- What is currently in place in classrooms to promote healthy eating?
There are only displays in classrooms to promote healthy eating with fun facts on them
- Is there any interaction in these measures to promote healthy eating?
There is no interaction with the displays for the children
- Have you recognised any change in the children eating healthy food?
There has been no minimal change in healthy food and these promotions have been unsuccessful
- Does everyone in the school have access to these promotions of healthy eating?
Only children in year 3 and above have access to these displays
- Are these promotions adjusted to the children’s hobbies and interested?
No, this has not been considered.
- How much interest does the children show to these promotions?
The children show minimal interest to these displays and they do not remember the fun facts
- How will the children benefit from a new interactive game for children?
This will be a great alternative to children and this will be an addictive game to children as it interactive and competitive
As shown by the questionnaire, the schemes currently in place to promote healthy eating are not working. Although they are trying to promote healthy eating through most subjects, none of these schemes have grabbed the attention of the children.
How subjects promote healthy eating and if it effective?
Subject | What the subject does to promote healthy eating | Are the promotions interactive with the children? | Have the promotions been effective? |
PSHE | The subject uses display with fun facts on them about food. | Only the fun facts have interaction. But there is minimal interaction. | Very minimal effect. |
DT/ART | Cooking healthy foods and draw different types of healthy foods | Yes, the children are always drawing healthy foods. | Not very effective, only worked on a few children |
Maths | Makes maths relevant to food, for example calculating calories of food and what number of calories is healthy or unhealthy. | No interaction with the promotion | Absolutely no change, children find the promotions boring |
Geography | Shows where different types of healthy food is grown in the World. | No interaction with promotion | Very minimal effect |
Science | Shows what types of protein and vitamins are in food and how they are helpful for to health | No promotion with promotion | Minimal effect |
As shown by the table, the school uses multiple subjects to promote healthy eating, however the local primary school has not chosen to promote healthy eating through ICT. There has been no effect of promoting healthy eating through each subject, therefore with a more interactive subject promoting healthy eating such as ICT, the children are more likely to be affected positively by the healthy eating promotions.
1.2 Current system limitation:
The aim of the currents system is to promote healthy eating in the local primary school and outside of school. This scheme has been introduced as the local primary has experienced children eating a lot of unhealthy foods and the school aims to stop this through using subjects to teach children what types of foods are healthy and unhealthy and why they are healthy or unhealthy. However, these schemes have not been effective as there is no interaction with the users, additionally none of the displays have any visuals, as a result child who are visual learners are not able to learn from the healthy promotions. Also, none of the promotions are fun and are not effective for children, therefore the information of the healthy eating is not remembered by the children.
Proposed flow chart:
Start
Press start button
Press enter
Game starts
Change snake direction
Right
Up
Left
Down
Press up
Press down
Press left
Press right
Snake turn right
Snake turn left
Snake goes down
Snake goes up
Turn left
Turn right
Snake goes up
Snake goes down
Did the snake hit himself?
No
Yes
Did the snake eat the healthy food?
Game over
No
Yes
Start a new game?
No
Yes
End
1.4 Proposed user:
All the students from reception to year 6 will be the proposed user for this program. I want this game to be user friendly, easy to play for all ages and to be fun. With this game to be proposed to children, this game has to be fun and addictive, therefore I will be creating an easy game of snakes that anyone can play but also make it a challenge, so the children want to play it repeatedly.
This project will also be proposed to the teachers of the school to test if the game is user friendly and easy to play for their pupils. If the teachers find the game fun and approve of the game, this would mean the game is fun and appropriate for the children.
This game takes the traditional game of snakes. The reasoning for using snakes is because it is easy to play for all ages and with the item the snake eating representing healthy food, it will promote healthy eating in the local primary school. This game will result in the primary school’s children’s health to drastically improve and to promote healthy eating, not just in primary school but outside school as well.
1.5 Proposed System languages (High level language programming):
The program language that I will use will be python. Firstly, Python is the most suitable in terms of access for the project and school. I am also most familiar with which means that I will be able to write the most efficient and best code for the proposed system. Although, Java would be useful to use as java has a large and standard library, python is more useful as a large number of resources of resources available to use.
1.5 Interviews:
Here I am gathering information about the proposed system with the headmaster of the local primary school. I have organised four detailed interviews discussing the problems of the current system initially, but eventually discussing the wants and needs from the proposed system. The proposed system will be finalised by the final interview with the headmaster.
Date | Subject of interview | Comments of interview |
November 14th 2017 | Formal interview with the headmaster discussing the current system and I asked how healthy eating is promoted in the local primary school | See interview 1 |
November 22nd 2017 | Formal interview with the headmaster discussing in depth the current problem and potential ideas. I asked if the schemes in place have seen any positive or negative effect on the children and if he has any ideas on what would promote healthy eating in ICT/ Computer Science in the local primary school. | See interview 2 |
November 24th 2017 | Formal interview with the headmaster discussing the proposed system that I have thought of. I asked the headmaster on what he thought of the proposed game of snakes to promote healthy. | See interview 3 |
December 1st 2017 | Informal interview with the headmaster about the finalised idea of the proposed system. I asked the headmaster for any specific requests for the game. | See interview 4 |
Interview 1 summary:
The headmaster summarised the current systems in place at the school and how they use subjects to promote healthy eating.
Interview 2 summary:
The second interview focused on the current system in place and how it has failed. The headmaster pointed out that there is nothing in place to promote healthy eating for computer orientated subjects such as ICT. Also, the headmaster pointed out that the majority of children are addicted to computer games.
Interview 3 summary:
The project was proposed to the headmaster. The project imposed to the headmaster received positive feedback as it would solve the problem of not having a system in place in ICT/Computer science to promote healthy eating, and it would also satisfy the majority of students who love to play games. The headmaster wanted the project to be made.
Interview 4 summary:
The final talks of the project with the headmaster were made. The headmaster had two main needs from this project. This was that the project had to be easy to use for even 5-year olds. Secondly, the headmaster wanted the project to have efficient code as the computers in the school have low storage left. These two wants from the headmaster will be considered and added to the project.
1.6 Specific Objectives:
Acceptable Limitations- these are objectives that I would like to add to the project but may not be possible as the time to build the program is short:
- Firstly, I would like my project to be as efficient as possible in combination with low storage. As a result, my project will be able to be played on the school computers. Also, with the project being efficient, the reaction from the program because of a user interaction will be quick and this would make the game more enjoyable and enjoyable.
- Secondly, this project has to be vibrant, so this will entice and grasp the children’s attention, as a result more children will play the game.
- Thirdly, this game has to be challenging so the game does not become boring and repetitive. I want to add a difficulty measure, so the game becomes hard to play but addictive at the same time.
- The system should notify user how to play the game before the actual game starts, as a result the game will be able to be played by anyone
- The game has to be played by anyone (especially by primary school children), as a result I will use WASD or arrow keys to play the game as it the easiest ways to play the game.
- The game must also be able to be used by teachers/adults, so they can validate the game for children.
Success Criteria:
- Clear language
- High level programming
- Program should be responsive to user interaction
- Easy access for children and teachers
- User interface friendly
- The game must be able to navigate from one interface to another interface
General objectives:
- The system should be bug-free
- The system should be functional
- The system should be as easy to use as possible
- The colour scheme should be bright and consistent
- The system should be efficient and take as little storage as possible
2.0 Design requirements:
I will be designing a classic snake game, which the aim is to promote healthy eating in the local primary school. I want to make it a small size map as it would make the game more difficult as the snake increases in size, as a result it would make the game more enjoyable for the children. I will also use contrasting colours to make the snake, food, borders and background distinguishable. Another design requirement is that the menus are easy to use so all ages are able to play the game.
Input:
The inputs of the game will be that the user will have to click on the screen to go to the next screen. Also, to move the snake the user will have to use the arrow keys. |
Processing requirements:
The food must be placed in a random place within the borders. Also, with the snake eating the food or colliding with the borders the response of the action must be fast.
|
Output requirements:
The score must increase by 1 as the snake eats the food. Additionally, when the game starts and ends an end/start screen must appear. Finally, once the user choses to start the game, the borders, snake and food must appear instantly.
|
Storage requirement:
The size of the snake should be stored as it increases in size. Also, the score overall must be stored so when the snake dies at the end of the game, the score that the user earned is shown. |
Software and hardware requirements
This game will be programmed on python and the user will need python 3.4 to run the program.
Hardware | Reason |
Keyboard | Use the arrow keys to control the snake and eat the healthy/unhealthy food |
Monitor | To view the game (this game can be used on any monitor quality) |
15 MB free space in hard drive | Free space is required to store the game on computer |
Minimum 64 / 128 MB RAM | Run python on computer so the game can be used |
Variables:
Variable | Data type | Size | Description |
Direction | Int | 0-3 | Contains the direction that the user snake is facing. |
Mouse pressed | Int | 1-3 | Contains the values which represent the mouse buttons when pressed and finds the number associated with the mouse button pressed |
y | Int | 0-640 | This shows the position of user on y axis, ranges between 0 and 640 because of the screen size |
x | Int | 0-480 | Contains the position the user in the x axis , ranges between 0 and 480 because of the screen size |
Key Pressed | Int | 1-145 | Contains the values which represent each key when pressed and finds the number associated with the key pressed |
Solid | Boolean | True or false | Used to check if the tile you are going to move to is solid so collisions are detected to prevent movement on to it |
Food Eaten | Int | 0-10000 | Shows how much healthy food has been eaten by the user |
2.1 Main Menu Proposed Screen
Title named ‘Snakes’
Option “Quit” will close the window/program
Option help will give the user instructions how to play the game
The play option will start the program/ game for the user
2.2 Proposed interface design on Main Screen
Design on main screen | Property of design | Details |
Title | 1.Alignment
2.Colour 3.Font 4.Text |
1.Middle
2. Yellow 3.Calibri (size font 22) 4.Snakes |
Option 1 | 1.Allignment
2.Colour 3.Font 4.Text |
1.Middle
2.Yellow 3.Calibri (size font 14) 4.Play |
Option 2 | 1.Allignment
2.Colour 3.Font 4.Text |
1.Middle
2.Yellow 3.Calibri (size font 14) 4.Help |
Option 3 | 1.Allignment
2.Colour 3.Font 4.Text |
1.Middle
2.Yellow 3.Calibri (size font 14) 4.Quit |
Background | 1.Colour
2.Size |
1.Green
2.1920×1080 |
Interview of the Main Menu Screen
As shown from above, I have proposed what the start screen may look like. I want feedback by asking if they like the design of the main screen to both students and the headmaster of the primary school .
Headmaster
Are there any aesthetic changes you would make to the main menu?
I want a simplistic and non-vibrant title with a simple way to start the game. If you can add a simple click system to start the game it would be easy to start the game for the student. But most importantly keep it simple.
Student
Do you like the design of this game?
This looks boring. I would not want to play this game if this was the main screen. The colours are ugly, especially the colour of the background colour.
2.3 Design of Snake game:
Due to the limitation of python and the objective of trying to make the program as efficient as possible while using as little storage as possible, the graphics of the game will not be realistic. Therefore, I have proposed simple designs that are realistic to the capabilities of python turtle
Snake:
A simple yellow box has been chosen as it contrasts well with the black background and with the red food. It is especially suitable once the snake gets longer, as it looks very much like a snake.
Food:
A normal red circle has been chosen to resemble an apple. This fits the theme of trying to promote healthy in the local primary school. It also very suitable aesthetically, as it also contrasts well from the background colour and snake colour.
Background:
I have chosen a black background as it is recognisable in previous classic snake’s games.
2.4 Gameplay Screen Vote Aesthetics:
I have set a poll for 30 random students in the school to rate the aesthetics of the snake, food and background/borders. The poll will enable student to rate t from 0-5. Here were the results: Brackets show how many votes the option received.
From the scale from 0-5 how much do you like the look of the snake:
Option 1:0(0)
Option 2:1(0)
Option 3:2(1)
Option 4:3(18)
Option 5:4 (10)
Option 6:5(1)
From the scale from 0-5 how much do you like the look of the food:
Option 1:0(0)
Option 2:1(1)
Option 3:2(5)
Option 4:3(18)
Option 5:4 (5)
Option 6:5(1)
From the scale from 0-5 how much do you like the look of the background/borders:
Option 1:0(0)
Option 2:1(0)
Option 3:2(0)
Option 4:3(8)
Option 5:4 (15)
Option 6:5(7)
As shown in these votes by the students, the student are happy with all. If it was possible to improve the food and snake aesthetically, the changes would be made, however python and storage size restricts it.
2.5 Final proposed Main Screen:
Snakes the Game
Click screen to play the game
Click anywhere on the screen start the program
Title of the game
Design | Properties | Details |
Title | 1.Alignment
2.Colour 3.Font |
1.Central
2.Red 3.Calibri |
Option | 1.Allignment
2.Colour 3.Font |
1.Central
2.Purple 3.Calibri |
After reviewing the menu, I have chosen propose to an instruction screen after the user clicks on the screen on the start screen. As the screen is simple and easy only the arrow keys are needed to play the game.
The instruction screen also reminds the user that the snake eats healthy food which is an attempt to promote healthy eating.
How to play
Up arrow to go up
Right arrow to go right
Down arrow to go down
Left arrow to go left
Menu
Instructs the user to move the direction of the snake by using the arrow keys
Click the screen
Load game
Game Starts
2.6 Interview of two proposed main screens:
Headmaster:
Do you like the first proposed screen or the second proposed screen?
What are your opinions on this final main screen?
This is exactly what I wanted. It is simplistic, non-vibrant but still enticing. I especially like the way that the user can click on the screen to start the game. This is perfect.
Student no.1:
Do you like the first proposed screen or the second proposed screen?
The second design screen
Do you like the look of the main menu?
It looks very good. I like the background colour and how it contrasts the colours of the title.
Do you want to play the game based on how the main menu looks?
Yes, the main menu looks very good which makes me want to play the game.
Is it easy to start the game?
Yes, very easy to play as all you have to do is click to screen
Student no.2:
Do you like the first proposed screen or the second proposed screen?
The second design screen
Do you like the look of the main menu?
It like it, I like how the colour of the background, title and ‘click to play’ message are all different but they to mix well.
Do you want to play the game based on how the main menu looks?
Yes, it looks exciting
Is it easy to start the game?
It is very simple to start the game
Teacher:
Do you like the first proposed screen or the second proposed screen?
The second design screen
Do you think the students will like the main menu aesthetically?
They will like it, especially the simple click system to start the game. The click to play system is suitable for students.
Would you make any aesthetic changes to the title?
No, nothing
2.7 Interface Design: Design of gameplay screen:
This represents healthy food (apple) and as one is eaten another one spawns in another part of the map
This is the border of the game
Background colour is black all throughout the game
This represents the snake, as red blocks are consumed the snake increases in length by 1.
The score increases by 1 as a red block is consumed by the snake
2.8 Algorithms
The game that has been created will contain algorithms within the functions.
The algorithms in the game will be in the order of:
1) Game Start Up:
- Start title screen (main menu)
- Load main menu instructions
2) Detect click:
- When clicked on screen the game will load up the game
3) Load map:
- Create colours of map, background, snake and food
4) Detect arrow key presses:
- Change the direction of the snake when arrow key has been used
5) Detect collisions with snake and objects:
- Detect collisions with walls
- Detect collision with food
- Detect collision with the snake’s own body
Now I am going to use pseudo code to show and explain certain algorithms:
Game Start Up
- Create game loop so the game can be started and restarted from the start screen and end screen
- Create a frame for the menu
- Write the title of the program
- Write the instruction to ‘click to play’
- Create the background colour for the rest of the program (constant variable)
Detect click
- If the user clicks on the screen the game will transition from the Game Start Up algorithm to the Load Map algorithm
Pseudocode:
- Load Main Menu/Game Start Up
- print (“Click To Play”)
- If user clicks on screen:
- Load Map
- else:
- Stay in Main Menu
- endif
Load Map
- This will load the whole game:
- Borders
- Food
- Snake
- Score variable on screen
Pseudocode:
- Load Image of Map
- Background = Black
- Map = 250×250
- Print (score)
- Food = random of x -axis length
- Food = random of y – axis length
- Snake = random of x -axis length
- Snake = random of y – axis length
- If Snake position = Food position
- random of x – axis length
- Food = random of y – axis length
- Else:
- Start Game
Detect Arrow Keys
- When the user clicks the arrow key the snake must change in direction that has been clicked.
Pseudocode:
- Load Map
- Start Game
- If user inputs right arrow key:
- Snake = turn 90 degrees
- If user inputs left arrow key:
- Snake = turn 270 degrees
- If user inputs down arrow key:
- Snake = turn 180 degrees
- If user input up arrow key:
- Snake = turn 0 degrees
- Endif
Detect collision with snake and objects
- When the snake collides with objects such as walls, food and the snake itself
Pseudocode:
- Load Map
- Start Game
- Load Arrow Keys algorithm
- If snake coordinates = walls coordinates:
- ENDGAME
- If snake coordinates = food coordinates:
- Snake = Snake + 1
- If snake coordinates = snakebody coordinate
- ENDGAME
- endif
2.9 Interface Design: Design of end screen:
How to quit the program
Shows the snake and where the snake died
Message displaying that the game is over
Message telling the user to click on screen to restart the game
Shows how many apples the user ate
The reason for not adding a quit option in the program as it is saves memory. Adding an option to quit would take up memory and this would go against one of the main objectives of this project which is to make the program as efficient as possible. Therefore, I have chosen not to add a quit option in the program. The way to quit the program for the user is to close it by the close button on the top right of the program.
3.0 Implementation
The code for this game will be here. I will annotate the code to show why I chose certain code and why I chose to leave other code out.
3.1 Start screen
I have created a function to make the format the code easily, it make it easy to read, understand and de-bug the code. It is also makes it easier to add code to the program
Background colour for the whole program is black. I have chosen this as it contrasts the colours of the snake, food and borders perfectly
Title of the game. I have chosen size 30 as it is the title of the game, therefore it has to be large
Click on screen to transition to the health promotion screen. I have chosen to add this means the menu is easy to be accessed. Therefore, all ages in the local primary school can play the game easily with this function
This is the menu screen. All variables have not been changed as nothing happens to the variables in the program. From the menu, the user has to click the screen to go to the next screen (instructions). Also, the black background will stay throughout the program.
Heading of the game
Title of the game
Click the screen to go to the next screen
3.2 Health Promotion Screen
This screen is used to promote healthy eating. In this screen, there are facts about heathy eating and this is used to promote healthy eating in the local primary school. With all the messages on the screen, I have chosen Ariel in size 10 as it is large and easy enough for children to read.
I have created a function to make the format the code easily, it makes it easy to read, understand and de-bug the code. It is also makes it easier to add code to the program
The screen will rest from the last screen
A function that the user clicks the screen to transition to the next screen (instructions)
These print the lines of healthy promotion foods. I have chosen to put the lines of text under each other so it is easy to read for the children and the text is big and colourful enough so the children can read and understand the text easily
Facts about different types of food to promote healthy eating in the local primary school
Black background throughout the program
Reminder for children to eat healthy food in the local primary school
3.3 Instruction screen
I have created a function to make the format the code easily, it make it easy to read, understand and de-bug the code. It is also makes it easier to add code to the program
These are instruction to show the user how to play the game. I have chosen to show the instructions in size 20 as it easy for the children to see the instructions
A function that the user clicks the screen to transition to the next screen (start)
In the instruction screen, the user will get the instructions how to play the game. Again, the user will have to click the screen to move to the next screen (gameplay screen).
Instructions of the game. I have chosen red colour for the text as it contrasts the black background which makes it easy to read for the primary school children
Promotes healthy eating in the local primary school
3.4 Gameplay Screen
I have created a function to make the format the code easily, it makes it easy to read, understand and de-bug the code. It is also makes it easier to add code to the program
Size 10 thickness of the borders of the game
Coordinates of the map corners. This will create a square border that will be blue.
This is the gameplay screen. The borders of the game is created and if the snake touches the border, it dies. The score will also be implemented on the screen and as the snake grows, the score will also increase.
Blue borders so it contrasts the black background. Therefore, it makes the game easier to play for the local primary school students
3.5 Food
Creating the look for the snake. In creating a red circular block I have attempted create a red apple as turtle does not import pictures
I have created a function to make the format the code easily, it makes it easy to read, understand and de-bug the code. It is also makes it easier to add code to the program
The random library function is used and this creates the range of coordinates the food can spawn
This sets parameters for where the snake can appear in the map
This is where the food is created and the look of the food is created. Also, the code tells the snake to spawn in the border co-ordinates.
A while statement is used so all of the below is available when the snake is within the borders of the game
The direction of the snake is available and the ‘move’ function is called
Creating variable name
This is where the snake increases in size by 1 as it eats food
With this if statement, the food will only appear if it is going to appear within the borders of the map/borders
Variable for the length of the snake. This shows the score of the snake
If statement used for the position of the snake
Apple appears within the map after being eaten
3.8 Direction
I have created a function to make the format the code easily, it makes it easy to read, understand and de-bug the code. It is also makes it easier to add code to the program
When pressed, the action will not happen as the snake is already looking at that direction
This is where the controls of the snake is created.
The snake successfully goes left, up, right and down using the arrow keys
3.9 Snake
I have created a function to make the format the code easily, it makes it easy to read, understand and de-bug the code. It is also makes it easier to add code to the program
Creating the snake
If else statement is used so the snake increases in size as it eats heathy food
This increases the size of the snake by 1 as 1 piece of food is eaten.
This is where the snake is created and how it looks. The snake will increase in size as the snake eats food.
As the snake eats the food, the size of the snake increases
The look of the snake is yellow and is contrasts well with the colours of the food, border and background.
3.10 End Screen
I have created a function to make the format the code easily, it makes it easy to read, understand and de-bug the code. It is also makes it easier to add code to the program
Variable for the size of the snake. In the end screen the user will be told what their score was
When the screen is clicked the game will loop to the beginning of the game
This is where the end screen is created and when the snake dies the end screen will appear
This tells the user that the snake died and it tells the user how many apples the snake ate
The gameplay screen is still shown in the screen. I could have chosen to taken this away however I believe it looks better aesthetically
Click the screen to loop to the beginning of the game
3.11 How to download the game
I will give a USB containing the game code in it to transfer the game to all computers in the local primary school.
When the USB is connected to the computer to the user will go to the computer files and click on the USB
This is the USB that contains the game.
When the user opens the USB files. There will be a folder containing the game
Open this folder to find the code.
The program of the game will be there:
Then to make the program/game accessible on the desktop of the computer:
Click to create a desktop shortcut for the game
Or the user can drag the file to the desktop.
The file will be on the desktop:
The game is now on the desktop of the computer
3.12 How to start the game/program
Double click on this icon to start the game
3.13 How to navigate with the Main Menu Screen
How to quit the game
The user has to click the screen to go to the next screen
3.14 How to navigate the Healthy Food promotion screen
Click on screen to go to next screen
3.15 How to Navigate the Instruction Screen
The instruction in how to navigate the snake is shown here
3.16 How to navigate the gameplay screen
Border of the game
The food that the snakes has to eat to grow
The score will increase as the snake at more
This is the snake, as it eats more food the snake will increase in size by 1 each time. Control the snake with arrow keys
3.17 How to Navigate the end screen
When the snake dies, this message will appear
Will display how many apples the user ate
Click on the screen to restart the game
3.18 Troubleshooting
When downloading and playing this game, errors and problems may occur, however I have not implemented any error messages. Therefore, here are some problems that could occur, why they could occur and how these errors could be stopped.
Downloading the game issues:
Issue | Probable cause | Possible solution |
USB not being recognised by computer |
|
|
Computer is not allowing game to be downloaded |
|
|
General potential issues:
Issue | Probable cause | Possible solution |
Game not opening despite being downloaded |
|
|
Gameplay is very slow |
|
|
3.19 How to back up files when the game is downloading
This section is a precaution for the when downloading the game onto the local primary school computers. While downloading the game, there is a chance that the computer may crash and this will result in files being lost or corrupt. To stop this from happening the local primary school should:
- Store all important files on a hard drive or USB before downloading the game. Preferably, the hard drive should be at least double in size of storage than what you want to save.
- Plug the device into the computer and save all files that the local primary school needs to save onto the hard drive.
- When all files have been saved onto the hard drive, take out the hard drive before downloading the game as there is a chance the hard drive could be corrupted as well.
- When the hard drive has been out of the computer, then start downloading the game onto the computer
- Then, if all files were lost in the computers when downloading the game, plug in the external storage (hard drive) back into the computer and copy all the files back into the computer. These files will overwrite the current files on the computer and will replace any file that was lost during the download.
The same method can be used with the game. If the game on a computer becomes corrupt or stops working, the local primary school can plug in the external storage (hard drive) and copy the files of the game on the computer.
4.0 Testing
Now I will start testing Snakes. I will only propose the final game until I have tested all the features to the game and if they are all successful in what the functions/algorithms are meant to do. I also want to fit all the objectives of the game, I will do so by testing the program and interviewing students about the game and see if these objectives can be successful and fulfilled in the game.
I will test in three stages:
- Alpha Stage Testing – Simple testing of the game by self-testing if the basic functions of the game work
- Beta Stage Testing – Testing the whole program with a random a small group of students and getting feedback on the game
- Gamma Stage Testing – I will give the final game to the headmaster and give feedback.
During these tests I will be fixing any problems that arise and I will test all the functions in the program.
When I have fully tested the game, I will release the game to the primary school and will then assess the effect of the game.
I will take screenshots as evidence that the function tested is working.
4.1 Testing Snake Movement
Test number | Method of testing | Input | Expected result | Result |
Test no.1 | Checking movement snake of movement using arrow keys | Up Arrow Key | Snake turns up | Snake turns up |
Test no.2 | Checking movement snake of movement using arrow keys | Right arrow key | Snake turns right | Snake turns right |
Test no.3 | Checking movement snake of movement using arrow keys | Down arrow key | Snake turns down | Snake turns down |
Test no.4 | Checking movement snake of movement using arrow keys | Left arrow key | Snake turns left | Snake turns left |
After testing the movement of the Snake, all seems to be working and no change is needed. The movement is responsive and quick to the user input.
4.2 Testing Snake eating Food
I will test this function 5 times as it is a crucial function to the game and I want to ensure it works consistently
Test number | Method of testing | Input | Expected result | Result |
Test no.1 | Eating food with the snake | Using the arrow keys to move the snake to where the food is in the map | The snake will increase in size by one | The snake increased in size by 1 |
Test no.2 | Eating food with the snake | Using the arrow keys to move the snake to where the food is in the map | The snake will increase in size by one | The snake increased in size by 1 |
Test no.3 | Eating food with the snake | Using the arrow keys to move the snake to where the food is in the map | The snake will increase in size by one | The snake increased in size by 1 |
Test no.4 | Eating food with the snake | Using the arrow keys to move the snake to where the food is in the map | The snake will increase in size by one | The snake increased in size by 1 |
Test no.5 | Eating food with the snake | Using the arrow keys to move the snake to where the food is in the map | The snake will increase in size by one | The snake increased in size by 1 |
4.3 Testing Snake eating its own body
Test number | Method of testing | Input | Expected Result | Result |
Test no.1 | Will make the snake eat/collide with its own body | Will use arrow keys to make the snake eat/collide with its own body | The snake will die | The snake died |
This function of the game worked and does not need to be changed
4.4 Testing Snake colliding with border of the game
Test number | Method of testing | Input | Expected Result | Result |
Test no.1 | Will make the snake collide with the border | Will use arrow keys to make the snake collide with the game borders | The snake will die | The snake will die |
4.5 Beta Testing:
After testing the game by myself I have chosen to start testing the game with a small group of children in the students. I will give them the game to play with all the functions of the game and then will implement the game to the request of the students.
I have given 4 random students the game to test the game and have the honest opinions of the game and how it can be improved.
I have asked these questions about the game:
- Does the movement of the snake work?
- Does the snake increase in size by 1 when the food is eaten?
- Does the snake die when it eats/collides with its own body?
- Does the snake die when it collides with the border of the game?
- Also, to add an overall list of positive and negatives of the game?
Student 1:
Q1) Yes, however it is a bit slow
Q2) Yes, the snake grows in size
Q3) Yes, the snake dies
Q4) Yes, the snake dies
Student 2:
Q1) The snake movement does work but I think it should be faster
Q2) Yes, it works
Q3) Yes
Q4) Yes
Student 3:
Q1) Yes, the movement works
Q2) Yes
Q3) Yes. After testing it repeatedly it works
Q4) Yes
Student 4:
Q1) Yes, but I think increasing the speed would make it more challenging
Q2) The snake increases in size by 1
Q3) The snake dies
Q4) The snake dies
After reviewing the comments of the game and seeing that game has no game breaking faults, I have recognised that the speed of the snake should increase as the users did the find it challenging. This change will be implemented.
After looking at all the results and answers to the advantages and disadvantages give about the game, I have chosen to summarise the answers given:
Positives | Negatives |
|
|
4.6 Gamma Testing
I have given the game to the headmaster and said that he is happy with the game.
Positive feedback | Negative feedback |
The menu aesthetics look great and easy to use | Snake is too slow. It makes the game too easy |
The score system is useful and adds quality to the game | Healthy eating should be promoted more often in the menus |
The background colour of the game is good aesthetically | |
The aesthetic of the gameplay looks suitable |
5.0 Evaluation
After giving the final game to the headmaster and the local headmaster, I have received only positive reactions. This is the review of the game:
5.1 Success of Objectives of game
5.1.1 Specific Objectives
Specific Objective | Achieved or not achieved | Details |
To be as efficient as possible and lowest storage amount as possible | Achieved | The game was able to be downloaded and played on each computer without any problem |
Vibrant colours | Achieved | The gameplay screen has multiple colours |
Game has to be challenging | Achieved | The game has a small map so the larger the snake grows, the difficulty increases. |
An instruction screen | Achieved | Before the game starts, there is a screen telling the user how to move the snake and with what keys. |
Easy to play | Achieved | Only arrow keys are needed to play the game |
5.1.2 Success Criteria
Success criteria | Achieved or not achieved | Details |
Clear language | Achieved | Used functions to spilt code |
High level programming | Achieved | Use of python |
Program should be responsive to user interaction | Achieved | There has been no negative feedback on responsiveness of user interaction |
Easy to access | Achieved | The game is on the desktop |
User interface friendly | Achieved | Easy to use by all ages |
Easy to download | Achieved | Done by USB with no problems reported |
5.1.3 General objectives
General objectives | Achieved or not achieved | Details |
Bug-free | Achieved | No reports of bugs have been experienced yet |
Functional | Achieved | Everything seems to be working so far |
Easy to play | Achieved | Being played by all ages in primary school with no complains of children being unable to play the game |
Bright colour scheme | Not achieved | I chose a black background colour to emphasise the borders, food and snake voluntarily. |
Low storage | Achieved | The game successfully installed on all computer with no memory problems. |
5.1.4 Input Requirements
Input requirements | Achieved or not achieved | Details |
Click on screen to transition from one screen to another screen | Achieved | No problem has been announced about click on screen function |
Use arrow keys to navigate the snake | Achieved | No problem has been announced about arrow keys navigating the snake |
5.1.5 Processing Requirements
Processing requirements | Achieved or not achieved | Details |
Food must spawn in random place within the borders | Achieved | No problems announced |
Snake should die as snake eats itself or collides with a border | Achieved | No problems announced |
5.1.6 Output requirements
Output requirements | Achieved or not achieved | Details |
Map, snake and food should appear straight away | Achieved | No problems announced |
The score | Achieved | As the snake eats food, so does the score |
End/start screen must appear straight away | Achieved | No problems announced |
5.1.7 Storage requirements
Storage requirements | Achieved or not achieved | Details |
The size of the snake should increase as the snake eats food | Achieved | No problems announced |
Overall score must be stored and displayed at the end of the game | Achieved | No problems announced |
As shown by the objectives of the game before being the created and how I achieved most of these objectives, overall, I am happy with how the game as it has everything that is essential for it to be a successful game in promoting healthy eating in the local primary school.
5.2 Personal criticisms of the game
Criticisms of the game:
Criticism | Possible solution |
Graphics | Use a different coding language that is able to import pictures so the snake and food looks more realistic |
If I was given more time to create this, I would add the following extensions to the game:
- Make it compatible on phones for android and iPhone so the children can play the game at home
- Add enemy’s in the game to add to the difficulty in the game.
- Make it compatible on phones for browser so the user does not need to download the game to play the game.
5.3 Effect of the game
After the game has been released, I wanted to see the effect of the game on the children and see if the game created has achieved its overall objective of promoting healthy eating. I have asked 5 random teachers in the school on the effect of the game on the primary school children.
Teacher 1:
The effect of the game on the children has been noticeable. It seems that the knowledge of the healthy food has drastically increased within the classrooms and this is clearly evident by the fact that children are now eating more healthy food since the game has come out.
Teacher 2:
Children seem to be more addicted to the game and as a result of the game constantly being played, the children seem to know more about healthy foods and what they do
Teacher 3:
The game for the children is very fun is always being played. There has been such an improvement with healthy eating in the primary school since the game has been released.
Teacher 4:
Everyone has noticed that the children have played the game a lot since it has come out, and it has a much better impact than the other subject promotions in promoting healthy food.
Teacher 5:
Since the game has come out, there has 100% been an improvement in the healthy eating in the school. It has definitely promoted healthy eating positively.
As shown by the interview, the game has achieved its main effective of promoting healthy eating in the local primary school. I believe the constant reminders of healthy eating enabled this objective to be achieved
5.4 Evaluation of the game
Overall, I am very happy with how the game has ended. It seems to be bug free while completing all of the objectives set before starting the game. It also seems to be very effective in promoting healthy eating to the children as shown by the questions with the teachers. Therefore, it is undisputable that this project has been impactful in the local primary school. When looking at the code of the game, it is efficient and does not take up much storage in combination with it being a high quality and difficult game. In conclusion I am overly satisfied with how this project has concluded.
Cite This Work
To export a reference to this article please select a referencing stye below:
Related Services
View allRelated Content
All TagsContent relating to: "Information Technology"
Information Technology refers to the use or study of computers to receive, store, and send data. Information Technology is a term that is usually used in a business context, with members of the IT team providing effective solutions that contribute to the success of the business.
Related Articles
DMCA / Removal Request
If you are the original writer of this dissertation and no longer wish to have your work published on the UKDiss.com website then please: