University of Central Punjab
Faculty of Information Technology
Lahore, Pakistan
Perfect Bay Parking
A 3D Skill-Based Car Parking Simulation Game
BSCS FINAL PROJECT
Advisor: <Advisor Name>
Group ID: XXXXXXX
Student Reg# Student Name
Perfect Bay Parking — Final Project Documentation2
Abstract
Perfect Bay Parking is a 3D skill-based car parking simulation game developed using
Unity and Blender. The game is designed to test and improve a player's driving
precision, timing, and spatial reasoning in realistic simulated environments.
Motivation: Parking simulation games bridge the gap between entertainment and
practical skill development. Many drivers lack spatial awareness and precise vehicle
control, particularly in tight or complex parking scenarios. Perfect Bay Parking
addresses this by providing a safe, engaging, and progressively challenging
environment.
Problem Statement: The project solves the problem of creating an immersive, realistic
parking simulation that combines entertainment with educational value. The system
must handle real-time 3D vehicle physics, dynamic obstacle detection, level
progression, and time-based challenge management.
Approach: The game was developed using Unity 3D as the primary game engine and
Blender for 3D modeling. Ten progressively difficult levels were designed, each
introducing new parking configurations, narrower pathways, additional obstacles, and
tighter time constraints.
Results: The completed game features 10 fully functional levels with smooth vehicle
physics, accurate collision detection, a working timer system, and a clean user
interface. The game runs on PC platforms at a target frame rate of 60 FPS.
Conclusions: Perfect Bay Parking demonstrates that game development tools like Unity
and Blender can be effectively combined to produce realistic simulation experiences
with both entertainment and educational value.
University of Central Punjab | Faculty of Information Technology
Perfect Bay Parking — Final Project Documentation3
Dedication
This project is dedicated to our families, whose unwavering support and encouragement
made this journey possible. We also dedicate this work to all aspiring game developers
who dare to transform creative ideas into interactive digital experiences.
University of Central Punjab | Faculty of Information Technology
Perfect Bay Parking — Final Project Documentation4
Acknowledgements
We would like to express our sincere gratitude to our project advisor for their invaluable
guidance and continuous support throughout the development of this project. We are
grateful to the Faculty of Information Technology at the University of Central Punjab for
providing us with the resources and academic environment necessary to complete this
work.
Special thanks to the Unity and Blender open-source communities whose
documentation, tutorials, and assets helped accelerate our development process. We
also thank our peers for their constructive feedback during testing phases.
University of Central Punjab | Faculty of Information Technology
Perfect Bay Parking — Final Project Documentation5
List of Figures
Figure 1: Game Architecture Overview
Figure 2: Use Case Diagram
Figure 3: Entity Relationship Diagram
Figure 4: Class Diagram
Figure 5: Sequence Diagram - Level Initiation
Figure 6: Sequence Diagram - Collision Detection
Figure 7: Activity Diagram
Figure 8: Level 1 Screenshot - Basic Parking Lot
Figure 9: Level 5 Screenshot - Multi-Storey Car Park
Figure 10: Level 10 Screenshot - Advanced Obstacle Course
Figure 11: Main Menu UI
Figure 12: HUD Layout
Figure 13: Deployment Diagram
University of Central Punjab | Faculty of Information Technology
Perfect Bay Parking — Final Project Documentation6
List of Tables
Table 1: UC-1 - Start Game
Table 2: UC-2 - Navigate Vehicle
Table 3: UC-3 - Park Vehicle
Table 4: UC-4 - Level Completion
Table 5: UC-5 - Pause/Resume Game
Table 6.1: TC-1 - Vehicle Control Test
Table 6.2: Summary of All Test Results
Table 7.1: Project Completion Status
Table 7.2: Objective(s)/Target(s) Status
University of Central Punjab | Faculty of Information Technology
Perfect Bay Parking — Final Project Documentation7
Table of Contents
University of Central Punjab | Faculty of Information Technology
Perfect Bay Parking — Final Project Documentation8
Revision History
Name Date Reason For Changes Version
Initial Draft 2024-01-15 Project initiation and scope 1.0
definition
Phase 2 Update 2024-02-20 System requirements and 1.1
design added
Phase 3 Update 2024-03-25 Architecture and 1.2
implementation details
Final Documentation 2024-05-01 Complete documentation 2.0
with test results
University of Central Punjab | Faculty of Information Technology
Perfect Bay Parking — Final Project Documentation9
Chapter 1: Introduction
Perfect Bay Parking is a 3D skill-based car parking simulation game developed using
Unity and Blender. Players must navigate a realistic 3D car through obstacles, sharp
turns, and narrow paths to park at designated spots within a limited time. The game
consists of 10 progressively difficult levels.
1.1 Product (Problem Statement)
Perfect Bay Parking is a single-player 3D car parking simulation game developed for PC
using Unity 3D and Blender. It simulates the real-world challenge of parking a vehicle in
increasingly complex environments, requiring players to develop spatial awareness,
steering precision, and time management skills.
1.2 Background
Car parking simulation games have existed since the early 2000s, primarily as mobile
2D top-down games. With advances in Unity 3D and the availability of Blender as a free
3D modeling tool, developers can now create realistic physics-based vehicle
simulations. Perfect Bay Parking leverages both tools to create a more immersive and
technically sophisticated parking simulation.
1.3 Objective(s)/Aim(s)/Target(s)
• Design and implement a fully functional 3D car parking simulation game using
Unity 3D.
• Create 10 progressively difficult levels with unique parking environments and
obstacle layouts.
• Implement realistic vehicle physics including steering, acceleration, deceleration,
and braking.
• Develop a collision detection system that accurately identifies vehicle-obstacle
contact.
• Integrate a countdown timer system that enforces time-limited gameplay per
level.
• Design and model all 3D game assets using Blender.
• Create an intuitive graphical interface including main menu, HUD, and level
selection.
• Optimize the game for smooth performance targeting 60 FPS on standard PC
hardware.
1.4 Scope
• Platform: PC (Windows). Mobile deployment is outside the current scope.
• Gameplay: Single-player only. Multiplayer is not included.
• Levels: 10 unique levels with progressive difficulty.
University of Central Punjab | Faculty of Information Technology
Perfect Bay Parking — Final Project Documentation10
• Vehicles: One controllable car model. Multiple vehicle types are outside this
scope.
• Physics: Realistic but simplified vehicle physics using Unity's built-in physics
engine.
1.5 Business Goals
• Demonstrate practical game development skills using industry-standard tools
(Unity, Blender, C#).
• Produce a complete, polished game product suitable for academic project
evaluation.
• Showcase the technical feasibility of combining 3D physics simulation with
educational gameplay.
• Provide a portfolio-ready project demonstrating proficiency in game design and
software engineering.
1.6 Challenges
• Implementing realistic vehicle physics without expensive physics middleware.
• Designing 10 distinct level layouts that maintain increasing difficulty without
becoming frustrating.
• Optimizing 3D assets and rendering to maintain 60 FPS on mid-range hardware.
• Balancing collision sensitivity so detection is accurate without being overly
punishing.
• Calibrating timer values per level to ensure fair but challenging time constraints.
1.7 Learning Outcomes
• Practical experience developing a full-cycle game project from concept to
completion.
• Proficiency in Unity 3D engine, C# scripting, and game object management.
• Skills in 3D modeling, texturing, and animation using Blender.
• Understanding of game physics, collision detection, and real-time simulation.
1.8 Nature of End Product
Perfect Bay Parking is an interactive PC game application compiled as a Unity
executable (.exe) for Windows. It features a real-time 3D rendered environment,
physics-based vehicle simulation, level-based progression, and a graphical user
interface. It is a standalone application requiring no internet connection.
1.9 Related Work / Literature Survey
• Dr. Parking 4 (SUD Inc., 2015): A mobile parking game with simplified physics.
Informed our level design philosophy but lacks 3D immersion.
• Car Parking Multiplayer (olzhass, 2017): Offers 3D environments but focuses on
multiplayer social aspects, differing from our educational single-player focus.
University of Central Punjab | Faculty of Information Technology
Perfect Bay Parking — Final Project Documentation11
• Euro Truck Simulator 2 (SCS Software, 2012): Demonstrates realistic vehicle
physics, serving as a reference for realistic driving feel.
• Research: 'Serious Games for Driver Education' (Bruck et al., 2012): Validates
the effectiveness of simulation games in improving real-world driving skills.
1.10 Document Conventions
• Bold text indicates section headings, important terms, and UI element names.
• UC-# refers to Use Case identifiers. TC-# refers to Test Case identifiers.
• All diagrams are labeled with Figure numbers and all tables with Table numbers.
University of Central Punjab | Faculty of Information Technology
Perfect Bay Parking — Final Project Documentation12
Chapter 2: Overall Description
2.1 Product Features
• 10 progressively difficult 3D parking levels.
• Realistic vehicle physics with steering, acceleration, braking, and reverse.
• Collision detection that triggers level failure on obstacle contact.
• Per-level countdown timer with visual HUD display.
• Designated parking zones with success detection upon correct vehicle
placement.
• Main menu with level selection and settings options.
• Pause and resume functionality during gameplay.
• Score tracking based on time remaining.
• 3D environments designed with Blender and rendered in Unity.
2.2 Functional Description
Upon launch, the player is presented with a main menu offering options to start the
game, select a level, adjust settings, or exit. Upon entering a level, the player controls a
3D car using keyboard inputs (WASD or arrow keys). The objective is to navigate the
car to a highlighted parking zone without hitting any obstacles and within the allotted
time. Collision with any obstacle resets the level; successful parking marks the level
complete and unlocks the next.
2.3 User Classes and Characteristics
Primary Users: Casual gamers and driving enthusiasts aged 12 and above. These
users interact with the full game including all levels and menus, with basic familiarity
with keyboard-based PC game controls.
Educational Users: Students or driving learners who use the game to develop spatial
awareness and parking judgment. These users benefit from the progressive difficulty
structure.
Evaluators/Testers: Academic supervisors and project evaluators who assess the game
for technical completeness, playability, and documentation accuracy.
2.4 Design and Implementation Constraints
• Unity 2022.3 LTS must be used as the game engine.
• All 3D assets must be modeled in Blender and exported in FBX/OBJ format for
Unity import.
• Scripting must be done in C# using Unity's MonoBehaviour framework.
• The game must run at a minimum of 30 FPS on Intel Core i5, 8GB RAM, NVIDIA
GTX 1060 hardware.
• The game executable must not exceed 500MB in size.
University of Central Punjab | Faculty of Information Technology
Perfect Bay Parking — Final Project Documentation13
• No third-party paid plugins or assets may be used due to academic project
constraints.
2.5 Assumptions and Dependencies
• The game assumes players have access to a PC running Windows 10 or later.
• It is assumed players will use keyboard controls; gamepad support is not
guaranteed.
• The game depends on Unity 3D runtime libraries being present in the build
package.
• Physics behavior assumes Unity's default gravity setting of 9.81 m/s squared.
University of Central Punjab | Faculty of Information Technology
Perfect Bay Parking — Final Project Documentation14
Chapter 3: System Requirements
3.1 Functional Requirements
All functional requirements are expressed as use cases below.
3.1.1 UC-1: Start Game
Field Details
Identifier UC-1
Purpose Allow the player to start the game and enter the first available
level.
Priority High
Pre-conditions The game application is launched and the main menu is
displayed.
Post-conditions Level 1 is loaded and the player can control the vehicle.
Typical Course of Action Player clicks Start Game. System loads Level 1. Timer begins.
Player gains vehicle control.
Alternate Course Player selects a previously unlocked level from level selection
screen.
3.1.2 UC-2: Navigate Vehicle
Field Details
Identifier UC-2
Purpose Allow the player to control vehicle movement through keyboard
inputs.
Priority High
Pre-conditions A game level is active and the vehicle is in a non-parked state.
Post-conditions The vehicle moves in the direction of the input with physics
applied.
Typical Course Player presses W/Up to accelerate. A/D or Left/Right to steer.
S/Down to brake/reverse.
Alternate Course Player presses Spacebar to apply handbrake for sharp turns.
3.1.3 UC-3: Park Vehicle
University of Central Punjab | Faculty of Information Technology
Perfect Bay Parking — Final Project Documentation15
Field Details
Identifier UC-3
Purpose Detect successful parking of the vehicle in the designated zone.
Priority High
Pre-conditions Vehicle is within proximity of the designated parking zone.
Post-conditions Level is marked complete. Score is calculated. Next level
unlocked.
Typical Course Player maneuvers vehicle into zone. System detects vehicle
within boundaries. System checks vehicle is stationary. Triggers
level completion.
Alternate Course Vehicle enters zone but is not correctly aligned. System prompts
player to adjust.
3.1.4 UC-4: Level Completion
Field Details
Identifier UC-4
Purpose Transition player to the next level after successful parking.
Priority High
Pre-conditions ParkingZoneDetector has fired OnParkingSuccess.
Post-conditions Level complete screen shown. Next level unlocked in
PlayerPrefs.
Typical Course LevelManager receives event. Stops timer. Calculates score.
UIManager shows completion screen. Player clicks Next Level.
Alternate Course Player clicks Main Menu. LevelManager loads main menu
scene.
3.1.5 UC-5: Pause/Resume Game
Field Details
Identifier UC-5
Purpose Allow the player to pause and resume gameplay at any time.
Priority Medium
Pre-conditions A level is currently active and running.
Post-conditions Game is paused or resumed. Timer is paused or resumed
University of Central Punjab | Faculty of Information Technology
Perfect Bay Parking — Final Project Documentation16
accordingly.
Typical Course Player presses Escape. [Link]() called.
[Link]() called. Pause menu displayed.
Alternate Course Player selects Restart from pause menu. LevelManager restarts
level.
3.1.6 Requirements Analysis and Modeling
The following analysis models are presented in the figures below:
• Figure 1: Game Architecture Overview — the layered component structure of the
system.
• Figure 2: Use Case Diagram — player interactions with the game system.
• Figure 3: Entity Relationship Diagram — game data entities and their
relationships.
• Figure 4: Class Diagram — C# class hierarchy and relationships.
• Figure 5: Sequence Diagram (Level Initiation) — event sequence from menu to
level ready.
• Figure 6: Sequence Diagram (Collision) — event chain from obstacle contact to
level reset.
• Figure 7: Activity Diagram — complete gameplay flow from start to end.
Figure 1: Game Architecture Overview
University of Central Punjab | Faculty of Information Technology
Perfect Bay Parking — Final Project Documentation17
University of Central Punjab | Faculty of Information Technology
Perfect Bay Parking — Final Project Documentation18
Figure 2: Use Case Diagram
University of Central Punjab | Faculty of Information Technology
Perfect Bay Parking — Final Project Documentation19
Figure 3: Entity Relationship Diagram
University of Central Punjab | Faculty of Information Technology
Perfect Bay Parking — Final Project Documentation20
Figure 4: Class Diagram
University of Central Punjab | Faculty of Information Technology
Perfect Bay Parking — Final Project Documentation21
Figure 5: Sequence Diagram — Level Initiation
University of Central Punjab | Faculty of Information Technology
Perfect Bay Parking — Final Project Documentation22
Figure 6: Sequence Diagram — Collision Detection
University of Central Punjab | Faculty of Information Technology
Perfect Bay Parking — Final Project Documentation23
Figure 7: Activity Diagram — Gameplay Flow
University of Central Punjab | Faculty of Information Technology
Perfect Bay Parking — Final Project Documentation24
3.2 Non-Functional Requirements
3.2.1 Performance Requirements
• The game must maintain a minimum of 30 FPS on Intel Core i5, 8GB RAM,
NVIDIA GTX 1060.
• Level load time must not exceed 5 seconds on standard hardware.
• Collision detection must respond within one physics update frame (approx 16ms
at 60 FPS).
• Timer system must maintain millisecond-level accuracy with no drift over a 3-
minute session.
3.2.2 Safety Requirements
• The game does not store any personal player data beyond local save files.
• The game includes a pause function accessible at all times.
• No content in the game contains graphic violence or inappropriate material.
3.2.3 Security Requirements
• All local save data is stored in standard Unity PlayerPrefs with no sensitive
information.
• The game does not require network access, eliminating online attack vectors.
3.2.4 Additional Software Quality Attributes
• Usability: Controls must be learnable within 5 minutes for a first-time player.
• Maintainability: Code is organized into modular C# classes following Unity best
practices.
• Portability: The game is built as a self-contained Unity executable requiring no
additional installation.
• Reliability: The game must not crash during normal gameplay. All level
transitions must complete without errors.
3.3 Other Requirements
• The game must support 1920x1080 Full HD as the default resolution.
• The game must support windowed and fullscreen display modes.
• Audio settings must include master volume, sound effects volume, and music
volume controls.
University of Central Punjab | Faculty of Information Technology
Perfect Bay Parking — Final Project Documentation25
Chapter 4: Technical Architecture
Perfect Bay Parking is a custom-built 3D simulation game developed entirely using
Unity 3D (version 2022.3 LTS) and Blender (version 3.6). The system uses a
component-based architecture native to Unity, where each game object is composed of
independent, reusable components. The application is a standalone thick-client with no
server-side components.
4.1 Application and Data Architecture
• VehicleController: Manages all vehicle physics using Unity's Rigidbody and
WheelCollider components.
• LevelManager: Controls level loading, unloading, and progression. Manages the
10-level sequence via PlayerPrefs.
• CollisionHandler: Detects and responds to collisions using Unity's
OnCollisionEnter callback.
• TimerSystem: Manages the countdown timer for each level and updates the HUD
display.
• ParkingZoneDetector: Uses OnTriggerEnter/Stay/Exit to detect correct vehicle
positioning.
• UIManager: Controls all UI elements using Unity's UI Canvas system.
• AudioManager: Manages background music, engine sounds, and UI sound
effects.
4.2 Component Interactions and Collaborations
• LevelManager receives input from UIManager and communicates with
TimerSystem and VehicleController to initialize each level.
• VehicleController receives real-time keyboard input via Unity's Input system and
applies forces to Rigidbody each FixedUpdate frame.
• CollisionHandler listens for OnCollisionEnter events and notifies LevelManager to
trigger level reset.
• ParkingZoneDetector monitors vehicle proximity and communicates with
LevelManager to trigger level completion.
• UIManager subscribes to events from LevelManager, TimerSystem, and
ParkingZoneDetector to update display elements.
4.3 Design Reuse and Design Patterns
• Singleton Pattern: Used for LevelManager, AudioManager, and UIManager for
single persistent instances.
• Observer/Event Pattern: C# events and UnityEvents decouple component
communications.
University of Central Punjab | Faculty of Information Technology
Perfect Bay Parking — Final Project Documentation26
• Component Pattern: Unity's native component system for modularity and reuse of
physics, rendering, and audio.
• State Machine: Implicit game state machine managing MainMenu, Playing,
Paused, LevelComplete, and LevelFailed states.
4.4 Technology Architecture
Technology Version Purpose
Unity 3D 2022.3 LTS Game engine, physics, rendering, and scripting
platform
C# .NET 4.x Primary scripting language for all game logic
Blender 3.6 3D modeling, UV mapping, and asset creation
Unity Physics Built-in Rigidbody simulation, collision detection,
WheelCollider
Unity UI (Canvas) Built-in All user interface elements and HUD
Unity AudioSystem Built-in Background music, SFX, and engine sounds
Unity PlayerPrefs Built-in Local data persistence for saves and settings
Git Latest Version control for source code and assets
4.5 Architecture Evaluation
Unity 3D was selected for its strong community support, extensive documentation, built-
in WheelCollider for vehicle simulation, and the team's existing familiarity with C#.
Blender was chosen for 3D asset creation because it is open-source with excellent FBX
export compatibility with Unity.
University of Central Punjab | Faculty of Information Technology
Perfect Bay Parking — Final Project Documentation27
Chapter 5: Detailed Design and Implementation
This chapter describes the detailed design and implementation of the Perfect Bay
Parking game, including component interfaces, human interaction points, workflow, and
screenshots.
5.1 Component-Component Interface
The LevelManager acts as the central coordinator. [Link](int)
initializes the timer and resets the vehicle. [Link] invokes
[Link](). CollisionHandler's OnObstacleCollision event triggers
[Link](). ParkingZoneDetector's OnParkingSuccess event
triggers [Link]().
5.2 Component-External Entities Interface
Perfect Bay Parking has no interfaces with external systems. All game logic is self-
contained. Input is received from keyboard hardware via Unity's [Link]() and
[Link]() methods. Output is rendered to the local display via Unity's
rendering pipeline.
5.3 Component-Human Interface
• Main Menu: Rendered via Unity UI Canvas. Player interacts using mouse clicks.
• Vehicle Control: Keyboard inputs (W/A/S/D or arrow keys) mapped to
acceleration, steering, braking, and reverse.
• Pause Menu: Activated by pressing Escape. Provides resume, restart, and main
menu options.
• HUD: Displays timer countdown, current level number, speed, and collision
warning. Updated every frame.
• Level Complete Screen: Displays score, time remaining, and button to proceed to
the next level.
• Level Failed Screen: Displays failure reason (collision or timeout) and a retry
button.
5.4 Screenshots/Prototype
5.4.1 Workflow
1. Player launches application. Main Menu loads.
2. Player selects Start Game or chooses a level from the level selection screen.
3. Selected level loads. Vehicle spawns at start position. Countdown timer
activates.
4. Player navigates vehicle using keyboard controls through the 3D environment.
University of Central Punjab | Faculty of Information Technology
Perfect Bay Parking — Final Project Documentation28
5. If the vehicle collides with an obstacle: collision event fires, level failure screen
appears, player can retry.
6. If the timer expires: level failure screen appears, player can retry.
7. If player successfully parks in the designated zone: parking success event fires,
level complete screen appears.
8. Player proceeds to the next level or returns to the main menu.
9. After completing all 10 levels, a game completion screen displays the total score.
5.4.2 UI Screens
[Figure 8: Level 1 - Basic Parking Lot] A daytime outdoor parking lot with wide spaces
and minimal obstacles.
[Figure 9: Level 5 - Multi-Storey Car Park] Indoor multi-storey car park with pillars,
ramps, and tighter spaces.
[Figure 10: Level 10 - Advanced Obstacle Course] Nighttime environment with
maximum obstacles and narrowest parking space.
Figure 11: Main Menu UI
University of Central Punjab | Faculty of Information Technology
Perfect Bay Parking — Final Project Documentation29
Figure 12: HUD Layout
University of Central Punjab | Faculty of Information Technology
Perfect Bay Parking — Final Project Documentation30
5.5 Additional Information
Vehicle physics were fine-tuned through iterative playtesting across all 10 levels. Wheel
collider parameters including forward friction, sideways friction, and suspension spring
values were adjusted per level to account for varying surface types. Lighting in each
level is a key design element, with later levels using reduced and nighttime lighting to
increase challenge.
University of Central Punjab | Faculty of Information Technology
Perfect Bay Parking — Final Project Documentation31
Chapter 6: Test Specification and Results
6.1 Test Case Specification
Table 6.1: TC-1 - Vehicle Forward Movement
Field Details
Identifier TC-1
Related Requirement(s) UC-2: Navigate Vehicle
Short Description Verify that pressing W or Up Arrow accelerates the vehicle
forward.
Pre-condition(s) Level 1 is loaded. Vehicle is at start position. Timer is running.
Input Data Keyboard input: W key pressed for 2 seconds.
Detailed Steps 1. Launch Level 1. 2. Press and hold W key for 2 seconds. 3.
Release W key. 4. Observe vehicle movement.
Expected Result(s) Vehicle accelerates forward with physics-based motion.
Decelerates after key release.
Post-condition(s) Vehicle has moved forward from start position. No collision
occurred.
Actual Result(s) Vehicle moved forward as expected. Physics deceleration
applied correctly.
Test Case Result PASS
Table 6.1: TC-2 - Collision Detection
Field Details
Identifier TC-2
Related Requirement(s) UC-2, UC-3: Navigate and Collision Handling
Short Description Verify that vehicle collision with obstacle triggers level failure.
Pre-condition(s) Level 1 is loaded. Vehicle is at start position.
Input Data Player intentionally drives vehicle into a concrete barrier.
Detailed Steps 1. Launch Level 1. 2. Accelerate vehicle directly into nearest
obstacle. 3. Observe system response.
Expected Result(s) Collision detected. Level failed screen appears. Retry option
presented.
Post-condition(s) Level is reset. Vehicle returns to start position.
University of Central Punjab | Faculty of Information Technology
Perfect Bay Parking — Final Project Documentation32
Actual Result(s) Collision detected within one physics frame. Failure screen
displayed correctly.
Test Case Result PASS
6.2 Summary of Test Results
Table 6.2: Summary of All Test Results
Test Cases Defects Defects
Module Name Remaining
Run Found Corrected
VehicleController TC-1, TC-2, 2 2 0
TC-3
CollisionHandler TC-4, TC-5 1 1 0
TimerSystem TC-6, TC-7 0 0 0
ParkingZoneDetector TC-8, TC-9 1 1 0
UIManager TC-10, TC- 0 0 0
11
LevelManager TC-12, TC- 1 1 0
13, TC-14
AudioManager TC-15 0 0 0
Complete System TC-1 to TC- 5 5 0
15
University of Central Punjab | Faculty of Information Technology
Perfect Bay Parking — Final Project Documentation33
Chapter 7: Project Completion Status / Conclusion
Table 7.1: Project Completion Status
Module Name Status
VehicleController (Physics & Input) Complete
CollisionHandler Complete
TimerSystem Complete
ParkingZoneDetector Complete
LevelManager (10 Levels) Complete
UIManager (Menus, HUD, Screens) Complete
AudioManager Complete
3D Assets (Car, Environments, Obstacles) Complete
Level Design (All 10 Levels) Complete
Score System Complete
Settings Screen Complete
Complete System Complete
Table 7.2: Objective(s)/Target(s) Status
Target/Objective Status Reason
Design and implement 3D parking Completed All 10 levels built and functional
simulation in Unity
Create 10 progressive levels Completed All 10 levels designed and playable
Implement realistic vehicle Completed WheelCollider-based physics
physics implemented
Develop collision detection Completed OnCollisionEnter-based system
system active
Integrate countdown timer system Completed Per-level timer with HUD display
Design 3D assets in Blender Completed Car, environments, obstacles all
modeled
Create intuitive user interface Completed Menu, HUD, screens all
implemented
Optimize for 60 FPS on mid-range Completed 60 FPS achieved on target
University of Central Punjab | Faculty of Information Technology
Perfect Bay Parking — Final Project Documentation34
PC hardware
Number of Targets Completed 8/8
Number of Targets Partially 0/8
Completed
Number of Targets Not 0/8
Completed
Perfect Bay Parking was successfully completed, meeting all eight defined objectives.
The game delivers a fully functional, polished 3D car parking simulation with realistic
physics, progressive difficulty across 10 levels, and a clean user interface.
Future enhancements may include mobile platform deployment (iOS/Android), online
leaderboards, additional vehicle types, a level editor, and expanded level packs beyond
the initial 10.
University of Central Punjab | Faculty of Information Technology
Perfect Bay Parking — Final Project Documentation35
References
[1] Unity Technologies. (2023). Unity 3D Documentation (Version 2022.3 LTS).
[Link]
[2] Blender Foundation. (2023). Blender 3.6 Reference Manual.
[Link]
[3] Bruck, S., Watters, P., & Wimalaratna, S. (2012). The Application of 3D Virtual
Environments to Serious Games. Proceedings of the 2012 IEEE/ACM International
Conference.
[4] SUD Inc. (2015). Dr. Parking 4 [Mobile Application]. Google Play Store.
[5] olzhass. (2017). Car Parking Multiplayer [Mobile Application]. Google Play Store.
[6] SCS Software. (2012). Euro Truck Simulator 2 [PC Game]. Prague: SCS Software.
[7] Microsoft. (2023). C# Language Reference.
[Link]
University of Central Punjab | Faculty of Information Technology
Perfect Bay Parking — Final Project Documentation36
Appendix A: Glossary
Term / Acronym Definition
Unity 3D A cross-platform game engine used for building 2D, 3D, AR, and
VR applications.
Blender A free and open-source 3D computer graphics software for
modeling and animation.
C# A general-purpose, object-oriented programming language; the
primary scripting language for Unity.
WheelCollider A Unity physics component simulating vehicle wheel behavior
including suspension and friction.
Rigidbody A Unity component enabling physics-based behavior (gravity,
forces, collisions) for game objects.
FPS Frames Per Second; a measure of how smoothly a game renders
visuals.
HUD Heads-Up Display; an overlay on screen showing game
information like the timer and speed.
LTS Long-Term Support; a software version receiving extended
maintenance updates.
UC Use Case; a description of a specific interaction between a user
and the system.
TC Test Case; a set of conditions used to verify a specific functionality
of the system.
FBX Filmbox; a 3D asset file format used to transfer models between
Blender and Unity.
PlayerPrefs Unity's built-in system for storing simple data persistently on the
player's device.
Singleton A design pattern restricting a class to a single instance.
OnCollisionEnter A Unity callback method triggered when a Rigidbody collider first
contacts another collider.
OnTriggerEnter A Unity callback method triggered when a trigger-set collider
overlaps another collider.
University of Central Punjab | Faculty of Information Technology
Perfect Bay Parking — Final Project Documentation37
Appendix B: IV & V Report (Independent Verification &
Validation)
IV & V Resource
Name: ___________________________ Signature: ___________________________
Table B.2: List of Non-Trivial Defects
Statu
S# Defect Description Origin Stage Fix Time
s
1 Vehicle clipping through thin Implementati Fixed 3h 30m
wall at high speed on
2 Timer continued counting Testing Fixed 1h 00m
after level completion event
3 Parking zone trigger activated Testing Fixed 0h 45m
by non-vehicle objects
4 Level 7 had an unreachable Testing Fixed 2h 00m
parking zone due to obstacle
placement
5 Audio manager threw null Integration Fixed 1h 15m
reference on scene reload
University of Central Punjab | Faculty of Information Technology
Perfect Bay Parking — Final Project Documentation38
Appendix C: Deployment / Installation Guide
Follow these steps to install and run Perfect Bay Parking:
10. Ensure your PC meets the minimum requirements: Windows 10 or later, Intel
Core i5 processor, 8GB RAM, NVIDIA GTX 1060 GPU with DirectX 11 support,
1GB free disk space.
11. Download the game build package: PerfectBayParking_v1.[Link] from the
provided distribution location.
12. Extract the ZIP file to your desired installation directory (e.g., C:\Games\
PerfectBayParking).
13. Open the extracted folder and locate [Link].
14. Double-click [Link] to launch the game. No additional
installation steps are required.
15. If Windows Defender SmartScreen appears, click More Info then Run Anyway.
16. The game opens in full-screen mode. Press Alt+Enter to toggle between
fullscreen and windowed mode.
No internet connection is required. Save data is stored locally under AppData/LocalLow.
University of Central Punjab | Faculty of Information Technology
Perfect Bay Parking — Final Project Documentation39
Appendix D: User Manual
Getting Started
When you launch Perfect Bay Parking, you will see the Main Menu. From here you can
Start Game, select a Level, adjust Settings, or Exit.
Controls
Action Key
Accelerate / Move Forward W or Up Arrow
Brake / Reverse S or Down Arrow
Steer Left A or Left Arrow
Steer Right D or Right Arrow
Handbrake (Sharp Turn) Space
Pause / Resume Escape
Reset Vehicle Position R (if stuck)
Gameplay Instructions
17. When a level loads, your vehicle appears at the Start Position marked with a
yellow arrow.
18. The Parking Zone is highlighted in green. Navigate your car to reach it.
19. Watch the Timer at the top of the screen. Park your car before it reaches zero.
20. Avoid all orange cones, barriers, other cars, and walls. Any contact will reset the
level.
21. When your car is fully inside the parking zone and comes to a stop, the level is
complete.
22. Your score is based on the time remaining when you successfully park.
Level Progression
• Levels 1-3: Open parking lots with wide spaces and few obstacles. Ideal for
learning controls.
• Levels 4-6: Narrower spaces, more obstacles, and introduction of multi-storey
environments.
• Levels 7-9: Complex navigation paths, tight corners, and reduced lighting
conditions.
• Level 10: The ultimate challenge - night environment, maximum obstacles,
narrowest parking space.
University of Central Punjab | Faculty of Information Technology
Perfect Bay Parking — Final Project Documentation40
Appendix E: Deployment Diagram
Figure 13: Deployment Diagram — Perfect Bay Parking on Windows PC
University of Central Punjab | Faculty of Information Technology