Changes - Matthew-Adlam/trickyTest2021 GitHub Wiki

Changes

These are some of the changes for this game - with some images and explanations

Changes because of User Testing

One user found a bug with the scores, that I was not properly resetting them after each round. I fixed this change, by setting the score to 0 upon game start(which for some reason I forgot to do earlier). This bug caused the user to get ridiculously high scores that would not normally be possible, by playing the game again and again without closing the application.

Another first time user said that the intervals of the score timer were too fast(i.e. the user is not scoring enough points). I fixed this by changing the scoreTimer intervals to be higher. I go into more detail about this below in the scoreTimer intervals, which is an important set of changes for this project.

Another user really liked the idea of lowering some of the later levels timers on harder difficulties. This was because it is yet another way of making the game progressively harder. The reason why they didn't think it would be a good idea on the earlier levels because the game needed to be easier at the start to keep people engaged in the game. I ended up changing the intervals for levels 8 and 10, as they are later levels, and are relatively quick to complete.

Levels and Level Ideas

One of my main struggles when creating this game was to make levels that were easy to implement, easy to play and fit with the theme. As such, a decent portion of my levels are text box input. My initial level 1 was a level which required the user to not touch the colour blue, but filled most of the screen up with the colour blue. The solution was to move the mouse around the outside of the game screen and across to the other side, and click the button to beat the level. The level was buggy, and new users said that the level was too hard to understand, and subsequently not appropriate for the first level, so I removed it.

Some of my levels were based off the Tricky Test game(the one mentioned in the Relevant Implications page), namely levels 1,7 and 10. All of my other levels were original ideas of mine.

scoreTimer intervals(scoring)

The interval means that for every interval, the points the user can earn decreases. If they complete it instantly, they earn 1000 points, all the way down to 0, depending on how fast you complete the level. Originally, the intervals for the timer were as follows:

30 milliseconds for level 1, 35ms for levels 2,3 and 4, 20ms for level 5(after the text box appears), and 32ms for levels 6 and 7.

Based on user feedback(on 27/07), I decided to make the intervals slower(higher number of milliseconds). I made levels 1,2 and 3 35ms, level 4 38ms, level 6 34ms, and level 7 28ms. I decreased the intervals for levels 6 and 7 because it is supposed to be progressively harder based on level. I also kept the level 5 interval low as the user is supposed to remember/recognize how many pink circles were on the screen, prior to the message appearing. At this point, only up to level 7 was coded.

When I created levels 8,9 and 10, I decided that since they were higher up levels, they should be faster intervals, because it is supposed to be progressively harder based on level. I made level 8 24ms, level 9 20ms and level 10 18ms.

Adding different high score lists based on difficulty

Difficulty level is a huge part of this game, as it allows the user to have a harder/easier experience based on what the user wants. However, I did not think that it would be fair if there was a combined high score list, as users who play on Easy difficulty would theoretically top the scoreboard, as the scoring works the same throughout all difficulties. Therefore, I made different text files for each difficulty(all writing to the same listBox), and different buttons that the user can click to view the high scores for each difficulty(with my background animation):

High Score Difficulty Screen

The high scores for easy(top left), medium(top right) and hard(as of 05/08):

Capture1 Capture5 Capture4

In game menu strip - with shortcut keys

I made an in game menu strip, which features four things: hints(explained below), bypasses(also explained below), pause game function and exit game function. The pause game function pauses the game, with shortcut keys Ctrl + P(this has the same effect as going into the menu strip and clicking Pause Game), which pauses the score timer, until the user clicks OK to unpause. This can give the user a break from the game, or if they need to do anything in the middle of playing the game, they have the option to pause and come back, without score penalty. The Exit Game function exits the game, and shows the main menu(home screen), with shortcut keys Ctrl + E(this has the same effect as going into the menu strip and clicking Exit Game). A confirm dialog pops up, asking if the user wants to exit the game, and if the response is yes, the user is redirected back to the main menu(home screen). Below are the images of the menu strip(left), the pause game dialog, and the exit game dialog.

Screenshot (5) Capture2 Capture3

Hints

Adding hints was a part of my game that I felt was necessary. Some people may have never encountered this kind of logic that is present in my game, and it might take them a couple of levels to get used to it, or they might need a hint. The hints can also help keep interest in the game, as some people tend to quit when it gets too hard, and my hints will help motivate people to continue. My hints give the user a moderate hint that will give them a step in the right direction. The amount of hints that a user gets depends on their difficulty: Easy gets 3 hints, Medium gets 2, and Hard gets 1. The hints can be found in the menu strip alongside Pause Game and Exit Game, and can be accessed with shortcut keys Ctrl + H (this has the same effect as going into the menu strip and clicking Hint). Below is the hint for level 1, as an example:

Capture6

Bypasses

Adding bypasses was a decision that I considered for a while. A level bypass skips the entire level and moves on to the next one. This was a feature that I thought could be abused, but due to the some of the logic in the game, as I explain above in the Hints section, I decided to add it, but due to the fact that it could be abused to some degree(players not even playing the game, just bypassing levels), I added restrictions that it can only be used once, and can only be used on Easy difficulty. Players on Easy will receive one bypass, where players on Medium or Hard will not receive any. Below is the bypass being used:

Capture

Adding a background animation

Adding a background animation on the home page or high score screens was a cool little side project I did, which just adds something else to captivate interest. The animation creates small circles of varying sizes and colours based on mouse movement. An example of what this animation can create is shown below:

Capture7

Duplicate High Score Glitch

This was an interesting glitch that I found that frustrated me for too long. This was a glitch where the program would write the scores twice to the text file, and they would appear twice, as the user Jacob's score appears twice below. The solution to this glitch was to not call the updateHighScores method when the game ends - either by beating level 10 or losing all their lives.

Capture