Thesis

You might also like

Download as pdf or txt
Download as pdf or txt
You are on page 1of 25

SHOOTING GAME USING UNREAL ENGINE

A Thesis submitted
to

Chhattisgarh Swami Vivekanand Technical UniversityBhilai


(C.G.),India

In partial fulfillment
For the award of the Degree

of
Bachelor of Engineering
In

Computer Science Engineering


by

Vaibhav Deep Shahni Avnish Kumar Chandra


Enrollment No: BK3948 Enrollment No: BK3654
University Roll No: 301402220170 University Roll No: 301402220027

Mayank Patley Priyanshu Shirvastava


Enrollment No: BK3756 Enrollment No: BK3756
University Roll No: 301402220074 University Roll No: 301402220162

Under the Guidance of

Prof. Neetu Ahirwal


Prof. of CSE Department
Shri Shankaracharya Technical Campus

i
Declaration by the Candidate
We the undersigned solemnly declare that the report of the thesis work entitled “3D
shooting game using ureal engine” is based on my own work carried out during the course
of my study under the supervision of prof. Neetu Ahirwal

We assert that the statements made and conclusions drawn are an outcome of the
project work. We further declare that to the best of my knowledge and belief that the report
does not contain any part of any work which has been submitted for the award of any other
degree/diploma/certificate in this University/deemed University of India or any other
country. All helps received and citations used for the preparation of the thesis have been
duly acknowledged.

Vaibhav Deep Shahni Avnish Kumar Chandra


Enrollment No: BK3948 Enrollment No: BK3654
University Roll No: 301402220170 University Roll No: 301402220027

Mayank Patley Priyanshu Shirvastava


Enrollment No: BK3756 Enrollment No: BK3756
University Roll No: 301402220074 University Roll No: 301402220162

Signature of the Supervisor

Neetu Ahirwal
Designation of the Supervisor : Assistant professor

Computer science and Engineering

Shri Shankaracharya Technical Campus

ii
Certificate of the Supervisor
This is to certify that the report of the thesis entitled “3D shooting game using unreal
engine”, is a record of bonafide research work carried out by Vaibhav Deep Shahni bearing
Roll No. 301402220170 & Enrollment No. BK3948, Avnish Kumar Chandra bearing Roll No.
301202220027 & Enrollment No. BK3654, Mayank Patley bearing Roll No. 301402220170 &
Enrollment No. BK3756 and Priyanshu Shirvastava bearing Roll No. 301402220074 & Enrollment
No. BK3940 under my guidance and supervision for the award of Degree of Bachelor of technology
in the faculty of Neetu Ahirwal, of Chhattisgarh Swami VivekanandTechnical University, Bhilai (C.G.),
India. To the best of my knowledge and belief the thesis

❖ Embodies the work of the candidate him/herself,


❖ Has duly been completed,
❖ Fulfils the requirement of the ordinance relating to the BE/BTech degree of the University
and is up to the desired standard both in respect of contents and language for being
referred to the examiners.

Vaibhav Deep Shahni Avnish Kumar Chandra


Enrollment No: BK3948 Enrollment No: BK3654
University Roll No: 301402220170 University Roll No: 301402220027

Mayank Patley Priyanshu Shirvastava


Enrollment No: BK3756 Enrollment No: BK3756
University Roll No: 301402220074 University Roll No: 301402220162

Forwarded to Chhattisgarh Swami Vivekanand Technical University, Bhilai

(Signature of the Director/Principal)

Shri Shankaracharya Technical Campus


Junwani, Bhilai, Durg (C.G)

ii
Certificate by the Examiners

The Thesis entitled “3D shooting game using unreal engine” Submitted by Vaibhav Deep
Shahni (Roll No. 301402220170 Enrollment No. BK3948) has been examined by the under
signed as a part of the examination and is hereby recommended for the award of the degree
of Bachelor

of Engineering/Technology in the faculty of Neetu Ahirwal of Chhattisgarh Swami Vivekanand


Technical University, Bhilai.

Internal Examiner External Examiner


Date:
ABSTRACT
This project documents the collaborative endeavor of four individuals in the development of a third-
person shooter (TPS) game, utilizing Unreal Engine, C++, and Visual Studio Code. Through a synthesis
of technical prowess and creative vision, the team embarks on a journey to conceptualize, design, and
execute a captivating gaming experience. The project unfolds as a testament to the intricacies of game
development, exploring the synergy between programming, artistry, and design. By leveraging modern
game development tools and technologies, the team navigates the complexities of game mechanics,
level design, multiplayer integration, and post-launch support. The culmination of their efforts is a
polished TPS game that exemplifies their collective dedication, innovation, and expertise. Through this
project, the team presents a comprehensive narrative of their collaborative journey, offering insights
into the challenges, triumphs, and lessons learned in the pursuit of gaming excellence.
INTRODUCTION
Third-person shooter (TPS) games have garnered immense popularity in the gaming industry
due to their immersive gameplay mechanics and engaging narratives. Players are often drawn
to the dynamic action and strategic elements inherent in the third-person perspective, which
provides a broader view of the game environment and enhances situational awareness.

The Unreal Engine stands out as a leading game development platform, renowned for its
robust features, stunning graphics, and user-friendly interface. Leveraging the power of Unreal
Engine, developers can create visually stunning and feature-rich TPS games that captivate
players worldwide.

C++ programming language serves as the backbone of performance-driven game


development, offering unparalleled speed and efficiency for resource-intensive applications
like TPS games. Its versatility and performance optimization capabilities make it the language
of choice for implementing complex game logic, AI algorithms, and networking functionality.
Visual Studio Code emerges as a versatile integrated development environment (IDE) for
coding TPS games, providing developers with a streamlined workflow, powerful debugging
tools, and seamless integration with version control systems. With the combined use of Unreal
Engine, C++, and Visual Studio Code, developers can unleash their creativity and bring
innovative TPS gaming experiences to life.
BACKGROUND AND RELATED
WORK
Previous research on game development methodologies and tools has laid the foundation for
understanding the intricacies of creating immersive and engaging TPS games. Studies have
explored various aspects of TPS game design, including camera perspectives, control schemes,
level design, and enemy AI behavior. By examining existing literature and case studies,
developers can gain valuable insights into proven techniques and best practices for designing
and developing TPS games that resonate with players.

In addition, researchers have investigated the role of Unreal Engine, C++, and Visual Studio
Code in game development, highlighting their strengths, limitations, and practical
applications. Case studies and project analyses have demonstrated the effectiveness of these
tools and technologies in creating high-quality TPS games with compelling gameplay, stunning
visuals, and seamless multiplayer experiences. By building upon the knowledge and
experiences shared in previous research, developers can refine their approaches, overcome
challenges, and deliver exceptional TPS gaming experiences to players worldwide.
CONCEPT AND DESIGN
The concept and design phase of TPS game development involves shaping the core elements
of the game, including its setting, storyline, characters, and gameplay mechanics. Developers
strive to create a cohesive and immersive experience that captivates players from the moment
they enter the game world. Whether set in a post-apocalyptic dystopia, a futuristic sci-fi
universe, or a gritty urban landscape, the game's setting plays a crucial role in establishing the
tone and atmosphere of the experience.

The game design document (GDD) serves as a blueprint for the development process,
outlining the game's features, mechanics, levels, and progression systems in detail. It provides
developers with a roadmap for bringing the game to life, guiding their decisions and ensuring
alignment with the overall vision. Throughout the concept and design phase, developers
iterate on ideas, gather feedback from stakeholders, and refine the GDD to create a compelling
and coherent TPS gaming experience that resonates with players.
DEVELOPMENT TOOLS AND
TECHNOLOGIES

The Unreal Engine offers a comprehensive suite of tools and features for game development,
including a powerful rendering engine, advanced physics simulation, robust networking
capabilities, and extensive asset management tools. Its Blueprint visual scripting system
enables rapid prototyping and iteration, allowing developers to implement complex gameplay
mechanics without extensive programming knowledge. Additionally, Unreal Engine's
Marketplace provides a wealth of assets, plugins, and resources to accelerate development
and enhance game quality.

C++ programming language is integral to Unreal Engine development, allowing developers to


create high-performance, scalable, and feature-rich TPS games. With C++, developers have
direct access to Unreal Engine's APIs and source code, enabling deep customization and
optimization of game logic, rendering, and networking systems. C++'s strong typing, memory
management, and object-oriented paradigm make it well-suited for building complex game
systems and AI algorithms, ensuring smooth and responsive gameplay experiences for players.

Visual Studio Code serves as a versatile and lightweight IDE for coding TPS games with Unreal
Engine, offering features such as intelligent code completion, syntax highlighting, and
integrated debugging. Its seamless integration with version control systems like Git enables
collaborative development and facilitates team communication. Visual Studio Code's
extensibility through plugins and extensions further enhances its functionality, allowing
developers to tailor their development environment to their specific needs and preferences.
PRODUCTION PIPELINE
The production pipeline for developing a TPS game involves meticulous planning, iterative
development, and continuous refinement to deliver a polished and engaging experience.
Adopting Agile methodologies such as Scrum or Kanban helps teams manage tasks, prioritize
features, and adapt to changing requirements throughout the development cycle. By breaking
down development into smaller, manageable sprints, teams can maintain momentum, track
progress, and respond quickly to feedback.

During the prototyping phase, developers create proof-of-concept gameplay mechanics and
assets to validate the game concept and gather early feedback from stakeholders. Rapid
iteration and playtesting enable developers to identify strengths, weaknesses, and
opportunities for improvement, guiding subsequent development iterations. Throughout the
production pipeline, collaboration tools such as project management software,
communication platforms, and version control systems facilitate seamless coordination and
ensure alignment among team members.

Iterative development is central to the production pipeline, allowing developers to


incrementally build, test, and refine game features and content. Continuous integration and
automated testing help maintain code quality and stability, reducing the risk of regressions
and ensuring a reliable build pipeline. By prioritizing user feedback and addressing critical
issues iteratively, developers can iterate toward a final product that meets player expectations
and delivers a compelling TPS gaming experience.
ART AND DESIGN

In the art and design phase of TPS game development, artists and designers collaborate to
create visually stunning environments, characters, and assets that bring the game world to
life. Using tools like Blender, Maya, or ZBrush, artists sculpt detailed 3D models of characters,
weapons, and environmental elements, ensuring they are optimized for performance and
visually appealing. Texturing, shading, and lighting techniques are applied to enhance realism
and create immersive atmospheres that draw players into the game world.
Environmental design is crucial in open-range TPS games, as it shapes the player's exploration
and combat experiences. Level designers craft expansive, dynamic environments that offer
diverse terrain, strategic vantage points, and interactive elements to engage players. From
sprawling urban landscapes to desolate wastelands, each environment is meticulously
designed to convey a sense of scale, atmosphere, and narrative coherence, enriching the
player's immersion and sense of agency within the game world.

UI/UX design plays a vital role in ensuring intuitive player interaction and information
presentation throughout the game. User interface designers create visually appealing and
functional HUD elements, menus, and interactive overlays that provide players with essential
feedback, instructions, and contextual information. By employing principles of usability and
accessibility, designers enhance player engagement and streamline the player experience,
enabling players to focus on the action and excitement of the gameplay.
PROGRAMMING

C++ programming lies at the heart of TPS game development, empowering developers to
implement complex gameplay mechanics, AI behaviors, and networking functionality with
precision and efficiency. Through object-oriented programming techniques, developers create
modular, reusable code that facilitates code organization, maintenance, and scalability. By
leveraging Unreal Engine's extensive API and framework, developers can access a wealth of
built-in functionality and resources to accelerate development and enhance game
performance.

Gameplay programming involves implementing player controls, combat mechanics, and


interaction systems that enable players to navigate the game world and engage in dynamic
combat encounters. From responsive character movement and aiming mechanics to realistic
weapon behavior and physics interactions, developers strive to create fluid and immersive
gameplay experiences that feel intuitive and satisfying for players. By fine-tuning gameplay
mechanics and balancing player abilities, developers can ensure a rewarding and enjoyable
player experience.
AI programming is essential for creating challenging and immersive enemy encounters in TPS
games, as AI-controlled opponents adapt to player actions, exhibit realistic behaviors, and
provide dynamic gameplay challenges. Through behavior tree systems, finite state machines,
and procedural algorithms, developers design AI behaviors that respond intelligently to
changing game conditions, coordinate with teammates, and employ tactics to outmaneuver
players. By iterating on AI behavior and integrating player feedback, developers can create
compelling and memorable enemy encounters that enhance the overall gameplay experience.
TESTING AND QUALITY
ASSURANCE

Testing and quality assurance (QA) are critical phases in TPS game development to ensure a
polished and bug-free player experience. Unit testing, integration testing, and regression
testing are performed throughout the development process to identify and resolve software
defects early. Automated testing tools and frameworks are utilized to streamline testing
workflows and ensure consistent test coverage across different game systems and platforms.

Bug tracking and resolution are integral components of the QA process, as developers use
issue tracking systems like Jira or GitHub Issues to log, prioritize, and assign bugs for
resolution. Through effective communication and collaboration between developers, testers,
and stakeholders, bugs are triaged, investigated, and resolved in a timely manner, minimizing
disruption to the development schedule and ensuring a stable build for testing and
deployment.

User acceptance testing (UAT) involves gathering feedback from external playtesters and
stakeholders to evaluate the game's usability, performance, and overall quality. Playtesting
sessions are conducted to identify gameplay issues, gather qualitative feedback, and validate
design decisions. By incorporating player feedback into the development process, developers
can iteratively improve the game's features, mechanics, and content to better align with player
expectations and preferences.
LAUNCH AND POST-LAUNCH
SUPPORT

The launch phase marks the culmination of TPS game development, as developers prepare to
release the game to the public on digital distribution platforms such as Steam or the Epic
Games Store. Launch activities include finalizing build configurations, preparing marketing
materials, and coordinating release dates with platform partners. Developers also engage with
the gaming community through social media, forums, and press releases to generate
excitement and anticipation for the game's release.

Post-launch support is crucial for maintaining player engagement and addressing any issues
or concerns that arise after release. Developers provide ongoing updates, patches, and
content expansions to enhance the game's longevity and replay value. Community
management efforts focus on fostering a positive and inclusive player community, addressing
player feedback, and addressing any technical or gameplay issues reported by players. By
continuously supporting and engaging with the player community, developers can build a loyal
fan base and ensure the long-term success of the TPS game.

Integrating Steam's features into your multiplayer game can greatly enhance the player
experience and streamline the development process. Focus on proper integration of
authentication, matchmaking, networking, communication, stat tracking, cloud storage,
content updates, community features, anti-cheat measures, monetization, and thorough
testing to make the most out of Steam's platform.
CONCLUSION
In conclusion, the development and design of a third-person shooter game using Unreal
Engine, C++, and Visual Studio Code present a complex yet rewarding journey for game
developers. By leveraging the powerful features and tools provided by Unreal Engine,
developers can create visually stunning, feature-rich games with immersive gameplay
experiences. The integration of C++ programming language enables developers to implement
intricate game mechanics, optimize performance, and create dynamic AI behaviors. Visual
Studio Code serves as a versatile and efficient IDE for coding, offering developers a
streamlined workflow and powerful debugging capabilities. Through meticulous planning,
iterative development, and continuous testing, developers can deliver polished and engaging
TPS games that captivate players worldwide.
REFERENCES
• Player Progression and Customization

Implementation of player progression systems, including experience points, skill trees,


and unlockable abilities.
Customization options for player characters, weapons, and equipment, allowing players
to personalize their gameplay experience.

• Dynamic World Events and Challenges

Integration of dynamic world events and challenges that occur spontaneously within
the game world, providing players with unique gameplay experiences.
Creation of dynamic weather systems, day-night cycles, and environmental hazards that
influence gameplay and challenge players to adapt their strategies.

• Cross-Platform Compatibility

Ensuring cross-platform compatibility and optimization for various gaming platforms,


including PC, consoles, and mobile devices.
Implementation of cross-platform multiplayer functionality, allowing players to
seamlessly connect and play together across different devices and platforms.

• Community Engagement and Live Events

Organizing live events, tournaments, and in-game promotions to engage the player
community and foster a sense of camaraderie among players.
Implementing community-driven features such as user-generated content, modding
support, and community challenges to empower players and enhance replayability.

• Post-Launch Analytics and Monetization

Utilizing post-launch analytics tools to gather player data, track player behavior, and
inform future development decisions.
Implementing monetization strategies such as in-game purchases, downloadable
content (DLC), and subscription services to sustain ongoing development and support
for the game.
APPENDIX
• Game Design Document (GDD) Excerpt

Sample sections from the game design document outlining key features, mechanics,
and content of the TPS game.
Includes descriptions of characters, weapons, levels, gameplay progression, and
multiplayer modes.

• Development Timeline

Visual representation of the project timeline, including milestone dates, development


phases, and key deliverables.
Provides a chronological overview of the development process from concept to
launch.

• Code Snippets

Selected excerpts of C++ code showcasing implementation of key game systems,


mechanics, and features.
Includes snippets for player movement, weapon behavior, AI algorithms, networking
functionality, and UI/UX elements.

• Art Assets Showcase

Collection of concept art, 3D models, textures, animations, and environmental designs


created during the art and design phase.
Provides a visual representation of the game's aesthetic style, character designs, and
environment concepts.

• Playtesting Feedback Summary

Compilation of feedback and observations gathered from playtesting sessions with


external playtesters and stakeholders.
Includes qualitative feedback, bug reports, and suggestions for improvement collected
throughout the development cycle.
• Marketing and Promotional Materials

Samples of marketing materials, including trailers, promotional images, press releases,


and social media posts.
Highlights key selling points, features, and gameplay footage to generate interest and
anticipation for the game's release.

• Post-Launch Support Plan

Outline of post-launch support activities, including plans for updates, patches, DLC
releases, and community engagement initiatives.
Provides a roadmap for ongoing development, support, and maintenance of the TPS
game following its release.

• References and Citations

Comprehensive list of references, citations, and resources consulted during the


research and development process.
Includes academic papers, articles, books, tutorials, and online documentation
relevant to TPS game development, Unreal Engine, C++ programming, and Visual
Studio Code.
LIST OF TABLES
Table 1: Project Timeline
A chronological overview of the project milestones, development phases, and key
deliverables.
Table 2: Player Progression and Customization
Details of player progression systems, including experience points, skill trees, and unlockable
abilities.
Table 3: Dynamic World Events and Challenges
Description of dynamic world events, challenges, and environmental hazards that influence
gameplay.
Table 4: Cross-Platform Compatibility
Platforms supported and optimization details for PC, consoles, and mobile devices.
Table 5: Post-Launch Support Plan
Outline of post-launch support activities, including updates, patches, and community
engagement initiatives.
Table 6: Playtesting Feedback Summary
Compilation of feedback gathered from playtesting sessions, including bug reports and player
suggestions.
Table 7: Marketing and Promotional Materials
Samples of marketing materials, including trailers, promotional images, and social media
posts.
Table 8: Contributions to Unified Thesis
Breakdown of individual contributions to the unified thesis, highlighting each member's role
and expertise.
Table 9: References and Citations
Comprehensive list of references, citations, and resources consulted during the research and
development process.
LIST OF FIGURES
Figure 1: Unreal Engine Logo
Representation of the Unreal Engine logo, symbolizing the primary game development
platform used in the project.
Figure 2: Visual Studio Code Logo
Depiction of the Visual Studio Code logo, signifying the integrated development environment
(IDE) utilized for coding.
Figure 3: Concept Art
Visual representation of concept art created during the design phase, showcasing characters,
environments, and visual style.
Figure 4: Gameplay Mechanics Diagram
Diagram illustrating key gameplay mechanics, such as player movement, combat interactions,
and environmental interactions.
Figure 5: AI Behavior Tree
Visualization of an AI behavior tree, demonstrating the decision-making process and actions
of non-player characters (NPCs) in the game.
Figure 6: Level Design Sketch
Sketch depicting the layout and design of a game level, including terrain features, obstacles,
and points of interest.
Figure 7: UI/UX Wireframe
Wireframe design illustrating the user interface (UI) and user experience (UX) elements,
including HUD elements, menus, and interactive overlays.
Figure 8: Gameplay Trailer
Video thumbnail or screenshot from the gameplay trailer, showcasing gameplay footage and
highlighting key features of the TPS game.
Figure 9: Player Customization Screen
Screen capture or mockup of the player customization screen, demonstrating options for
customizing player characters, weapons, and equipment.
Figure 10: Environmental Effects
Visual representation of dynamic environmental effects, such as weather changes, lighting
variations, and particle effects.
Figure 11: Multiplayer Lobby Interface
Interface design for the multiplayer lobby, showing options for matchmaking, player
customization, and party management.
Figure 12: Community Engagement Graphic
Infographic or visual representation of community engagement initiatives, including social
media outreach, forums, and player events.
These figures complement the research paper by providing visual representations of key
concepts, designs, and elements discussed throughout the document.
LIST OF ABBREVIATIONS
TPS - Third-Person Shooter
GDD - Game Design Document
IDE - Integrated Development Environment
AI - Artificial Intelligence
UI - User Interface
UX - User Experience
DLC - Downloadable Content
API - Application Programming Interface
HUD - Heads-Up Display
PC - Personal Computer
NPC - Non-Player Character
Agile - Agile Software Development Methodology
UAT - User Acceptance Testing
QA - Quality Assurance
DLC - Downloadable Content
VR - Virtual Reality
AR - Augmented Reality
MVP - Minimum Viable Product
FPS - First-Person Shooter
These abbreviations are used throughout the research paper to provide concise references to
key terms and concepts discussed in the text.
LIST OF SYMBOLS
As the research paper doesn't have any heavily feature mathematical or scientific content,
there might not be a significant number of symbols used. However, if symbols are present,
they could include:

$\alpha, \beta, \gamma$: Greek symbols used to represent variables or parameters.


$\rightarrow$: Arrow symbol indicating direction or transition.
$\Sigma$: Summation symbol.
$\forall$: Universal quantifier symbol.
$\epsilon$: Epsilon symbol used in mathematics to denote a small positive quantity.

You might also like