Site Logo


Sparen's Danmaku Design Studio - Guide 0 - Introduction to Danmaku Theory

Welcome to the first Danmaku Theory Guide! In this guide, I will describe this project in further depth and will describe notation, terminology, and more.


Part 1: Danmaku Theory Overview

Coming to these guides, you may be thinking something along the following: "Danmaku Theory? What's that?!" If so, that's perfectly fine.

As of the time of writing, there is no set standard for Danmaku Theory. As a result, we will be explicitly defining our terminology here and will continue utilizing that terminology throughout these guides. We also hope to gradually bubble the terminology backwards into the ph3 tutorials over time.

Anyways, Danmaku Theory. Danmaku Theory is an attempt to understand the components of Danmaku Patterns and break them down into a standard and well understood form that is all-encompassing and flexible, allowing for most patterns to be broken down and described in terms of simpler, common concepts. In particular, Danmaku Theory has a focus on the visuals of the Danmaku. The idea for a unified theory came out of the Blender Danmaku community, which notably builds danmaku without a fundamental part of danmaku games - the player. Without the player, it is possible to view danmaku from a much broader perspective and gain additional insight.

Throughout these guides, we will primarily focus on danmaku, disregarding the player. In certain sections where we discuss applications, it will be necessary to include the player. In all cases, we will describe danmaku with complete disregard for the engine used to implement the danmaku itself.

Part 2: Guide Overview

This series of guides will cover various topics in Danmaku Design. Naturally, there is no one correct way to learn how to design anything, let alone danmaku. We do recommend reading guides in order, but after the fundamentals have been covered, most topics are standalone.

These guides will attempt to cover all of the pure danmaku-centric aspects of Danmaku Theory. Sound integration and the like will not be covered. All feedback is welcome, so please feel free to send feedback via Discord.

Part 3: Danmakanvas Overview


For all guides, we will integrate the latest development version of Danmakanvas. As we are sourcing directly from development versions, it is possible that some examples may break or work improperly, unlike in the ph3 tutorials where fixed, stable Danmakanvas versions are in use. In the event that a Danmakanvas canvas fails to load, please send a bug report to sparen.github.io (GitHub) or via my Discord Server.

We will be using Danmakanvas for all of our demonstrations in these guides. We will try our best to add buttons/input fields that can update variables within the simulations to change their behavior.

Part 4: Terminology Overview

In this section of the introductory guide, we will briefly describe the terminology that we will be using throughout this guide. Please note that Danmaku Theory does not focus on gameplay element of danmaku and so does not reference hitbox size - while this is of concern to pattern design, it will be covered in the ph3 Shotsheet Tutorial instead.

Bullet - The most fundamental unit of danmaku, which can be portrayed with any sprite or model. The position of a Bullet can be represented by a single set of coordinates.

Laser - A Bullet stretched in both directions. The primary coordinate of the Laser is the midpoint.

Spawner - The spawn location of a Group or Bullet, or a position relative to the spawn locations. May or may not have a visual representation and may not necessarily be a point (may be a line or other shape).

Group - The fundamental component of a pattern, consisting of any number of Bullets sharing a Spawner. All Bullets in a Group have the same Controller but may have minor differences (e.g. angle, speed, etc). A Group can consist of anything from a single Bullet to an entire Pattern, and can be composed of smaller Groups separated temporally and/or spatially.

Controller - The controller of animations and transformations of not just a Spawner but also the members of the Group created by the Spawner. All Bullets in a group use the same Controller to dictate their animation and transformation. Handles all logic applied to a Group.

Subpattern - Top level Group that is often composed of smaller Groups. Often one of any number of highly distinct components of a Pattern.

Pattern - A complete danmaku animation over a specified period of time, composed of one or more Subpatterns.

Each one of these will receive a more in depth explanation with examples in the various guides to follow this one. Note the versatility - Eternal Meek consists of a single Pattern with a single Subpattern consisting of a single Group. Curvy lasers are a Group of Bullets where a single Controller has them follow the same trajectory from the same Spawner, simply offset by time.