You are on page 1of 21

Undergraduate Final Year Project Handbook

3D Block Blaster

Ammar Tariq
Salman Shafiq

DEPARTMENT OF COMPUTER SCIENCES


COMSATS UNIVERSITY ISLAMABAD, VEHARI CAMPUS
VEHARI – PAKISTAN

SESSION 2018-2022

1
Undergraduate Final Year Project Handbook

3D Block Runner

Undertaken By:

Ammar Tariq
REG. NO. CIIT/SP18-BCS-093/VHR
Salman Shafiq
REG. NO. CIIT/SP18-BCS-106/VHR

Supervised By:

Dr. Ali Shahid

DEPARTMENT OF COMPUTER SCIENCES


COMSATS UNIVESITY ISLAMABAD, VEHARI CAMPUS
VEHARI – PAKISTAN

SESSION 2018-2022

2
Undergraduate Final Year Project Handbook

CERTIFICATE OF APPROVAL
It is to certify that the final year project of BS (CS) “3D Block Runner” was
developed by M. Ammar Tariq (CIIT/SP18-BCS/093) and Salman Shafiq
(CIIT/SP18 -BCS/106) under the supervision of “Dr. Ali Shahid” and that in
(their/his/her) opinion; it is fully adequate, in scope and quality for the degree of
Bachelors of Science in Computer Sciences.

---------------------------------------
Supervisor

---------------------------------------
External Examiner

---------------------------------------
Head of Department
(Department of Computer Science)

3
Undergraduate Final Year Project Handbook

PROJECT BRIEF

PROJECT NAME Blast Runner


ORGANIZATION NAME Comsats University Islamabad
OBJECTIVE Create a Passive Income
UNDERTAKEN BY Ammar Tariq
Salman Shafiq
SUPERVISED BY Dr. Ali Shahid
Assistant Professor
Computer Science
COMSATS University Islamabad
STARTED ON March 9th 2021
COMPLETED ON December 30th 2021
COMPUTER USED HP Envy 15 Core i7 6th generation
SOURCE LANGUAGE C# & JavaScript
OPERATING SYSTEM Windows 10
TOOLS USED Unity
Photoshop
Premier Pro
Visual Studio Code
Blender
Audacity

4
Undergraduate Final Year Project Handbook

ABSTRACT
In our daily life we play multiple types of games on our smartphones. One of the
most popular and lucrative game categories currently for developers and users are
hyper causal games. So, Block Blast is a 3D Arcade Hyper causal game in which
the player swipes the character in order to avoid the multiple obstacles and shoot
enemies with varying amounts of health. There are multiple levels, boss fights,
power ups, characters and a leveling system for the characters. The game is having
ads integrated into it and an in-game store for the buying of upgrades and new
skins for characters. The game is available for both Android. The second part of
this project is the marketing of the game in order to increase downloads and
rankings in the app stores.

5
Undergraduate Final Year Project Handbook

1 Contents
1 CONTENTS..........................................................................................................................................................6
2 INTRODUCTION................................................................................................................................................7
2.1 SYSTEM INTRODUCTION..................................................................................................................................7
2.2 BACKGROUND OF THE SYSTEM.......................................................................................................................7
2.3 OBJECTIVES OF THE SYSTEM..........................................................................................................................7
2.4 SIGNIFICANCE OF THE SYSTEM.......................................................................................................................7
3 OVERALL DESCRIPTION................................................................................................................................8
3.1 PRODUCT PERSPECTIVE...................................................................................................................................8
3.2 PRODUCT SCOPE.............................................................................................................................................8
3.3 PRODUCT FUNCTIONALITY..............................................................................................................................8
3.4 GAME MODES.................................................................................................................................................8
3.4.1 Normal...................................................................................................................................................8
3.4.2 Infinite...................................................................................................................................................8
3.4.3 Hardcore...............................................................................................................................................9
3.5 USERS AND CHARACTERISTICS.......................................................................................................................9
3.6 OPERATING ENVIRONMENT............................................................................................................................9
4 SPECIFIC REQUIREMENTS..........................................................................................................................10
4.1 FUNCTIONAL REQUIREMENTS.......................................................................................................................10
4.1.1 Use Case Diagram..............................................................................................................................10
4.1.2 Use Case Descriptions........................................................................................................................11
4.1.3 System Sequence Diagram..................................................................................................................12
4.1.4 Class Diagram.....................................................................................................................................13
4.1.5 Data Flow Diagram............................................................................................................................14
NON-FUNCTIONAL REQUIREMENTS.................................................................................................................15
4.2 PERFORMANCE REQUIREMENTS....................................................................................................................15
4.3 SAFETY AND SECURITY REQUIREMENTS......................................................................................................15
4.3.1 Reliability............................................................................................................................................15
4.3.2 Interoperability....................................................................................................................................15
4.3.3 Portability............................................................................................................................................15
5 DESIGN DESCRIPTION..................................................................................................................................16
5.1 LOGICAL VIEWPOINT....................................................................................................................................16
5.2 MOCKUP DESIGN..........................................................................................................................................18
5.2.1 Main Menu..........................................................................................................................................18
5.2.2 Game Mode Design...............................................................................Error! Bookmark not defined.
5.2.3 Game Play Design...............................................................................................................................20

6
Undergraduate Final Year Project Handbook

2 Introduction

2.1 System Introduction


Block Blast is a 3D game in which the player must shoot the multiple types of enemies in the
lanes in order to progress through the level and avoid collisions with different types of
enemies/obstacles. In app purchase and reward makes the game more interesting and the user
expresses more interest to play the game.

2.2 Background of the System


This project is creation and implementation of game using the Unity. Basically the said project is
similar to the some of the earlier existing projects/products already available on different
platforms like for windows/Android.
What makes our product different from others is that the use of Unity tools and other supporting
software helps convert it on different platforms later on, we can easily control many mechanisms
through graphics rather than repetitive and redundant codes.

2.3 Objectives of the System


The objectives of this projects are written below:
 Create a fun and addictive arcade type hyper causal game.
 Have a game uploaded on multiple Appstore.
 Integration of in game purchases and advertisements.
 Learning of multiple types of game development tools for graphics, sound and game
designing.
 Have high number of downloads and appropriate ranking in app stores and to reveal the
actual purpose of gaming app development.

2.4 Significance of the System


As the name suggests, hyper-casual games are lightweight games with simple mechanics that
offer instant gameplay. Literally “tap to play” Because of their fundamental 'simplicity,' hyper-
casual games are not only instantly playable but infinitely replay able, making them highly
addictive and engaging.

7
Undergraduate Final Year Project Handbook

3 Overall Description

3.1 Product Perspective


Our product mainly interacts within software like Unity and platforms like windows and
Android. The main context in which our product is used is for the purpose of self-entertainment
and promote an addictive behavior of the users towards the product.

3.2 Product Scope


 Our game is 2.5D and in near future will be working on 3-Dimensional perspective.
 The objective of this game is to reduce stress and provide entertainment to user.
 Our benefit being team of developer is to earn money by in game marketing and
advertisement.
 Our goal is to rank as high as Voodoo or Ketchapp.

3.3 Product Functionality


 Game starts and a default character is spawned which can be controlled by the touch
control.
 The obstacles are spawned progressively as the player passes them.
 If the player collides with any obstacle the game is restarted and coins are awarded.
 If player successfully avoids all obstacles and reaches the finish line the new level starts.
 There are three game modes

3.4 Game Modes


3.4.1 Normal
o Level has a limited length.
o When player reaches the length of 100 units the level progresses to the next level.
o Each level has its own boss and the obstacle amount increases respectively.
3.4.2 Infinite
o There is only single world which generates its terrain progressively
o The obstacles are moved to their position relative to player using randomizer
o Coins value increases as the player progresses therefore more value for money

8
Undergraduate Final Year Project Handbook

3.4.3 Hardcore
o Similar to Normal Mode.
o When player dies, they have to start from level 1.
o High risk high reward game play
o In this game mode coin can be worth more than both Normal and Infinite mode.

3.5 Users and Characteristics


 The main users are for the game are people ranging from ages 18-25 year irrespective of
gender. game is meant to be played as a hyper casual game therefore our main
demographics will be for the players who are looking to get entertained infinitely.
 Our game uses 1-tap gameplay, type of game which is used to play to pass free time.
 Our game for the time being is available for the local population of Pakistan later on we
have planned it for global scale including new features.

3.6 Operating Environment


The project is mainly operated on multiple platforms like Android, Windows and IOS (future
scope)
Minimum requirements for the multi platforms are as follows:
 On mobile platform at least android version above than 7.0 is required.
 On windows minimum 2GB graphics memory is required.

9
Undergraduate Final Year Project Handbook

4 Specific Requirements

4.1 Functional Requirements


Game Play This functionality allows the user to play the
developed game

Game Store This functionality allows the user to make purchases,


upgrade and change characters.

End Scene This contains methods to gain extra live, share high
score, take screenshot, restart the game and obtain
coins/gems.

4.1.1 Use Case Diagram


The figure 4.1.1 show the user interaction usability criteria of main interface i.e., main menu.
User is be able to interact with Screen title as an easter egg. Start game button starts the game.
Scrollable background is added as an easter egg functionality as well score board is displayed in
the total score.

In the main scene player has to avoid obstacles. Player can collect coins and player will be able
to exit the scene pressing the exit button.

Figure
4.1.1
Use Case
Diagram

10
Undergraduate Final Year Project Handbook

4.1.2 Use Case Descriptions

 The player character is summoned from a prefab at very start of the game see figure 4.1.3
which can be controlled by touch for android and arrow keys for windows button.

 The Block Blast 3d starts from a minimalistic style main menu which includes interactive
background. As shown in figure

 Enemies are summoned using the function which is governed by the method used to
control enemy behavior. The player enemy interaction will calculate the price
incrementation and vice versa.

 In the main menu as shown in figure 4.1.1 the player is allowed to check their high score
which is directly connected with firebase API.

 The exit button is overlayed on top of the main menu screen its functionality is to exit the
game save the score prior to exit.

 The procedural map generation is incorporated check figure 4.1.3

 Obstacle blocks are generated at random showed in figure 4.1.3 controlled by the XYZ
coordinates of player.

11
Undergraduate Final Year Project Handbook

4.1.3 System Sequence Diagram

Figure 4.1.3 Sequence Diagram

12
Undergraduate Final Year Project Handbook

4.1.4 Class Diagram


 This is the class diagram of game’s core functionality as shown in the player level the
character Number and fire Speed along with fire Damage changes the power of player.

 The Game Level class changes the level number it governs the Enemy class which is used
to set the enemy level and power according to corresponding level.

 The Characters class create the player characteristics in the shop and in the main world of
the game based on this the player can select or buy the character and play the game
accordingly.

 Score and Coins class are used to calculate and store your points and money respectively
in the in-game data variables and playerfab data storage.

Figure 4.1.4

Core Component Class Diagram

13
Undergraduate Final Year Project Handbook

4.1.5 Data Flow Diagram

 As shown in the figure 4.1.5 The player starts from home screen will have the ability to
open shop, share our game, open settings or play game
 In the shop section player is be able to buy coins from irl money or buy/change/upgrade
the characters.
 In the sharing option the popup will appear giving you the ability to share your game links
on your social media.
 During game play user is able to Pause the game and exit after which the death screen will
appear.
 In death screen user is able to see the score and replay the game will move you to home
screen represented in figure 4.1.5.

Figure 4.1.5 Data Flow Diagram

14
Undergraduate Final Year Project Handbook

Non-Functional Requirements

4.2 Performance Requirements


Following is some of the performance requirement which will be associated with our product:
 Our game will be optimized to run-on low-end devices which enhances the performance
rate of our game.
 The code will be in a modular style and can be modified for the future development.

4.3 Safety and Security Requirements


Google’s signed keys are being used to protect the code which builds an encrypted copy of code
and cannot be modified and shared. Our game does not allow external connection therefore it
makes it rather secure in terms of security basis. The game data is governed by Google Firebase
API (online) and playerfab Storage bucket(offline).
 Firebase
 Admob
 IAP

4.3.1 Reliability
 As this game is built in Unity therefore, we will be able to build game for its
corresponding platform according to the user requirements without downgrading the in-
game performance and not compromising so much on the quality constraint.
 Our game will have different variation simultaneously working on low end mid end and
high-end devices.

4.3.2 Interoperability
 Our game will be able to run smoothly without dropping any performance on potentially
all operating systems.

4.3.3 Portability
 Our game will run on different platforms such as Android, Windows, Linux, IOS and
PlayStation as well which represents the portability of our game.
 Our Game uses game data to work therefore it will function just fine offline therefore it is
portable and will instantly reconnect to google services when internet is available.

15
Undergraduate Final Year Project Handbook

5 Design Description

5.1 Logical Viewpoint


In figure 6.2 UML extensive logical viewpoint diagram represents the Game Manager which
holds all the global variables which can be access via any class using the getter and setter
methods. We have 4 sub classes game components from which user interface is governed by 3
classes and core functionality of the game is governed by 1 class named Game Controller.

The shop menu class contains the buying selling perspective of the game whereas perspective
controls the basic buttons such as play exit and open leaderboard etc.

The Game controller will control the movement of the player and enemy movement will be
governed by this class along with it. The procedural obstacle generation is also covered by this
part of the instance.

Other perspective will count get and save the score and reward based on the total points earned
the player will be able to run ads from this scene as well to earn extra incentives based on the
game play scenario.

16
Undergraduate Final Year Project Handbook

Figure 6.2 Class Diagram

17
Undergraduate Final Year Project Handbook

5.2 Mockup Design


5.2.1 Main Menu

This is a basic main-menu design further improvements are yet to be expected our main menu
shows high score game title, game mode and start button. Other functionality such as shop and
get reward buttons are yet to be added in the production release.

Figure 6.4.1 Main Menu

18
Undergraduate Final Year Project Handbook

5.2.2 Shop
In shop design pre-made prototype there are three type of game play modes in Normal mode you
have to earn a specific number of points to unlock your abilities with added abilities and features.

In game map the procedural obstacles are generated and game goes infinitely long unless your
player collides with any obstacle or you intentionally exit the game from there on forward you
will earn set points according to your performance

This is an upcoming feature. Will be added on 70% completion of game along with other
features.

Figure 6.4.2

19
Undergraduate Final Year Project Handbook

5.2.3 Game Play Design


As shown in figure 6.4.3 The game has three platforms which can be changed by the swipe of
your thumb and obstacles are generated on every platform randomly. Player has to avoid the
obstacle otherwise the game will end and player will be awarded with the in-game money
formulated by your in-game score.

Figure 6.4.3 Game Play Screen

20
Undergraduate Final Year Project Handbook

DEDICATION

To my Loving Parents and Teachers.


To my Dear Supervisor Dr. Ali Shahid.
To my Responsible Team member Salman Shafiq.
To some of my friends who grew with me.

ACKNOWLEDGEMENT
I would like to sincerely express my gratitude to several individuals and organizations for their
support throughout my graduate studies. First, I would like to express my gratitude to my
supervisor, Dr Ali Shahid, for all his enthusiasm, patience, helpful information, practical
guidance and continuous insight into the times, to a large extent, has helped me in my research
and writing of this article. His extensive knowledge, vast experience and professional expertise in
the field of quality control have made it possible for me to accomplish this research work.
Without his support and guidance, this project would not have been possible. I never would have
thought it would be a better supervisor in my university career.

21

You might also like