GithubHelp home page GithubHelp logo

g-brrzzn / shootemup-pygame Goto Github PK

View Code? Open in Web Editor NEW
4.0 1.0 0.0 2.97 MB

A Shoot 'Em Up base game made in Python-pygame from scratch

License: MIT License

Python 100.00%
game indiegame pygame python shootemup from-scratch pygame-application pygame-game pygame-games pygame-library shoot-em-up space-invaders game-2d game-dev game-development gamedev games good-first-issue

shootemup-pygame's Introduction

Shoot 'em Up - Pygame

A "Shoot 'em Up" base game in Python-pygame as a personal project, made from scratch

Enter the action-packed world of Shoot 'em Up - Pygame, a game that seamlessly blends the excitement of classic arcade shooters with modern gameplay mechanics. Developed entirely from scratch using Python and Pygame, this game not only challenges your reflexes but also showcases advanced game development techniques. With efficient game state management, object-oriented programming (OOP), and intricate particle simulation, Shoot 'em Up - Pygame offers a solid foundation for an immersive and dynamic experience.

Gameplay

gameplay



$~~~~~~~~~~~~~~~~~~~~~~~~~$

Gameplay.mp4

Menu System

menu

Installation

# clone the repo
$ git clone https://github.com/g-brrzzn/shootemup-Pygame

# change the working directory
$ cd shootemup-Pygame

# install the requirements
$ python -m pip install -r requirements.txt

# run the Game.py
$ python Game.py

shootemup-pygame's People

Contributors

g-brrzzn avatar

Stargazers

 avatar  avatar  avatar  avatar

Watchers

 avatar

shootemup-pygame's Issues

Explosion speed tied to enemy loop instead of main loop

Describe the bug
The explosion effects after an enemy dies are currently tied to the enemy loop rather than the main loop. This causes the explosion animation to speed up as more enemies appear on screen, leading to faster disappearance of the explosions.

To Do:
Refactor the explosion logic so that it is handled within the main loop.
Ensure that the explosion animation remains consistent, regardless of the number of enemies on screen.

Scaling Resolution Issues and Pixel Distortion

Description:
Currently, the game is being rendered directly at the window's resolution, which is causing scaling issues and pixel distortion, especially in fullscreen mode or at higher resolutions.

Steps to Reproduce:
Run the game in fullscreen mode or at a resolution different from 1280x720.
Observe the pixel distortion and stretching effect on the game's graphical elements.

Expected Behavior:
The game screen should be rendered at a fixed resolution (e.g., 1280x720) and then scaled to the window's resolution, maintaining the pixel aspect ratio.

Proposed Solution:
Implement an intermediate rendering buffer (Surface) where all the game drawing logic is executed, and then scale this Surface to the current window resolution using pygame.transform.scale().

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.