Skip to content

camenduru/TostEngine-cinder-bullethell

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

10 Commits
 
 
 
 
 
 
 
 

Repository files navigation

🍞 TostEngine Cinder BulletHell Engine

A 2D Bullet-Hell (Touhou-style) game engine built with Cinder framework.

Screenshot 2026-01-04 032635

Features

  • 6 Unique Bullet Patterns: Rain, Spiral, Burst, Aimed, Wall, and Mixed patterns
  • Smooth Player Movement: Arrow keys or WASD for movement
  • Focus Mode: Hold Shift to slow movement and show hitbox
  • Graze System: Score bonus when bullets pass near player
  • Hitbox Visualization: Toggle with H key
  • Lives System: 3 lives with invincibility frames
  • Pattern Switching: Press 1-6 to change patterns
  • Auto-Pattern Cycle: Changes pattern every 15 seconds
  • Spatial Grid Collision: O(1) collision detection for thousands of bullets
  • Entity Pooling: Supports up to 8192 entities

Controls

Key Action
Arrow Keys / WASD Move player
Shift Focus mode (slow + show hitbox)
Z Shoot
H Toggle hitbox visibility
P Pause game
1-6 Switch bullet patterns
Escape Quit

Patterns

  1. Curtain Rain - Columns of red bullets falling with orange side bullets
  2. Spiral - Dual spirals emanating from center
  3. Burst - Circular burst pattern
  4. Aimed - Targeted spread shots following player
  5. Wall - Wall of green bullets
  6. Mixed - Cycles through different patterns

Technical Details

  • Built with Cinder framework
  • ECS-inspired entity system
  • Spatial hashing grid for efficient collision
  • Fixed timestep game loop
  • Delta-time based pattern timing

Building

Open the Visual Studio solution in build/BulletHell.sln and build with Debug|x64 configuration, or use CMake.

Game State Variables

  • godMode - When true, player bullets don't destroy enemy bullets (for testing)
  • difficulty - Multiplier for bullet speed and count
  • showHitbox - Toggle hitbox rendering
  • paused - Pause state
  • gameOver - Game over state

File Structure

BulletHell/
├── CMakeLists.txt
├── build/               # Build output
└── src/
    └── BulletHell.cpp   # Main game code

License

MIT License

About

A 2D Bullet-Hell (Touhou-style) game engine built with Cinder framework.

Resources

Stars

Watchers

Forks

Packages

No packages published