That game seems to be a fixed shooter, the twisted cylinder moves against the player and rotates, I think levels are predefined too.
You can look at Torus Trooper source code, you may find interesting techniques from Kenta Cho.
For "infinite" generation, I think random is your worst friend, you need to define rules for the creation of blocks/cells/screens, which block can follow which, set of enemies for those blocks, enemies following a set of enemies, how to scale difficulty (up and down to keep the flow stable).
I would start with predefined levels that feel good, then dissect those in enemy groups and playable zone blocks then start the lego work from there and see which combinations make sense and the ones that don't look good in particular to define creation rules.