Professional Documents
Culture Documents
A Mini-Project Report
Submitted
ubmitted in partial fulfillment of the requirements
for the degree of
Bachelor of Technology
in
Computer Science & Engineering
by
Mini
Mini-Project Lab (KCS-554)
1.1 Introduction:
1.1.1 Motivation:
To create a straightforward Python
Python-based FPS game named “DUSK”,, because of deep passion
for game development.Our motivation is rooted in the belief that by using a widely accessible
and easy-to-understand
understand programming language like Python, we can open the doors of game
development to a broader audience.
Ultimately, the motivation behind this project is to provide a stepping stone for individuals
interested in game development, using Python as a vehicle to bridge the gap between game
design enthusiasts and the captivating world of FPS games.
In conclusion, the project's scope focuses on creating a foundational FPS game using
Python and ray casting, targeting simplicity and accessibility, with basic game
mechanics.
1.2 Software and Hardware requirements:
The hardware prerequisites for developing and running the Python-based FPS game utilizing
ray casting for 3D projection are kept to a minimum to ensure accessibility and ease of use.
The key hardware components needed include a standard computer system with a compatible
operating system (e.g., Windows, macOS, or Linux) and basic input and output peripherals.
2) Input Devices: Basic input devices, including a keyboard and mouse, are necessary for
both game development and gameplay. These input devices will enable users to interact
with the game during development and to play the FPS game once it's completed.
3) Output Display: A monitor or screen capable of displaying Python applications and games
is required. The display should support the chosen operating system's resolution
requirements to ensure proper rendering of the game.
4) Audio Output: If the game includes sound effects or background music, a system with
audio output capabilities, such as built-in speakers or external headphones or speakers, is
necessary to experience the audio components of the game.
These hardware requirements are intentionally kept basic and straightforward to ensure that the FPS
game can be developed and enjoyed on a wide range of computer systems, promoting accessibility and
inclusivity in the gaming experience.
1.3 Proposed Method:
1) Conceptualization and Planning:
Creation of a basic first-person shooter (FPS) game in Python, employing ray casting as the
method for achieving 3D projection. The project includes the development of essential game
mechanics and functionalities necessary for a playable FPS experience.The project does not
extend to the development of a full-featured FPS game with advanced gameplay elements,
extensive level design, or complex enemy AI. While it introduces ray casting for 3D
projection, it does not explore advanced rendering techniques or sophisticated graphics.
2) Environment Setup:
Libraries: The python game development library “pygame” was used for the development
of the project. Other libraries that were utilized in the development process were math and
os. The math library was used to perform trigonometrical calculations for 3D projection
using raycasting.
Game Loop:
The game loop is at the heart of the framework. It controls the flow of the game by
repeatedly executing essential functions such as updating game state, rendering graphics,
and handling player input. A properly structured game loop ensures smooth gameplay.
Rendering Window:
The rendering window provides the visual canvas where the game world and its elements
are displayed. It defines the dimensions, resolution, and aspect ratio of the game screen.
This window is where ray casting techniques will be applied to create the 3D projection
effect.
Handling player input is vital for player interaction with the game. This includes capturing
keyboard and mouse input to control the player's movement, aiming, and other actions
within the game world.
Player Character:
The player character is the central entity within the game. It encompasses the player's
representation, health, ammunition, and other attributes. The framework sets up the player
character and its initial properties.
Collision Detection:
To create a responsive and immersive game world, collision detection is necessary. The
basic framework should include collision detection mechanisms to detect interactions
between the player and the game environment, as well as any oth
other
er entities.
1.4 Deliverables
Deliverables:
The developers and creators of the FPS game, including programmers, designers, and artists, are
deeply involved in the project. They are responsible for the conceptualization, design, and
implementation of the game.
2) Players:
Players, both potential and existing, are the primary customers and end-users of the FPS game.
Their experience, enjoyment, and feedback are crucial to the success of the project.
Platforms that provide educational content and tutorials on game development may be affected
by the project. The FPS game's potential use as a learning tool could attract the attention of these
platforms.
1.6 References:
1) Python Documentation:
https://www.pygame.org/docs/
The official Python documentation, including the Python Standard Library and
Python language reference, serves as a fundamental reference for understanding
Python programming concepts, syntax, and functions.