Hitokori
Hitokori copied to clipboard
Add special tile types
So far tile points can indicate that they speed up, down ( color ), or reverse ( spinning arrow ). They are not "special" in code, the indicators are added when a drawable tile point is initiated based on TilePoint.IsFaster, TilePoint.IsSlower and TilePoint.ChangedDirection.
I propose we add a list of "effects", a derived type of TilePoint or an enum of "effects". These effects would make a tile, usually upon being hit apply some effect to the playfield. The speed-up, slow-down and reverse ones would not change for now - or ever - as they are merely indicators of Tile Point's properties.
The "effects" would be like mods, enabled or disabled at runtime. For example, a "focus" tile, would make make all angles halve like the with the "squashed" mod, and a maching "disable focus" tile would reverse its effects. This could be nice for kiai time. This would require for drawable tiles to implement animated properties like Tile Point angles. Recalculating of TilePoint properties is already implemented, but will need to apply only to upcoming tiles and the animation would need to complete before the first affected tile is hit to make things easier ( so, apply to all tiles after first tile animationDuration ms away. This will lag if applied to everything at once, so it needs to apply to all visiable tiles and all tiles added while the effect is active ).
This would initially be an experimental mod setting as I don't want to push a pretty significant change to gameplay too fast.
Thoughts?
This is supported by default as of Hitokori/remaster. All tile points and tile point connections are able to have arbitrary effects applied to the state of the game. It is even possible to change the amount of orbitals after hitting a tile.