Documentation


Final Game:

Slick Shifter Final Review: Overall, the final version of Slick Shifter is very different from that of the initial game concept. The game genre of Racing / Casual Play has remained, however many changes were made to core gameplay mechanics due to technical restraints and how fun the original game concept turned out to be.

Slick Shifter attempts to implement these five additional features:

  • Sound effects and Music
  • End of game screen.
  • Settings screen.
  • High-score table.
  • Restart game screen.
  • Some custom art pieces.

The key differences from the concept statement are listed below:

Core Mechanic Changes:

  • The core gameplay in the concept document was to race against AI opponents in a straight line down a drag strip while controlling the vehicle gear shifts. The final game is instead based around driving over fun obstacles and tricky terrain, there are no opponents to race against and there is no gear shift mechanic, the player is instead racing against the clock to get the fastest time. These changes were implemented for two main reasons: Firstly, after making the initial level in Unity, play testing highlighted that the “straight-line drag” mechanic was dull and not very engaging, other games that use this mechanic like CSR Racing [1] rely heavily on other areas like high quality graphics, customisation and narrative to make the game fun. Given such a limited timeframe and skillset, this was not viable for Slick Shifter. Secondly, the gear shift mechanic was technically difficult to implement with any level of quality, considering that this was a major part of the original drag race style concept gameplay it would not make sense to continue without it. Thus, the core gameplay moved towards the current style.
  • Vehicle colour customisation that was described in the concept document is not present in Slick Shifter. This change was made due to time restraints. Providing colour customisation options for the vehicle would require making several copies of the vehicle sprite and using a photo editing tool to recolour each individually. As I am not proficient in digital art creation this would be a very time-consuming process and provide minimal gain in terms of enjoyment.


Style Changes:

  • The level design of the game has changed from the original idea of realistic (as realistic as 2D can be) race track to a more exaggerated and unnatural urban environment. The decision to make this change was made following the core gameplay mechanic changes above, as the original racetrack environment would not suit the obstacles present in the new level design and would feel out of place.

Feedback Summary:

The feedback form was separated into different sections with each relating to a particular aspect of the game. Below is a summary for each section based on the relevant feedback form responses.

Game Stability:

Game stability results were solid overall. No major issues were reported in any section of the game. All audio was reported to play correctly and no bugs were detected during launch or runtime. All menu buttons worked correctly for players.

Small issues that were reported include:

  • Boost icon being hidden behind the foreground. This was resolved by increasing the icon order in layer to bring it forwards.
  • Audio effects were too loud. This was fixed by decreasing audio volume on startup and adding a slider to control engine volume.

Gameplay Features:

Gameplay features were rated as “easily understandable” overall. No players reported issues in understanding game mechanics or how to operate the controls. The game was rated as fun to play in general by most testers. No testers were able to break or spoof any gameplay features.

Gameplay issues reported:

  • Game requires lots of repetition due to not having any checkpoints. This detracts from the enjoyment. This issue was improved by adding special zones throughout the game to change the level of camera zoom. This makes obstacles easier.

User Interface:

All players reported the UI elements functioned as expected and were easy to use. However, some players noted that the UI was slightly difficult to read in some areas and it was hard to tell when boost was ready. The visual style of the game was found to be appropriate and interesting by all players. Although, players did note that there were consistency issue with graphics that could be improved.

UI Issues:

  • Gameplay UI difficult to read. This issue was be fixed by slightly increasing text size during gameplay.
  • Graphical consistency was poor. To improve this text-based UI elements were edited to ensure they use the same font family and colour. UI menu screens were be edited such that the styles and colours are consistent.
  • Unclear when boost was ready to be used.  This will be fixed by adding a “Boost Ready” text under the boost logo.

Enjoyment and Difficulty:

The most divisive feedback section of the survey was the game difficulty. About 30% of players rated the game as very hard, while another 30% rated it as easy, the remainder of players rated it in the middle at moderate difficulty. This was most likely due to some players finding the ‘moving bridge’ obstacle very difficult and needing to repeat the level over and over again, while others managed to get over the obstacle with relative ease. Despite the difficulty 85% of players though the game was fun overall. To even the spread of gameplay rating the bridge section was be made slightly easier by slowing down its movement and increasing surface friction, so the player does not fall off so easily.

 

Personal Observations:

After a series of test runs there were a few areas I felt needed tweaking for the final release of the game. Firstly, the level seemed too short, this would have been acceptable if there were multiple levels in the game but as only one was ready for the final release, I decided to extend its length. The extension was placed at the end of the level and adds approximately 25 seconds of playtime. The extension is not difficult to complete and the player can not easily fail the section, although it does require practice to complete it in a speedy manner. I made the extension hard to fail so that player would not have to constantly restart the level over and over after getting very close to the end, as players understandably did not like this style during play testing.

 

 

Asset List:

Custom Assets:

Scripts: All scripts used in this project are completely custom. The functionality of each is listed below:

Background Det: Loads the endgame image present when player finishes the level.

Boostcontroller: Controls the boost mechanic logic in game. Including physics elements and graphical elements such as trail rendering.

CameraControllerBasic: Controls simple camera tracking of player vehicle.

CountdownScript: Controls intro countdown logic and level completion timing.

DisplayHighScore: Reads saved score data and finds the three best scores for completing the level and displays them in the PODIUM section.

DoNotDestroy: Prevents background music audio source from being destroy on scene change.

EngineNoise: Controls the audio source that is playing the car engine sounds.

HighScoreManager: Saves and updates the high score for the game. Also controls the end game stats that are displayed.

Loop_on and Loop_Script: These two scripts work in tandem to control physics of the in-game loop obstacle. i.e. They handle logic for turning the sprite shape colliders on and off.

MenuControl: Controls the loading/switching of different scenes.

MusicController: Saves and updates in game music and engine volumes. Used in the settings menu to read slider values.

Parralax: Controls the parallax effect for the in-game background.

Pause: Controls the in-game pause menu. Includes functions such as hiding game UI, pausing time and muting sound effects.

PlatformController: Controls the movement of the in-game platform obstacle.

SaveHighScore: Saves the player’s name and score when the level is completed.

VehicleController: Handles all vehicle movement and player control input reading. Also controls game completion or failure detection and the modulation of the engine sound.

CameraZoomOut and EndZoom: Each of the scripts controls a zoom out animation of the camera during certain game obstacles.

StaticData: This script holds the variables used to save persistent data in game. This includes scores and user names as well as some audio control variables.

 

Graphics: The art and graphics in the game are a mix of custom pieces and downloaded art. All custom sprites/images/graphics were created in Microsoft Paint and Adobe Photoshop are listed below:

Boost Logo: The boost logo is a small pixel art style sprite. It is used in the main gameplay UI to inform the player when the boost ability can be used.

Podium: The Podium sprite is used to display high scores in the PODIUM menu.

Platform: The Platform sprite is part of the environmental obstacle for the player to drive across. It is featured in game midway through the level.

Signpost: The signpost is a passive gameplay sprite. It is featured in the level to warn players of upcoming obstacles.

Finish Flag: The finish flag is another passive gameplay element. It is featured at the end of the level to inform the player where the finish mark is.


Physics Materials:

Map: The map physics material is the default applied to the majority of the sprite shapes (ground) throughout the level. It is used to tune the grip of the car as it drives across the road surface.

Wheels: The wheels material sets the friction of the car wheels.

Platform: Sets the friction of the moving platform obstacle. This platform is given its own material with high friction to make the obstacle easier to traverse.

Car_Body: Sets the friction of the vehicle body. This controls how much the car slides along the ground when not on its wheels.

 

Sprite Shape Profiles:

Ground_Texture: This sprite shape profile controls the tiled brick texture and grey road surface applied to most of the level.

Ground_Texture Oil: This sprite shape profile is a variation of the default brick pattern. It is used in the oil slick section of the level.

Scenes:

Title_Page: This scene is the main menu for the game. It is loaded when the game first opens.

IndutrialPlayground: This is the main gameplay scene. It is loaded when the Start button is pressed. It contains elements such as player, environment and UI game objects.

Settings: This is the settings scene. It is loaded when the player clicks the settings button and allows the player to control audio settings.

HighScore: This is the Podium scene. It is loaded when the player selects the podium button. It displays the three best level completion times.

End_Of_Game_Overlay: This scene is loaded when the player completes the level. It displays players stats and allows the player to restart the level or return to the menu.

HighScoreOverlay: This scene is also loaded when a player completes a level. It allows the player to input a username to save their score.

PauseMenu: This is the pause scene for the game. This scene is loaded when the player presses the escape key while in the main game and allows the player to resume the game or return to the main menu.

 

Downloaded Assets:

Sound and Music: All music and sound effects used in-game are downloaded from external sources. Sources can be found at the end of this document.

 

Boost [2]

Boost sound effect that is played when the player presses space bar.

 

Drive [3]

Background music track.

 

CarSound [4]

The engine sounds that play when the vehicle is driving.

 

Graphics: The art and graphics in the game are a mix of custom pieces and downloaded art. All download pieces are listed below. Sources can be found at the end of this document.

 

Parallax Images [5]

These four images are used to create the parallax background of the game.

 

Carbody and CarWheels [6]

These two sprites are used to create the main player vehicle.

 

Bricksx64 [7]

Tileable brick sprite used to texture the sprite shapes that make up the environment.

 

 

USER GUIDE:

Please note, the user guide is found in the separate “User Guide” development log.

 

 

 

 

References:

[1] “CSR Racing 2 – NaturalMotion,” www.naturalmotion.com. https://www.naturalmotion.com/game/csr-racing-2/

 

[2] “RocketMp3,” www.pixabay.com.

https://pixabay.com/sound-effects/rocketmp3-94928/

 

[3] Alex-Productions, “Download Free copyright music,” Chosic. https://www.chosic.com/download-audio/53218/ (accessed May 26, 2023).

[4] “Engine,” www.pixabay.com.

https://pixabay.com/sound-effects/engine-47745/

[5] ansimuz, “Industrial Parallax Background,” OpenGameArt.org, Feb. 24, 2015. https://opengameart.org/content/industrial-parallax-background (accessed May 04, 2023).

 

[6] overcrafted, “FREE 2D Vehicle Assets by overcrafted,” itch.io. https://overcrafted.itch.io/free-paid-vehicle-car-sprites-

[7] alpha_rats, “Bricks tiled texture 64x64,” OpenGameArt.org, Jul. 06, 2015. https://opengameart.org/content/bricks-tiled-texture-64x64 (accessed Apr. 23, 2023).

 

Leave a comment

Log in with itch.io to leave a comment.