Seeking Interesting Mechanics

Hi folks.   I’m currently working on a physics game that explores the mechanics of circular bodies.

So far, I’ve got 8 mechanics coded up, but I know there are a lot more.  

I’m writing to ask for your ideas and inputs on interesting mechanics. 

In return, I will release the source code (to the Corona community) for all circular body game mechanics that I use in my game.  I haven’t determined when I’ll release the code, but it will probably be about two weeks after the game first appears in the store. 

So, if you’ve got a mechanic you think would be cool to see please list it below.  Give as much or as little detail as you want.

Here is a video of seven out of the eight mechanics that I’ve got:

https://www.youtube.com/watch?v=9iUB88M9vqc&feature=youtu.be

Remember: The mechanic can be simple or involved, but it must INCLUDE a circular body.  Other bodies are OK too, but no circles equals no good.

Thanks!

PS - Art is far from done.  Just firming up mechanics and rules, then on to art and polish.

I always thought Imgur was ahead of the curve in animated circle mechanics. Their loading animation is very evocative:

http://pandawhale.com/post/62718/imgur-loading-gif-candidate-sera-pls

This loading gif is nice: http://flight.chinatripadvisor.com/images/loading.gif

But with an argument that sets how many circulars should be used, the speed, the fade speed etc.

Which also reminds me, I have a soft spot for orbital rotation:

 local r = 80 local numPoints = 14 local xCenter = 200 local yCenter = 200 local radius = 50 local ffR = .5 -- start rotation value local rotG = .5 -- rotational increase increment local angleStep = 2 \* math.pi / numPoints local group1 = display.newGroup() local t = {} local circle = {} for i = 1, numPoints do circle[i] = display.newCircle(0, 0, 10) circle[i].x = xCenter + radius\*math.cos(i\*angleStep) circle[i].y = yCenter + radius\*math.sin(i\*angleStep) group1:insert( circle[i] ) end group1.x = display.contentCenterX group1.y = display.contentCenterY local function onUpdate( ) ffR = ffR+rotG for i = 1, numPoints do t[i] = (ffR \* .014)\*i circle[i].x = (r \* math.cos(t[i]))+5 circle[i].y = (r \* math.sin(t[i]))+2 --print("circle["..i.."].x = "..circle[i].x) --print("circle["..i.."].y = "..circle[i].y) end end Runtime:addEventListener( "enterFrame", onUpdate )

r7y5CtO.gif

I always thought Imgur was ahead of the curve in animated circle mechanics. Their loading animation is very evocative:

http://pandawhale.com/post/62718/imgur-loading-gif-candidate-sera-pls

This loading gif is nice: http://flight.chinatripadvisor.com/images/loading.gif

But with an argument that sets how many circulars should be used, the speed, the fade speed etc.

Which also reminds me, I have a soft spot for orbital rotation:

 local r = 80 local numPoints = 14 local xCenter = 200 local yCenter = 200 local radius = 50 local ffR = .5 -- start rotation value local rotG = .5 -- rotational increase increment local angleStep = 2 \* math.pi / numPoints local group1 = display.newGroup() local t = {} local circle = {} for i = 1, numPoints do circle[i] = display.newCircle(0, 0, 10) circle[i].x = xCenter + radius\*math.cos(i\*angleStep) circle[i].y = yCenter + radius\*math.sin(i\*angleStep) group1:insert( circle[i] ) end group1.x = display.contentCenterX group1.y = display.contentCenterY local function onUpdate( ) ffR = ffR+rotG for i = 1, numPoints do t[i] = (ffR \* .014)\*i circle[i].x = (r \* math.cos(t[i]))+5 circle[i].y = (r \* math.sin(t[i]))+2 --print("circle["..i.."].x = "..circle[i].x) --print("circle["..i.."].y = "..circle[i].y) end end Runtime:addEventListener( "enterFrame", onUpdate )

r7y5CtO.gif