Ryan Crim_PPJs_wk06
Ryan Crim, Week 6 Journal
Having created the foundations of the gameplay, the plan this week was to flesh it out more into an actual game by adding a game loop, including keeping track of the score.
To begin this week, I wanted to establish the actual way the game begins and ends. Removing the button to start, I added a placeholder title screen, as seen in Figure 1, which provides information about the controls for each player as well as mentions how to start the game. Then, I added a similar end game screen, shown in Figure 2, to be displayed when the timer runs out, that allows for jumping back to the title screen to begin the game again. This is all done within a single scene with bools to determine when the game has started and ended, since I wanted to avoid the possibility of an error being thrown due to not having the Drexel Ride transform script in the scene. (1.25 hrs)
Figure 1. Placeholder title screen to begin game loop
Figure 2. Placeholder score/high score screen to end/restart game loop
The next thing that I noticed was it was a bit off-putting for the game to immediately begin from the title screen. Therefore, I decided to add a quick on-screen countdown to provide a bit of a build-up as well as time for both players to quickly prepare for the fast-paced action of the game. As you can see from the Figure 3, the countdown starts at 3 and proceeds as 2, 1, Go! That being said, each number in the countdown is on for a bit longer than a single second, since having them last for just a second each was much too fast. (0.75 hrs)
Figure 3. Countdown and in-game score panel as well as new store layout
With the start and end game defined, I wanted to round out the game loop by keeping track of the score. I started by adding a scoreboard to the top-left of the game screen, as shown in Figure 3. Next, I created a script to add on to each product prefab to contain pertinent information about it, such as its name, price, and more. Originally, when entering a checkout zone, the game shot the objects out of the cart with a set force, however, this did not lend itself to scorekeeping. So, I added a pipe to be located above the checkout zone that “sucks” the items from the cart so that their price can be added to the total for the scoreboard and removed from the store area. Lastly, as seen in Figure 2, I added information about the total score and items collected, as well as a basic high score list so that players have something to strive for the next time they play. (5.00 hrs)
To finish my work for the week, I updated the Input Manager to contain all of the controls for the game as well as the scripts to look as these inputs so that we can easily switch which controls can be accessed from the two different controllers. (0.50 hrs)
Positives:
Added a complete game loop, including start screen, countdown and end screen
Implemented scoring system with high scores
Centralized where the controls are set/updated
Was able to get a playtester to try out the game (not in the Drexel Ride)
Negatives:
Tried implementing a script to automatically populate shelves with items, but there are issues with it that need to be worked out
Total Hours for the week: 7.50