Skip to content

A top down Zombie Horde Survival Game ๐ŸงŸโ€โ™‚๏ธmade using python and PyGame!

Notifications You must be signed in to change notification settings

strongFingers2/SwarmShot

ย 
ย 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

ย 

History

93 Commits
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 

Repository files navigation

๐Ÿงช SwarmShot - Top-Down Zombie Horde Survival Game ๐ŸงŸโ€โ™‚๏ธ

Welcome to SwarmShot, a beginner-friendly project to dive into game development with Python(using Py Game)!

๐Ÿ“– Story: The Setting - A World in Chaos

The year is 2084. Humanityโ€™s insatiable curiosity led to the creation of Project Genesis , a genetic experiment aimed at eradicating all diseases. Scientists engineered a virus that could rewrite DNA to repair any cellular damage. However, something went wrong. The virus mutated uncontrollably, turning most humans into mindless, bloodthirsty zombies. Worse, it spread to nearly all life forms, devastating ecosystems and leaving the world on the brink of extinction.

Amidst the chaos, a few species inexplicably developed natural immunity. These animals not only resisted the virus but seemed to carry a genetic marker that might hold the key to reversing the apocalypse.

You are Dr. Arin Locke, a robotics engineer and survivalist. Once a part of the Genesis project, you now bear the weight of humanity's survival. Armed with your wits, cutting-edge technology, and an experimental combat suit, you embark on a mission to save the immune species and unlock the cure hidden in their DNA. Armed with technology and a combat suit, you must protect, survive, and rebuild humanity.

๐Ÿ“š Table of Contents

๐ŸŽฎ Gameplay Overview

Base Version:

  • Run the main.py file using VS code .
  • Map: 44x44 tiles, each 16x16 pixels
  • Current Mechanics:
    • The scientist (player) moves around the map
    • Player sprite is animated using a spritesheet

Final Version:

-Run the example.py file( Inside Example_of_Game folder) .

  • Top-down zombie horde survival game with:
    • Player mechanics
    • Pets and weapons
    • Shop system
    • Defensive buildings
    • Zombie wave attacks (20 waves)
    • Optimized spritesheet rendering for all elements

Refer to 1Gameplay.txt for a full breakdown of mechanics.

๐Ÿ—‚๏ธ Folder Structure

SwarmShot/
โ”‚
โ”œโ”€โ”€ main.py            # Game loop, UI, wave system, window creation
โ”œโ”€โ”€ player.py          # Player class (movement, health, weapons)
โ”œโ”€โ”€ enemy.py           # Enemy base class and enemy types
โ”œโ”€โ”€ pet.py             # Pet base class and properties
โ”œโ”€โ”€ weapon.py          # Weapon base class and bullet behavior
โ”œโ”€โ”€ building.py        # Building class (defense structures)
โ”œโ”€โ”€ shop.py            # Shop system logic
โ”‚
โ”œโ”€โ”€ ๐Ÿ“Example_of_Game/
โ”‚   โ”œโ”€โ”€ ๐Ÿ“Contributors          # Contains list of contributors
โ”‚   โ”œโ”€โ”€ ๐Ÿ“Practice_Animation    # Contains list of contributors
โ”‚   โ”‚   โ””โ”€โ”€ practice.py             # Practice file for contributors
โ”‚   โ””โ”€โ”€ example.py              # Demonstrates game mechanics integration
โ”‚
โ”œโ”€โ”€๐Ÿ“„1Gameplay.txt      # Detailed gameplay documentation
โ”‚
โ”œโ”€โ”€ ๐Ÿ“Sounds/            # Game music and audio files
โ”‚
โ”œโ”€โ”€ ๐Ÿ“Sprites/
โ”‚   โ”œโ”€โ”€ ๐Ÿ“Sprites_Building/     # Building sprites
โ”‚   โ”œโ”€โ”€ ๐Ÿ“Sprites_Enemy/        # Enemy sprites
โ”‚   โ”œโ”€โ”€ ๐Ÿ“Sprites_Environment/  # Environment tiles
โ”‚   โ”œโ”€โ”€ ๐Ÿ“Sprites_Pet/          # Pet sprites
โ”‚   โ”œโ”€โ”€ ๐Ÿ“Sprites_Player/       # Player sprites
โ”‚   โ””โ”€โ”€ ๐Ÿ“Sprites_Weapon/       # Weapon sprites
โ”‚
โ”œโ”€โ”€ .gitignore         # Ignores unnecessary files
โ””โ”€โ”€๐Ÿ“„README.md          # This file!

๐Ÿš€ Installation Guide

  1. Install Python (3.12.4):

    • Download Python from the official site
    • Ensure Python is added to your system path
  2. Install Pygame(pygame 2.6.1 (SDL 2.28.4, Python 3.12.4)):

    pip install pygame

โšก Running the Game

1.Run current Game -Navigate to SwarmShot Folder and open it in any terminal -Type "python main.py" command and press Enter. -The game will start and you can play it

  1. Test Mechanics:

    • Run example.py to get glimpse of Final version of game.
    • It is in Example_of_Game Folder
    cd Example_of_Game
    python example.py

๐Ÿ”— Reference Links

๐Ÿ‘จโ€๐Ÿ’ป Contribution Guidelines:

  1. Claim the Issue: -Go to the issue page of the repository where the issue is raised. -Add a comment like:"Claim" -Wait for the repository maintainers to assign the issue to you.

  2. Fork the Repository:

  3. Clone Your Fork:

    git clone https://github.com/<Your_Username>/SwarmShot.git
    cd SwarmShot
  4. Make Changes:

    • Follow the folder structure
    • Edit the code or files as required to resolve the issue.
    • Use relative paths (e.g., Sprites/Sprites_Player/Char_003.png)
  5. Test Changes:

    • Run the game locally
    python main.py
  6. Commit and Push:

    git add .
    git commit -m "commit_message_as per issue"
    git push origin main
  7. Create a Pull Request:

    • Go to your forked repository on GitHub.
    • Click Pull Requests,Fill out the PR form
    • Submit PR
  8. Engage in Review:

    • Repository maintainers or reviewers may leave comments or request changes on your PR.
    • Make the requested changes directly in your forked repository's main branch.
    • Stage and commit the changes:
       git add .
       git commit -m "Updated changes as per review comments"
       git push origin main

๐Ÿ’ป Communication

Stay connected on our Discord channel for updates and discussions with mentors and contributors or to ask any doubt needed. Make sure to use suitable channels according to your repo in the server.

๐Ÿค Mentor

  1. Saurav Gitte
    Game dev and avid gamer
    GitHub: SauravGitte
    Discord: gittesaheb
  2. Bhavya Gupta (aka Gamin8ing)
    Game dev and an all-time gamer
    GitHub: Gamin8ing
    Discord: gamin8ing (or blackHole)
  3. Srijan Suryansh Github: Lordlyamigo Discord: Lordlyamiga

๐Ÿค Contributors

Thank you to everyone contributing to SwarmShot! ๐ŸŽ‰ Check the Example_of_Game folder for the list of contributors.

Happy coding, and let's save the world one wave at a time! ๐ŸŒ๐Ÿ‘จโ€๐Ÿ”ฌ

About

A top down Zombie Horde Survival Game ๐ŸงŸโ€โ™‚๏ธmade using python and PyGame!

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • Python 100.0%