I chose Corona SDK for Joseph’s Ladder largely due to it’s ability to easily deploy to both iOS and Android in both phone and tablet form factors. Additionally, it handles a fair amount of “low-level goo” for you. Finally, the price is very reasonable- which is good considering my (non) budget.
Corona has you write your entire app in Lua, which is interesting for a “scripting language.” But as long as you maintain discipline with strict programming practices, you can get sometime very similar to traditional object-oriented programming and it’s worked surprisingly well.
Although Corona has the excellent Box2D physics engine built-in, it’s a Newtonian physics simulation. As awesome as that is, I’ve never been a fan of Newtonian for 2D platformers. I don’t want “real physics”- I want “Mario physics.” I knew it would take a good chunk of development time, but I was determined to make Joseph’s Ladder the game it needs to be and not compromise. And so I set out to build my own physics engine- and I’m glad I did, because the physics turned out tight and really “feels right.”