I've been picking my brain for some time trying to decide the best way to handle enemies in my game. Of course it is a shmup (that goes without saying). In this game you shoot connected clusters of cells. These cells are basically ngons that have the same side lengths so they can connect making larger shapes. My question is how to I handle grouping and moving all cells along a common spline path? The shape the cells form together must also rotate in respect to its direction. Does this mean that I give each cell in the enemy shape an x,y offset and an angle to maintain from the cluster's center? Do I store the cells in a cluster object or just update each cell with instructions to maintain the cluster shape? It seems simple in theory but for some reason I'm not sure about the best way to proceed and I want it done right.