|Darks 9ca4fd1d37||8 months ago|
|assets-cg||8 months ago|
|assets-fx||1 year ago|
|assets-raw||1 year ago|
|include||8 months ago|
|src||8 months ago|
|.gitignore||1 year ago|
|Makefile||8 months ago|
|Readme.md||8 months ago|
|Touhou.g3a||1 year ago|
|assets.py||1 year ago|
|project.cfg||8 months ago|
Before the game starts, the player can choose two witches between the 8 available. The first one is used on normal mode, the second on focused mode. Each witch has unique properties and sometimes a special effect.
There are two gameplay modes:
The "focus" mode is triggered by pressing
KEY_OPTN. The effect disapears when the key is released. Focus mode with speed divided by two, some bullets are ineffective, and usually a fire power focused on a single stream. They may have a special effect
Speeds are in px/s (play area is 270×224).
|0||Reimu Hakurei||194||130||+10% power when focused|
|1||Marisa Kirisame||208||130||Attract bonus when on top of the screen|
|2||Sariel||241||Do not attract bullets when not focused|
|3||Koakuma||+15% chance of getting a powerup|
|4||Iku Nagae||Start with 4 bombs instead of 3|
|5||Sumireko Usami||Wider fire angle when not focused|
|6||Hina Kagiyama||+10% power when not focused|
Power can go from 1 to
bullet_t is always launched by the player. Else it's an
enemy_t (even if it's an enemy bullet)
There are 2 kinds of powerups: small ones and big ones. Small ones increase power by 1, big ones by 5.
uint32_t us_elapsed: μs elapsed during the last frame
uint32_t frame: number of frames elapsed since the beginning of the game
player_t *player: general information about player
difficulty_t difficulty: the chosen difficulty of the game
bullet_t *bullets: the bullets sent by player
object_t is an object linked to physic or an updater. This means that an enemy as well as a bullet can be objects.
An object updater is a function applied to an object. Its protoype must follow this:
void f(object_t*). Due to the complexity of the game, it may use
us_elapsed; but it could also use
difficulty or other global variables.