(2023-05-31) Why I consider danmaku the best (graphic-based) game genre ever ---------------------------------------------------------------------------- As someone who used to have a secondary YouTube channel with "Shmup-o-mania" in its name, I might be somewhat biased in this topic, you might think. But, as usual, that superficial observation can lead to false conclusions. Yes, I do like shmups (or, as snobs like to point out, "it's shoot-em-up and I hate anyone who shortens this name!!111") and consider the entire genre heavily underrated nowadays. I won't go into the details of how and why (probably will write about it later if I have enough inspiration) but the modern shmup scene is really nearing the underground. And its most successfully surviving subgenre actually never was _that_ popular among the general public, but it is the small but active and truly independent community of hardcore players and aspiring developers that still keep it alive and well. In Japan, this subgenre is known as "danmaku", but everyone else in the world might be more familiar with the "bullet hell" term. To the unsuspecting folks, danmakus might look like normal 2D shmups, just with more acidic and/or fantasy-like aesthetics (although neither of that is always the case) and much more bullets to dodge which makes it look like it's impossibly hard to play (hence the name "bullet hell"). However, there are several _fundamental_ differences between danmakus and other shmups. And the biggest of them, in my opinion, is how collisions are handled. In traditional shmups, all sprites are treated as geometric shapes, and, obviously, you take damage when an enemy bullet sprite or an obstacle sprite hits your sprite, and an enemy takes damage when your bullet sprite hits the enemy sprite or a vulnerable zone of it. So, the main collision rule of traditional shmups is: the hitbox must be equal to the sprite shape unless explicitly stated otherwise. As sprite shapes can be (and usually are) very irregular, this makes collision detection very computationally expensive and non-trivial in general. Danmakus, on the other hand, treat things very differently: what you actually see on the screen has nothing to do with what can be hit. Your player's hitbox is usually a small circle or rectangle in the middle of the actual sprite. And all the particles flying around are similarly constructed circles or rectangles. This allows to generate much more of them at the same time on the screen and compute their positions and collisions much faster. And only then, after they are determined, the actual sprite graphics is drawn around those hitboxes. Such mechanics allow the player to perform maneuvers that look impossible to anyone just watching the gameplay. And the player's hitbox is usually highlighted as a bright circle dot in the center, making it even easier to know when you're about to collide with something. Another thing very characteristic for danmakus is little to no randomness in the bullet patterns and their sequences. Bullets are released in preprogrammed "waves" that one can learn how to dodge. While traditional shmups sometimes introduce random elements to diversify the gameplay a bit, danmakus can only change the order of these waves, but even that is rare. That's why danmakus' main focus is not the player's reaction speed and agility but solely seeking the correct tactics to further advance through the game. To some extent, I'd agree with the statement that danmakus, as a genre, are more like action puzzles disguised as shmups. This approach also makes danmakus more suitable for procedural level generation, especially for "boss rush" type games where you don't have to design levels themselves, just bosses and their bullet patterns. Finally, there are some danmakus that can hardly be classified as shoot-em-ups at all, because you just can't shoot anything in them, only dodge waves of bullets and survive through the levels this way. But this doesn't make such danmakus less interesting to play, as, as I stated earlier, their focus is on learning tactics. Oftentimes, regardless of whether you can shoot or not, you also get additional points (called "graze points") if you have dodged a bullet whose hitbox was very close to yours, and you won't see such things in any traditional shmup, because, again, they are much harder to calculate for non-primitive hitbox shapes. And the paradox of all this is that danmakus only look complicated, but in fact they are much easier both to program _and_ to play. And if I, one day, create my own (graphic-based) game engine for anything beyond a point-and-click quest (will talk about this another time), it will be a danmaku engine. Like shmups themselves, this subgenre of them definitely is the most underrated today for what it actually can offer. --- Luxferre ---