You are on page 1of 14

`

SPACE SHOOTER GAME USIN`G PYTHON

A PROJECT REPORT

Submitted by

Manuj(21BCS2709)
MRITUNJAY (21BCS9183)
HIMANSHU RAI
(21BCS9259)
Shivam Kumar Mishra(21BCS2564)

in partial fulfillment for the award of the degree of

BACHELOR OF ENGINEERING

IN

COMPUTER SCIENCE ENGINEERING

Chandigarh University

1
`

Feb 2023

2
`

BONAFIDE CERTIFICATE

Certified that this project report “SPACE SHOOTER USING PYTHON” is the
bonafide work of “HIMANSHU RAI, MRITUNJAY, MANUJ, SHIVAM
KUMAR MISHRA” who carried out the project work under my/our supervision.

SIGNATURE SIGNATURE

HEAD OF THE DEPARTMENT SUPERVISOR

INTERNAL EXAMINER EXTERNAL EXAMINER

3
`

TABLE OF CONTENTS

CHAPTER 1. INTRODUCTION.......................................................................5-8
Identification of Client/ Need/ Relevant Contemporary issue...................................................5

Identification of Problem...........................................................................................................6

Identification of Tasks...............................................................................................................6

Timeline.....................................................................................................................................7

Organization of the Report........................................................................................................8

4
`

ABSTRACT

The space shooter game is a thrilling and action-packed game that takes place in
outer space. Currently, on Playstore, there are already space shooter games but we
are into making a game where players can actually fight on multiplayer level with
more combat actions. In the game, players control a spaceship and must navigate
through a dangerous and hostile environment filled with alien enemies and obstacles.
The game features various levels, each with its own unique challenges and enemies.
As the player progresses through the levels, the difficulty increases, and new enemies
and obstacles are introduced. The graphics and sound effects in the game are
designed to create an immersive experience, with vibrant colors and explosive
effects. The game is easy to learn, but difficult to master, making it a popular choice
for gamers of all skill levels. Overall, the space shooter game offers an exciting and
entertaining experience that combines fast-paced action with strategic gameplay.
Multiplayer modes are also a common feature in space shooter combat games. These
allow players to compete against each other in space battles. Players can either team
up to take on enemy ships or compete against each other to see who can defeat the
most enemies or earn the most points. Some popular examples of space shooter
combat games include Star Fox, R-Type, and Gradius. These games offer an
immersive and thrilling gameplay experience for players who enjoy fast-paced action
and challenging gameplay in a sci-fi setting. The space shooter combat game genre
offers players a thrilling and exciting gameplay experience that has been popular for
decades. With the ability to customize spacecraft, collect power-ups, face challenging
enemies, and engage in multiplayer battles, these games provide endless hours of fun
for players. Whether you're a long-time fan of the genre or new to space shooter
combat games, there's always something new and exciting to discover in this exciting
and evolving genre.

5
`

CHAPTER 1
INTRODUCTION

1.1 Identification of Client /Need / Relevant Contemporary issue

1.1.1 Client:
The client for a space shooter game could be a video game company that specializes in
creating action-packed, sci-fi games. Alternatively, the client could be an independent
game developer or a team of developers who are interested in creating a space shooter
game.

1.1.2 Need:
The need for a space shooter game would be to provide an entertaining and engaging
gaming experience for players who enjoy sci-fi themes and action-packed gameplay. The
game should have a good balance of challenge and reward to keep players engaged, and
should also provide a visually stunning and immersive experience to capture players'
imaginations.

1.1.3 Relevant Contemporary Issue:


One relevant contemporary issue for a space shooter game could be the growing interest in
space exploration and space travel. As private space companies like SpaceX and Blue
Origin continue to make strides in commercializing space travel, interest in space-related
themes and concepts is increasing. Additionally, the recent launch of the Perseverance rover
on Mars highlights the continued interest in exploring the possibilities of space travel and
colonization.

Another relevant contemporary issue could be the use of virtual reality (VR) technology
in gaming. VR allows players to fully immerse themselves in a game world and provides
a level of interactivity and immersion that traditional gaming cannot. By incorporating
VR technology into a space shooter game, developers could create a truly unique and
captivating experience for players.

1.1.4 Finally, with the growing concern around climate change, a space shooter game could
explore the theme of escaping a dying Earth and seeking refuge in the depths of space.
This could raise awareness about the importance of environmental conservation and
sustainability while also providing a thrilling gaming experience.

6
`

1.2 Identification of Problem

1.2.1 One problem that could arise in a space shooter game is balancing the difficulty level to
keep players engaged without making the game too challenging or too easy. If the game is
too easy, players may lose interest quickly and stop playing. On the other hand, if the
game is too difficult, players may become frustrated and abandon the game altogether.

1.2.2 Another problem could be lack of variety in the gameplay. If the player is only shooting
at the same enemies in the same way throughout the game, it can become monotonous
and boring. This could lead to players losing interest and abandoning the game.

1.2.3 A third problem could be poor controls or user interface design. If the controls are not
intuitive or the user interface is cluttered and confusing, it could lead to frustration
and dissatisfaction among players.

1.3 Identification of Tasks

1.3.1 Game Design: The first task in creating a space shooter game would be to design the game.
This would involve developing a concept, creating the game world, designing the
characters and enemies, and determining the game mechanics and rules.

1.3.2 Programming: The second task would be to program the game. This would involve
coding the game mechanics, controls, and user interface, as well as integrating audio and
visual elements.

1.3.3 Level Design: The third task would be to design the levels. This would involve creating
the layout of the game, placing enemies and obstacles, and designing the progression of
difficulty.

1.3.4 Art and Graphics: The fourth task would be to create the artwork and graphics for the
game. This would include designing the characters, enemies, and game environment, as
well as creating the game's visual effects.

1.3.5 Sound Design: The fifth task would be to design the game's audio. This would involve
creating sound effects for the game's actions, as well as designing the game's
soundtrack.

1.3.6 Quality Assurance: The sixth task would be to test the game to ensure it is free of bugs and
errors. This would involve testing the game's mechanics, controls, and user interface, as
well as the game's audio and visual elements.

1.3.7 Marketing: The seventh task would be to market the game. This would involve
creating promotional materials, reaching out to potential customers.

1.3.8 User Feedback: The eighth task would be to gather user feedback and make improvements
to the game. This would involve analyzing player data, identifying areas for improvement,
and making updates to the game based on player feedback.
7
`

1.4 Timeline

Timeline for the development of a space shooter game:

1.4.1 Conceptualization and planning: The game development team comes up with the idea for
a space shooter game and starts planning out the basic mechanics, storyline, and
characters.

1.4.2 Pre-production: The team creates concept art, models, and storyboards to flesh out
the game's visual style and narrative.

1.4.3 Prototyping: The team creates a basic prototype of the game mechanics to test out
the gameplay and make adjustments as needed.

1.4.4 Production: The team works on creating the game assets, including models, textures, music,
and sound effects. They also start implementing the game mechanics, levels, and storyline.

1.4.5 Alpha testing: The team releases an alpha version of the game to a select group of testers to
get feedback on the gameplay and identify any bugs or glitches.

1.4.6 Beta testing: The team releases a more polished beta version of the game to a larger
group of testers to further refine the gameplay and fix any remaining issues.

1.4.7 Release: The game is officially released to the public on a chosen platform(s), and the
team continues to provide updates and support as needed.

1.4.8 Post-release: The team monitors player feedback and makes updates and fixes as
necessary to keep the game running smoothly and improve the overall player experience.

1.4.9 Expansion or sequel: Depending on the success of the initial release, the team may
choose to create an expansion pack or sequel to continue the story and gameplay of the
original game.

Gantt chart timeline for the development of a space shooter game:

8
`

1.5 Organization of the Report

The organization of a report on a space shooter game may vary depending on the specific
requirements of the report and the type of game being analyzed. However, a general structure
that can be followed is:

1.5.1 Introduction:
The introduction should provide background information on the game, including its title,
developer, and platform(s) on which it is available. The introduction should also briefly
discuss the purpose of the report, the scope of the analysis, and the methods used to evaluate
the game.

1.5.2 Game Overview:


The game overview section should provide a general overview of the game, including its
gameplay mechanics, story, and setting. This section should also include a description of the
game's controls and any unique features that make the game stand out.

1.5.3 Gameplay Analysis:


In the gameplay analysis section, the game's mechanics and gameplay should be analyzed in
detail. This may include discussions of the game's difficulty level, pacing, and balance. The
analysis should also cover any glitches or bugs encountered during gameplay and how they
impact the overall experience.

1.5.4 Storyline Analysis:


The storyline analysis section should evaluate the game's story and how it is presented to
the player. This section may also include an evaluation of the game's characters,
dialogue, and overall narrative structure.

1.5.5 Audiovisual Analysis:


The audiovisual analysis section should evaluate the game's graphics, sound effects,
and music. This section may include discussions of the game's art style, visual effects,
and overall presentation.

1.5.6 Conclusion:
The conclusion should summarize the key findings of the report and provide an
overall evaluation of the game. The conclusion should also discuss any
recommendations for improvements or modifications that could enhance the game's
overall quality.

1.5.7 References:
The references section should list any sources used in the report, including books,
articles, and websites. This section may also include a list of any additional resources that
may be helpful for readers who are interested in learning more about the game

9
`
CHAPTER 2

LITERATURE REVIEW/BACKGROUND STUDY

2.1 Timeline of the reported problem

Some major timeline of the project are as follows:

• 1972: The release of Pong, the first commercially successful video game, introduced the concept of
multiplayer gaming.

• 1980: The game Pac-Man popularized the concept of power-ups and bonus items.

• 1985: The release of Super Mario Bros. introduced side-scrolling gameplay and the use of game
controllers with directional pads.

• 1991: The release of Street Fighter II popularized the use of combo moves and special attacks in
fighting games.

• 1992: Wolfenstein 3D introduced the concept of first-person shooters.

• 1998: The release of Half-Life introduced the concept of narrative-driven first-person shooters.

• 2004: World of Warcraft popularized the use of massive multiplayer online role-playing games
(MMORPGs).

• 2006: The release of Gears of War introduced the concept of cover-based shooting mechanics.

• 2009: Minecraft popularized the use of procedurally generated worlds in sandbox-style games.

• 2017: PlayerUnknown's Battlegrounds and Fortnite popularized the battle royale genre of games.

1
`

2.2 Existing solutions

There are many existing solutions for creating space shooter games using Python. Here are some
popular libraries, frameworks, and engines for developing space shooter games:

2.2.1 Pygame: Pygame is a popular Python library for game development that provides functionality for
graphics, sound, input handling, and other game development tasks. It is a widely-used library for
developing 2D games, including space shooter games.

2.2.2 Panda3D: Panda3D is a free, open-source, and cross-platform game engine that provides a
complete set of tools for developing 3D games, including space shooter games. It supports Python
scripting and provides features such as real-time rendering, physics simulation, and audio and
input handling.

2.2.3 Godot Engine: Godot Engine is a popular free and open-source game engine that supports Python
scripting. It provides a complete set of tools for developing 2D and 3D games, including space
shooter games. Godot Engine supports multiple platforms and has a large community of
developers and users.

2.2.4 Arcade: Arcade is a Python library for game development that provides a simple and easy-to-use
interface for creating 2D games, including space shooter games. It provides built-in support for
graphics, sound, and input handling, and has a growing community of developers and users.

2.2.5 PyOpenGL: PyOpenGL is a Python wrapper for the OpenGL graphics library, which provides
high-performance rendering and graphics processing capabilities. It can be used for developing
both 2D and 3D games, including space shooter games.

These are just a few examples of existing solutions for creating space shooter games using Python. The
choice of library, framework, or engine will depend on the specific requirements of the game and the
developer's skillset and preferences.

2.3 Bibliometric analysis

2.3.1 To conduct a bibliometric analysis of space shooter game using Python, we would need to first
identify relevant databases and search terms. Some potential databases to search for articles and
papers on this topic might include:

 IEEE Xplore Digital Library


 ACM Digital Library
 Scopus
 Web of Science

1
`
2.3.2 Some potential search terms might include:

 "space shooter game"


 "Python game development"
 "Pygame"
 "Panda3D"
 "Godot Engine"
 "Arcade game development"
 "PyOpenGL"
 "Python and game design"

Once the search terms and databases are identified, we can use bibliometric analysis tools such as
VOSviewer or CiteSpace to analyze the resulting publications. These tools can help to identify key
authors, institutions, and topics related to space shooter game development using Python.

2.3.3 Some potential metrics to analyze might include:

 Total number of publications on the topic over time


 Number of citations per publication
 Author and institutional collaborations
 Top cited publications

2.3.4 Most frequent keywords and topics:


By conducting a bibliometric analysis of space shooter game development using Python, we can
gain insights into the trends, patterns, and impact of research in this area. This information can be
useful for researchers, developers, and other stakeholders who are interested in this field.

2.4 Review Summary

A Space Shooter game developed using Python can be a fun and challenging project for beginners and
experienced programmers alike. It requires knowledge of various programming concepts such as game
physics, collision detection, and event handling.

The review of such a project would depend on several factors, such as the quality of graphics, user interface,
sound effects, and gameplay mechanics. It is also important to consider the level of difficulty, the number of
levels, and the overall complexity of the game.

Overall, a well-designed and implemented space shooter game using Python can be an impressive
demonstration of programming skills and can provide an enjoyable gaming experience for users.

Best practices we exercise to build this project are:

Focusing on game mechanics: The gameplay mechanics are the core of any game, and it's essential to make
sure they're engaging, challenging, and fun. Focus on creating a game that is easy to learn but hard to master,
and make sure the controls are intuitive and responsive.

1
`
Planning the game's architecture: Planning the architecture of our game before starting development.
Decide on the structure of our code, the modules you'll use, and how the different parts of your game will
interact with each other.

Using a game engine: Using a game engine can save you us lot of time and effort in creating a game. Python
has many game engines like Pygame, PyOpenGL, and PyOgre that can make game development much
easier.

Optimizing our code: Space shooter games can be quite demanding, and it's important to optimize our code
to ensure smooth gameplay. Using the appropriate data structures, avoid expensive operations, and test your
game on different machines to ensure it performs well on different systems.

Testing our game thoroughly: Testing is crucial in game development. We Make sure that we test our game
on different systems, use cases, and edge cases to ensure it's stable, and the gameplay is smooth.

Overall, developing a space shooter game using Python can be a fun and rewarding experience. By focusing
on the game mechanics, planning the game's architecture, using a game engine, optimizing your code, and
testing thoroughly, you can create an engaging and fun game that will keep players coming back for more.

2.5 Problem Definition

2.5.1 The problem definition for a space shooter game using Python was to create a fun and engaging
game that provides an enjoyable user experience for players. The game should be challenging, yet
not too difficult, and should include a variety of enemies and obstacles to keep the player
engaged.

2.5.2 The game should have a clear and intuitive user interface, with easy-to-understand controls that
allow the player to manoeuvre their spaceship and fire their weapons. The game should also
include sound effects and music to enhance the player's experience.

2.5.3 From a technical perspective, the problem definition would include designing and implementing
the game mechanics, such as collision detection, movement physics, and enemy behaviour. The
game would need to be optimized for performance to ensure smooth gameplay on a variety of
computer systems.

2.5.4 It will also include testing and debugging the game to identify and fix any issues that might arise
during gameplay. Finally, the game should be designed to be extensible, so that new levels,
enemies, and features can be added in the future to keep the game fresh and engaging for players
over time.

Overall, the problem definition for a space shooter game using Python is to create a well-designed and
technically sound game that provides a fun and engaging user experience for players.

1
`
2.6 Goals/Objectives

The goals and objectives of a space shooter game using Python can be broadly classified into two
categories - player goals and developer goals.

2.6.1 Player Goals:


2.6.1.1 Enjoyment:
The primary objective of a space shooter game is to provide an entertaining and engaging
experience for players. The game should be challenging, yet not too difficult, and should
provide players with a sense of accomplishment as they progress through the levels.

2.6.1.2 Engagement: To keep players engaged, the game should include a variety of enemies,
obstacles, and power-ups to make the gameplay interesting and exciting. The game should
also have a sense of progression, with increasing difficulty levels as the player advances
through the game.

2.6.1.3 User Experience: The game should have an intuitive and easy-to-use interface, with clearly
defined controls and visual indicators to help the player understand what is happening on
screen. The game should also include sound effects and music to enhance the player's
experience.

2.6.2 Developer Goals:

2.6.2.1 Technical Proficiency: One of the primary objectives of creating a space shooter game
using Python is to develop technical skills in Python programming and game development.
The game should be designed to showcase the developer's technical skills, including
object-oriented programming, game mechanics, and performance optimization.

2.6.2.2 Code Reusability: The game should be designed to be modular, with reusable code
components that can be easily modified and extended for future game development
projects.

2.6.2.3 Innovation: The game should incorporate new and innovative features that set it apart from
other space shooter games on the market. This could include unique game mechanics,
power-ups, or enemy types that have not been seen in other games.

Overall, the goals and objectives of a space shooter game using Python are to provide an enjoyable and
engaging experience for players while also showcasing the developer's technical skills and creativity.

You might also like