Download as docx, pdf, or txt
Download as docx, pdf, or txt
You are on page 1of 15

SPACE SHOOTER

Synopsis submitted

to

Shri Guru Ram Rai University in the partial fulfilment of the requirement for
the degree of

Bachelor of Science in Information Tecchnology (BSc. IT)

Name of Student: Sriniwas Jyothika

Class with Semester:BSc. IT VIth Sem

Enrollment No.:R210530081

Batch: 2021-2024

Supervisor:
Mr.Harish Sharma
Department of Information Technology
School of Computer Applications &Information Technology
SGRR University, Dehradun, Uttarakhand, India

SHRI GURU RAM RAI UNIVERSITY


Patel Nagar Dehradun-248001, Uttarakhand
SHRI GURU RAM RAI UNIVERSITY
Patel Nagar, Dehradun-248001, Uttarakhand, India
(Estd. by Govt. of Uttarakhand, vide Shri Guru Ram Rai University Act no. 03 of 2017)

Certificate
This is to certify that Mr./Ms Sriniwas Jyothika, a student of Bachelor of Science in
Information Technology (BSc. IT) at Department of Computer Application of School of CA &
IT, Shri Guru Ram Rai University, Patel Nagar, Dehradun will work on the topic entitled “Space
Shooter” under my supervision and guidance at DepartmentInformation Technology, School of
Computer Application & Information Technology for the partial fulfillment of requirement for
the degree of BSc. IT(Session 2019-2022).

Date……………. Supervisor

ii
SHRI GURU RAM RAI UNIVERSITY
Patel Nagar, Dehradun-248001, Uttarakhand, India
(Recognized by UGC u/s 2(f) of UGC Act, 1956)

PROFORMA FOR THE APPROVAL OF PROJECT PROPOSAL

Name of the Students Sriniwas Jyothika .

Course __ Bsc-IT Batch 2021-24 University Enrolment No. __ R210530081_____

Title of the Project __Space Shooter ________________________________

Name of the Guide ___Mr.Harish Sharma______________________________

Working / Teaching experience of the Guide ____Associate Professor___________

Software used in the Project ___Pycharm Python_____________

Signature of the Student Signature of the Guide

Date: ____________ Date: ___________

iii
Declaration by Student

I hereby declare that the synopsis of proposed project work entitled Space Shooter in fulfillment
of the requirements for the award of degree of Bachelor of Science in Information Technology to
Department of Computer Application of School of Computer Application & Information
Technology, Shri Guru Ram Rai University, Patel Nagar, Dehradun, Uttarakhand is an authentic
project work will be carried out by me under the expert guidance as well as direct supervision of
Mr Harish Sharma. I further declare that the material obtained from other sources has been
duly acknowledged in the synopsis.

Signature……………………..

Name:

EnrollmentNo.:……………..

Department of IT

School of CA & IT

iv
Table of Contents

S.No. Chapter Page no.


1 Introduction of the game
2 Working of the project
3 System Description
4 System Requirement
5 DFD
6 Project Lifecycle
7 Key Points
8 Conclusion

v
Introduction of the game

Reminiscent of many "shoot 'em up" video games from the early
eighties- Space Shooter is an arcade game developed using Python as a
programming language.

Although built to be simplistic, the mechanics of this game are pretty


dynamic. Moreover, the game also has engaging gameplay.

The player starts the game with three lives and has to constantly shoot
and dodge to save themselves from being wiped out by a constant
oncoming barrage of asteroids. A hit from an asteroid causes the
player's health to decrease. While smaller asteroids deal lesser damage,
larger asteroids will deal a heavier blow to your health bar. Once the
player's health bar runs out, they lose a life.

This game also features two types of power-ups. While one boosts your
defence by replenishing your health, the other improves your attack by
doubling and tripling your rate of fire and increasing the damage dealt.

As a player’s score increases, the game bumps up the difficulty by


increasing the frequency of the falling asteroids. Thereby, ensuring the
player stays engaged and alert.

vi
Working of the Project

Pygame is a cross-platform set of Python modules which is used to


create video games.

It consists of computer graphics and sound libraries designed to be


used with the Python programming language.

Pygame was officially written by Pete Shinners to replace PySDL.

Pygame is suitable to create client-side applications that can be


potentially wrapped in a standalone executable.

The project basically uses the pygame module. We use images and
animate the images using pygame module. We use pygame module to
do button mapping and several other display function. We use classes
to call functions after every iteration of the game level

vii
System Description

The system comprises of 1 major module with their sub-modules


as follows:

User:

 Main menu screen


- Introductory screen
- Logo of the app
- Start/save/load/quit options

 Game play screen


- Playing the game

 Pause menu screen


You can quit the game or go to menu screen

viii
System Requirement

I. Hardware Requirement

i. Laptop or PC
 I3 processor system or higher
 4 GB RAM or higher
 100 GB ROM or higher

II. Software Requirement

ii. Laptop or PC
 Windows 7 or higher
 Vs code
 Python 3.7
 Pygame library

ix
Data Flow Diagram (DFD)

Level 0 DFD:

Game System: Represents the entire game system.


Player Input: Receives input from the player through keyboard or
controller.
Game Logic: Processes player input and controls game flow.
Game Output: Displays game visuals to the player.
Level 1 DFD:

Player Input:
Control Input: Receives commands from the player (e.g., move left,
shoot).
Game Logic:
Player Control: Manages player movement and actions.
Enemy Control: Controls enemy behavior, spawning, and movement.
Collision Detection: Detects collisions between player, enemy, and
projectiles.
Game State Management: Tracks game state (e.g., current level, player
score, remaining lives).

x
Game Output:
Visual Rendering: Displays game graphics, including player ship,
enemies, backgrounds, and UI elements.
Level 2 DFD (Detailed Processes):

Player Control:
Movement: Processes player movement input.
Shooting: Handles player's shooting actions.
Power-up Activation: Manages power-up activation triggered by player
actions.
Enemy Control:
Spawn Enemies: Generates enemy units based on game progression.
Enemy Behavior: Defines enemy movement patterns and attack
behaviors.
Boss Encounters: Manages unique behaviors and phases for boss
enemies.
Collision Detection:
Player-Enemy Collision: Checks for collisions between player ship and
enemy units.
Projectile Collision: Determines if player projectiles hit enemies or vice
versa.
Power-up Collection: Detects when the player collects power-ups.
Game State Management:
xi
Level Progression: Controls the transition between game levels.
Score Tracking: Updates player score based on actions and
achievements.
Player Health/Lives: Manages player's health and lives.
Visual Rendering:
Object Rendering: Renders player ship, enemies, projectiles, and
environment elements.
User Interface (UI): Displays score, health, lives, and other game-related
information.

xii
Project Lifecycle

The waterfall model is a classical model used in system development


life cycle to create a system with a linear and sequential approach. It is
termed as waterfall because the model develops systematically from
one phase to another in downward fashion. The waterfall approach
does not define the process to go back to the previous phase to handle
changes in requirement. The waterfall approach is the earliest
approach that was used for software development

xiii
Key Points

a) Dynamic Gameplay:
As players high score increases, the difficulty of the game
gradually gets harder.

b) Power-ups:
While one type of power-up replenishes the player’s health,
the other increases their firepower. Thereby, ensuring that
the game remains interesting.

c) Complex Mechanics:
Small asteroids have a lesser toll on the player’s health bar
while larger asteroids deal a comparatively heavier damage.

xiv
Conclusion

In conclusion, developing a space shooter game in Python offers a


rewarding opportunity to create an immersive and exciting
gaming experience. By leveraging Python's versatility and
extensive libraries such as Pygame or Pyglet, developers can
implement engaging gameplay mechanics, stunning visuals
effects to captivate players.

Python's ease of use and extensive community support make it


accessible for both novice and experienced developers to create
their own space shooter games. Whether it's a solo project or a
collaborative effort, the process of designing, coding, and testing
a space shooter game in Python can be a fulfilling and
educational experience for game development enthusiasts.

In the end, the success of a space shooter game in Python hinges


on creativity, attention to detail, and the ability to deliver an
immersive and enjoyable gaming experience that keeps players
coming back for more interstellar adventures.

xv

You might also like