The math is simply positioning the objects on a circle.

x = center.x+ radius*cos(angle)

y = center.y+ radius*sin(angle)

Only it's from the side so y doesn't change. With it you can calculate z for sorting if you like later.

x = center.x+ radius*cos(angle)

z = radius*sin(angle)

That is the basic formula for positioning objects. You change y like in any other game and you change the radius and angle to calculate the x position. The scaling can be done with the sin() function. Notice the value of sin() at these angles:

sin(0) =0

sin(45)~=0.707

sin(90)=1

sin(135)~=0.707

sin(180)=0

It looks like it would work well to set the width to BrickWidth*sin(angle). With it the bricks will be full width when facing head on (90 degrees) and will disappear to a sliver as it turns. Well, it will also be full width when facing away (270 degrees) but we can hide them when the z is less than 0 to hide that. Also keep in mind changing the width is only necessary for the wall bricks, the platforms just change position in the game.

Here's a capx with just the bricks:

https://www.dropbox.com/s/nnoeswz440ur1 ... .capx?dl=1The bricks are placed in a circle taking into account the tower's radius and how many bricks you want per layer. From that we can find how wide each brick should be and the angle difference from one brick to another.

First calculating the brick width is simple enough. We just take the length around the tower (or the circle circumference) and divide it by the number of bricks in a layer.

Circumference = 2*pi*radius

BrickWidth = 2*pi*radius/numBricksPerLayer

NOTE: The I'd like to point out that the "BrickWidth" above and the one in the expression to set the sprite's width is different from the sprite's actual width.

Next calculating the angle of one brick to another is even simpler. Just divide 360 by the number of bricks per layer.

Finally the loop to create a ring of bricks would look like this:

start of layout

--- set brickwidth to 2*pi*radius/numBricksPerLayer

----- repeat numBricksPerLayer times

-------- create sprite

-------- set sprite.r to radius

-------- set sprite.a to loopindex*360/numBricksPerLayer

Anyway that's most of the math you'd end up using.

-cheers