Corona SDK and Bezier Curves

Posted: 03.24.2015

Corona SDK

I’ve been using Corona SDK for almost 2 years now.  I love it.  I instantly jumped in with how quick and easy it is to use.  Up until this point I’ve done some dinky apps.  Santa Launcher was my first attempt with the physics engine and other components in the SDK.  It went really well and I learned a lot from it, which was the whole point of building it.

I’ve been toying around with the idea of an app like Coaster Thrills since before I was introduced to Corona SDK.  The hardest part of the app is the curved hills.  No matter how many SDK’s or blog posts I read I couldn’t find one that had support for curves out of the box.  Interestingly Corona doesn’t have support for curves either, which is something I’d wish they’d add.  But I assume it’s not requested that often.

So at this point I’m pretty committed to Corona, I love the framework and everything that it offers.  So I had to figure out how to do curved paths that could be put into the physics engine.  I did a lot of digging on Google.  I finally found my first piece of gold with this Corona repo called Tiny Penguin.  It is a tiny game (modeled after Tiny Wings) that has an object go up and down hills that are generated in the code.  

I went to work dissecting the code and figuring out how it worked.  It was interesting to see that the curved ground was several small rectangles that together formed a curved path.  And the object was sliding over it very smoothly.  At this point I realized that I could probably get what I needed.  I just needed something a bit more robust.


Level Director

After a bit of digging I found a Corona SDK 3rd Party tool called Level Director.  Level Director mentioned that it could do bezier curves, I was intrigued.  Luckily they have a demo version of the program that I played around with quite a bit to understand if it could do all that I wanted it to.  It appeared it could.

I payed for the program and starting doing more research on my specific use case of curves and what I wanted.  Early on the results looked promising but then I started getting weird issues.  I’ll save those issues for a future post.


Be Social

Share your thoughts

comments powered by Disqus