/danmaku

Primary LanguagePython

弾幕 (Danmaku)

pylint Code style: black

Goal

To create a bullet hell game similar to TouHou Project, Undertale, etc.

How to build

poetry shell
poetry install

or

python3 -m venv .venv
.\.venv\Scripts\activate
pip install --upgrade -r .\requirements.txt

Then,

.\build

For developers

Most important things is written down here

Refactoring

  • main.py
  • bullet.py
  • enemy.py
  • gameobject.py
  • player.py
  • utils.py

TODO

  • Game mechanics
    • Drops
      • HP (?)
      • XP
      • Powerups
      • Coins (?)
    • Bullets
      • Trajectories
    • Enemies
    • Controls
      • Change controls to classic (shift, z, x)
    • Levels
    • Make player hitbox smaller
    • Levels transition (portals?)
      • Background change
      • Enemies' texture change
  • Graphics
    • Images
    • Level background
    • Effects (particles)
    • Scaling
    • Fullscreen
    • Boss HP bar
    • Player HP/Bomb info
    • Player points info
    • UI
      • Main menu
        • Main menu style
        • Background
      • Leaderboard
      • Settings
        • DB
        • Menu interface
    • Make textures preload
  • Code
    • Rework base classes
      • Reduce instance attribute count
      • GameObject
      • +Animated
      • +Shooter
      • +Texture
    • Split enemies types into classes
    • Add enemy generate_drop() method
    • Seconds
    • Move levels to DB
    • Rework database.database
      • Dicts with hand mapping --> namedtuples
    • Replace resource path strings with constants from db
  • Sounds
    • Death
    • Shoot
    • Hit
  • Music