So the problem from the last week is fixed, and now the object pooling is finally working.
I start blocking the background, the background is grid-based 20.000 unit length and I use array integer to store the grid data, this grid will move backward in loops based on the current grid data. This makes the length change is flexible. The movement is in actor child space so I can make world rotation using the Actor transform. Basically, the camera will be pointing to the center of the world all the time and the background is moving backward, the good thing is the chance get floating point error is very minimal. The bad thing is I need to transform large bg mesh in realtime instead of unmoveable mesh with baked lighting, but because the 2.5D window view is limited, the static (moveable) bg mesh will be efficient enough.
Blocking some enemy models, these models is based on static turrent, but it feels lame when the bg moving slowly, so I make the static turrent as vehicles and drone instead:
Also, some updates adding gameplay mechanics, slow motion to dodge the enemy bullet, adding bomb effect, and more:
Thank you for reading.