This project is the prototype of a side-scroller shooter of the "Bullet Hell" type (Danmaku) which I used in talks at Unite Seoul, Tokyo and Berlin. In my talks, I wanted to showcase how Timeline can be used as much more than a cutscene tool. The project was always meant to be shared, so you can dive into it and understand a bit more about the different features.
This game features 2D mechanics but it's using 3D assets. It mainly displays how to use Timeline in an unique way, but also contains a couple of tricks with Cinemachine and the Post-Processing Stack. The custom track included in this project drives the movement of enemy ships along a path, and the bullets they shoot. It turns Timeline into a powerful tool to script and visualise the paths of multiple enemies, to be able to fine-tune the gameplay even when the game is not in Play Mode (the custom track is meant to work in Edit Mode as well).
The project is all contained in one scene called Gameplay. Pressing Play allows to play the game, with the ship moving around (Arrow Keys + Space to shoot).
There's a custom track called "PathWalker", which is the main point of the demo. The scripts for it are located under Scripts/Playables/PathWalker. All of the enemy's logic is driven from this track, and even their instantiation. You can notice this because as soon as you Preview/unPreview the track, enemies get created and put under the GameObject called "PathObjectPool" in the scene, as are the bullets.
Under the GameObject called "Timelines", there are 3 Timelines demonstrating the custom track called Phase1, Phase2 and Phase3. They all represent a level in terms of the game. Additionally, the AsteroidField timeline shows how to use the system to move objects around the scene that are not necessarily enemies. The timeline called "TheChase" includes a short cutscene to demo Cinemachine 2.2 TargetGroup improvements.
Finally, they are all joined into "Master Timeline", to demo the idea that the previous Timelines can be played with a Control track.
Assets and Video presentation
The project is available as a .zip file here: Download link
A presentation featuring this project is available at this link (it starts at 17:00). It helps to understand how to navigate the project and how to use it.