Chapter 1: Project Feasibility Report
Department of Software Engineering
© University of Gujrat
1
1.1. Introduction
3D games are way the world has been using to make virtual world more and more
realistic and close to reality, Dive into the intricacies of graphics rendering, the backbone
of any 3D game. Understand the techniques employed in rendering lifelike visuals, from
shading and lighting to texture mapping, as developers strive to bridge the gap between
the virtual and the real.
In the rapidly evolving landscape of digital entertainment, 3D games stand at the
forefront of technological innovation, captivating audiences with immersive experiences
that transcend traditional forms of interactive media. This documentation aims to provide
a comprehensive overview of 3D games, delving into their inception, evolution, and the
intricate elements that contribute to their success in the dynamic realm of gaming.
Uncover the significance of game engines as the driving force behind 3D game
development. Explore popular engines such as Unity and Unreal Engine, dissecting their
functionalities and examining how they empower developers to bring their creative
visions to life
1.2. Project/Product Feasibility Report
When a project is started the first matter to establish is to assess the feasibility of a
project or product. Feasibility means the extent to which appropriate data and information
are readily available or can be obtained with available resources such as staff, expertise,
time, and equipment. It is basically used as a measure of how practical or beneficial the
development of a software system will be to you (or organization). This activity recurs
throughout the life cycle.
There are many types of feasibilities:
Technical
Operational
Economic
Department of Software Engineering
© University of Gujrat
2
Schedule
Specification
Information
Motivational
Legal and Ethical
1.2.1. Technical Feasibility
Technical Feasibility deals with asking the question as to whether the system can be
developed or not. To answer that question: yes the purposed system can be developed
because all the resources required to develop the system are available to us Consider the
compatibility and integration of various input devices, such as controllers, keyboards, and
emerging technologies like motion-sensing devices or virtual reality peripherals.
Ensuring responsiveness and versatility in input methods enhances the accessibility and
engagement of the game.
1.2.2. Operational Feasibility
Operational feasibility assesses the practicality and viability of implementing a 3D game
development project within the existing operational environment. This analysis focuses
on the organizational, procedural, and logistical aspects essential for the successful
execution and maintenance of 3D games. Assess the collaboration and communication
mechanisms within the development team. Effective communication tools and practices,
along with collaboration platforms, are crucial for coordinating efforts, sharing resources,
and maintaining a cohesive development workflow.
Analyze the development process and workflow for 3D game projects. Consider the
methodologies employed, such as agile or waterfall, and ensure that they align with the
project's scope, allowing for flexibility and adaptability as needed.
1.2.3. Economic Feasibility
Examine the feasibility of post-development operations, including maintenance and
updates. Plan for ongoing support, bug fixes, and the release of updates or patches to
address evolving user needs and technology changes.
1.2.4. Schedule Feasibility
1. Task Breakdown:
Break down development tasks into granular components, including coding, art asset
creation, level design, testing, and optimization. Provide time estimates for each task
based on historical data, team expertise, and the complexity of the project.
2. Contingency Planning:
Incorporate contingency time into the schedule to account for unexpected delays,
challenges, or additional iterations. Contingency planning helps manage risks and ensures
a more realistic project timeline.
Department of Software Engineering
© University of Gujrat
3
1.2.5. Specification Feasibility
Define the overarching objectives of the 3D game development project. Clearly articulate
the desired outcomes, including target platforms, gameplay features, and overall user
experience.Specify the technical requirements for the game, encompassing hardware
specifications, supported platforms, graphics capabilities, and any specialized
technologies such as virtual reality (VR) or augmented reality (AR).
1.2.6. Information Feasibility
1.2.7. Motivational Feasibility
1.2.8. Legal & Ethical Feasibility
No, infringements or liabilities will arise from this project because it meets all legal and
ethical requirements. We are sure that we are not going against the legal laws in this
project. We are using the tools like unity 3D and visual studio which are legal to use.
1.3. Project/Product Scope
The vision of project in term of understanding scope, requires detailed foresight about
what the game will be genre of the 3D game, whether it's action, adventure, simulation,
role-playing, and theme that will shape the narrative and visual style of the game.
fundamental gameplay mechanics that players will engage with throughout the game.
1.4. Project/Product Costing
The cost of the development of the project is considered since
1.4.1. Project Cost Estimation by Function Point Analysis
Complexity of component is low.
UFP= (3*2) +(4*6) +(3*4) +(7*1) +(5*0)
UFP=49
To compute Function points the following relationship is used:
FP est. = Count Total * [ 0.65 + 0.01 * (Fi)]
1. Data communications (04) 3. Performance (6)
2. Distributed data processing (0) 4. Heavily used configuration (0)
Department of Software Engineering
© University of Gujrat
4
5. Transaction rate (0)
6. On-Line data entry (0)
7. End-Player efficiency (1)
8. On-Line update (1)
9. Complex processing (1)
10. Reusability (4)
11. Installation ease (4)
12. Operational ease (7)
13. Multiple sites (0)
14. Facilitate change (2)
Department of Software Engineering
© University of Gujrat
5
Fi = 21
FP est. = Count Total * [ 0.65 + 0.01 * (Fi)]
FP est. = 49 * [ 0.65 + 0.01 * (21)]
FP est. =42.14
Language factor for C# = 29
LOC = Language factor * FP
LOC = 29 * 42.14
LOC = 1222.06
KLOC =1222.06/1000
KLOC = 1.22206
Finally, the total project cost and total project effort are calculated given the average
productivity parameter for the system. According to labor rate, the cost of the developer
per day is 15$ and assuming the productivity parameter for our project is 45$ per day.
Cost / FP = labor rate / productivity parameter
Total Project Cost = FP est. * (cost / FP)
= 52.14*(45/15)
= 98.32$
Total Estimated Effort = FP est. / productivity parameter
= 42.14/15
= 2.80
1.4.2. Project Cost Estimation by using COCOMO’81 (Constructive Cost Model)
Our project size is typically between 2-50 KLOC. The nature of our project is small, Innovation
is medium and Deadline of our project is tight. Additionally, development environment is
Familiar and in house. Most of the factors are lying under organic mode so that’s why we choose
organic mode.
Department of Software Engineering
© University of Gujrat
6
Detailed COCOMO
Type Effort Schedule
Organic PM= 3.2 (KLOC)^1.05*EAF TD=2.5(PM)^0.38
PM = Person-Month (Effort)
KLOC = Lines of code, in thousands
TD = Number of months estimated software development (Duration)
M.- reflects 15 predictor variables, called cost drivers
Programming capability = 1
Programming language experience = 1.07
Use of software tool = 0.91
Required software reliability = 1.15
By applying the values and formulas we get,
EAF = 1*1.07*0.91*1.15
EAF = 1.11
Now,
PM = 3.2(1.22206) ^ 1.05*1.11
PM = 4.36 Person-Month
TD = 2.5 (4.36) ^ 0.38
TD = 4.37 month
We are choosing Organic small Mode for calculation of effort and duration phase wise.
Formula
Effort
Ep = µpE
Duration
Dp= דD
Plan and requirement
E = 0.06*4.36
E = 0.26 PM
D = 0.10*4.37
D = 0.43 M
System Design
Department of Software Engineering
© University of Gujrat
7
E = 0.16*4.36
E = 0.69 PM
D = 0.19*4.37
D = 0.83 M
Detail Design
E = 0.26*4.36
E = 1.13 PM
D = 0.24*4.37
D = 1.04 M
Module Code and Test
E = 0.42*4.36
E = 1.83 PM
D = 0.39*4.37
D = 1.70 M
Integration and Test
E = 0.16*4.36
E = 0.69 PM
D = 0.18*4.37
D = 0.78 M
1.4.3. Activity Based Costing
Table 1.2 – Activity Based Costing
Task Resource Cost rate
Documentation Gamers and Word FREE
Graphics Unity FREE
Development Unity and Visual Studio FREE
Testing Unity & PC FREE(Team use their own PC)
Deployment
Department of Software Engineering
© University of Gujrat
8
1.5. Task Dependency Table
The following are the steps to develop a task dependency table:
Table 1.3 – Task Dependency Table
Task ID Task Dependencies Duration(Week)
T1 Requirement gathering & - 2
analysis
T2 System design & Architecture 2
T3 Development scheduling 1
T4 Graphic Designing 10
T5 Game Development 15
T6 Testing 3
T7 Deployment 1
T8 Documentation 4
Department of Software Engineering
© University of Gujrat
9
1.6. CPM - Critical Path Method
Network Diagram:
Department of Software Engineering
© University of Gujrat
10
Figure 1.1 Network Diagram
Table 1.4 Critical Path Value
Task Duration Predecessor ES EF LS LF ST
T1 2 - 0 2 0 2 0
T2 2 2 4 8 12 -
T3 1 2 3 10 12 -
T4 10 2 12 2 12 0
T5 15 12 27 12 27 0
T6 3 27 30 27 30 0
T7 1 30 31 33 34 -
T8 4 30 34 30 34 0
Critical Path
1.7 GANTT Chart
Department of Software Engineering
© University of Gujrat
11
Figure 1.2 Gantt Chart
1.8. Introduction to Team member and their skill set
Table 1.5 Members Skill-set
ID Name Roll# Skill-Set
M1 Azzam Kashif 20014198-013 Documentation, System Design &
Architecture, Coding, Graphic Designing
M2 Arbab Irfan 20014198-028 Documentation, System Design &
Architecture, Coding, Testing
M3 Danish Toqeer 20014198-044 Documentation, Coding, Graphic
Designing, Testing
1.9. Task and Member Assignment Table
Department of Software Engineering
© University of Gujrat
12
Table 1.6 Task Assessment Table
Task Task Dependencies Duration Member
ID (Week)
T1 Requirement gathering - 2 M1, M2
& analysis
T2 System design & 2 M1, M2
Architecture
T3 Development 1 M1, M2,
scheduling M3
T4 Graphic Designing 10 M1, M3
T5 Game Development 15 M1, M2,
M3
T6 Testing 3 M2, M3
T7 Deployment 1 M1, M2,
M3
T8 Documentation 4 M1, M2,
M3
1.10. Tools and Technology with reasoning
Development
1. Unity Engine
Unity is a cross platform game engine. Unity give Player the ability to create game in both 2D
and 3D, and the engine offers a primary scripting API in C#. It is essential and main tool in the
making of the project. It is used for both development and designing purpose.
2. Visual studio with C#
Development IDE for every handling and scripting. Also, unity is directly supported by visual
studio.
Scripts are written in a special language that unity can understand. And, it is through this
language that we can talk to the engine and give it our instructions. The language that is used in
unity is called C#.
3. Paint.net
For designing and modifying graphic and UI designs like buttons and icons etc.
Deployment
Department of Software Engineering
© University of Gujrat
13
1. Microsoft store
App store where the game will be available for all PC Players to download and play.
1.11. Vision Document
The Vision behind this project is to create a 3D game with diversity in different aspect. The main
objective of game is to experience adventure and mystery game in a friendly manner.
Stakeholders
Problem Statement
Solution
In our game, each level presents unique challenges, making it distinct from other games. This
uniqueness sets our game apart and enhances the Player's interest, allowing the Player to have a
rich 3D experience and ensuring they remain engaged and avoid boredom. This is the key factor
that will attract Players to our game.
1.12. Risk List
Performance issue on some devices
Technical Issues
Market Saturation
1.13. Product Features/ Product Decomposition
To make the goal easy to achieve, the work load has divided into small units of work. All
tasks/functionality are decomposed into five phases. Each phase covers one milestone taking us
one step closer towards the goal. These five phases are
Play
Department of Software Engineering
© University of Gujrat
14