Skip to content

MichaelFirstAC/A-WITCH-S-HELL

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

57 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

A Witch’s Hell

Header Image

Click here (Gdrive) or here (Youtube) for Gameplay Demo

A bullet-hell game developed in Python 2 (you can run it in Python 3 as well), and PyGame, created for an Algorithm and Programming assignment in BINUS University International Class.

Screenshots

Home Screen

Image

Game Screen

Image

Pause Screen

Image

Game Over Screen

Image

Dependencies

  • Python 2
  • PyGame

Installation

  • Download this file as a Zip
  • Extract it to a desired location
  • Open the folder as a directory
  • Run 'main.py'

Controls

  • Z: Fire and select options.
  • X: Use a bomb, canceling nearby projectiles.
  • Left Shift: Slow down movement for precision.

Tips and Tricks

  • Master the Mechanics: Knowing the hitbox is key—visualize your weak point.
  • Use Focus Mode Wisely: Activate in tight situations to move with precision, but switch to fast movement for quick pickups.
  • Bomb Strategically: Use bombs only when you're about to get hit. They serve as an extra life if used effectively.
  • Embrace the Challenge: Remember, this is a bullet hell game. Dodge, focus, and have fun!

Features

  • Bullet Hell Mechanics: Touhou-style gameplay, one-hit small hitbox, and heavy bullet patterns.
  • Endless Survival Mode: Difficulty increases over time.
  • Frame-Based Mechanics: Bullet patterns are calculated in degrees.
  • Enhanced Features: Accurate bomb hitboxes, bullet grazing, difficulty progression with new enemies, and highscore persistence with reset options.
  • Multiple Fire Types: Distinct player fire modes for different enemy scenarios.
  • Full Animation and Sound Effects.

Tutorial

Menu Options

Navigate with arrow keys; press Z to select:

  • Main Menu: Start Game, Erase Data (reset highscore), Quit
  • Pause Menu (ESC): Resume Game, Return to Main Menu
  • Game Over Menu: Restart Game, Return to Main Menu

Movement

  • Arrow Keys: Quick movements for dodging.
  • Left Shift: Enter Focused Mode for slower, precise movement.

Game Mechanics

  • Lives: Two initial lives, with chances for more through pink star drops.
  • Bombs: One per life, replenished by gray star drops.
  • Fire Modes: Default mode for spread damage, Focus Mode for concentrated fire.

Scoring System

  • Enemy Kills: Points vary by enemy type.
  • Item Drops: Points for collecting items, with life and bomb caps converting to points.
  • Grazing Bullets: Near-misses grant points for added risk.

Increasing Difficulty

  • The game grows harder over time with faster spawn rates and more advanced enemies. Difficulty tiers escalate every 30 seconds to 5 minutes with new enemy types and patterns.

Important Notes

All images and sounds are credited to their respective creators.

Files

  • Main-menu Music: Bad Apple (Project Touhou)
  • Background Music: It's going down now (Persona 3 Reload)
  • Background Music: Young Girl A (Siinamota)
  • Background Music: Kingslayer (Bring Me The Horizon Feat. BabyMetal)

DO NOTE, ONCE YOU HEAR KINGSLAYER, THE GAME GETS REALLY HARD.

  • Sound effects: Project Touhou
  • Bullets: Project Touhou
  • Player: Project Touhou / Marisa Kirisame
  • Background: Project Touhou
  • Enemies: Project Touhou / Shizuha Aki, Hina Kagiyama, Nitori Kawashiro, Aya Shameimaru, Kanako Yasaka (Mountain of Faith)
  • Icons: Calamity Icon - Terraria / Calamity Mod / Project Touhou

About

AlgoProg PyGame Final Project Sem 1 - A Witch's Hell, an endless bullet hell game.

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors

Languages