I’ve spent the last couple of weeks testing out different 2d game development frameworks, and I’ve decided that the Corona SDK is the tool for me. I was hoping there would be a standout framework that could make basic 2d games much better than the others, but I feel they each have pros and cons and they can all make games just fine. What it really comes down to is what makes me comfortable and excited about game development. I’m not qualified to list out the pros and cons of each environment, since I’ve been developing games for all of two weeks, but I can tell you why Corona won my business.
Ease of Use
Corona utilizes the Lua programming language, which I find intuitive and extremely easy to learn. There is plenty of documentation and support behind Lua, and I’ve yet to encounter a problem that wasn’t already answered by either Corona or a member of the Lua community.
Like Lua, Corona is beginner friendly, and I was able to immediately jump into playing around with games. Their API’s are well documented and they provide plenty of examples on getting started. Corona also allows me to use my preferred text editor, Sublime Text, which won them some bonus points.
The knock on Lua is that it’s an underpowered and unstructured scripting language, but that doesn’t worry me too much. I’m the sole developer on my game, so I should be able to keep the code organized. And while Corona and Lua may not have the flexibility and power compared to the other frameworks/languages, I’m confident it will pack enough power to create my 2d game.
I’m new to game development and Lua, so it’s important that there is a community to fall back on when times get tough. I’ve already been able to quickly find not only official documentation, but a slew of blog posts explaining how various parts of Corona and Lua work. For example, I didn’t understand how Lua and Corona managed event listeners, variable scope, classes and inheritance, or storyboarding, but basic Google searches resulted in quality and well written examples by the community.
When I visit the Corona forums I’m impressed with not only how much knowledge is readily available, but in the activity of Corona’s moderators and experts. They quickly answer questions from both absolute beginners and advanced programmers, and I feel that I’ll have somebody to lean on when I do eventually get snagged.
Corona does cost money if you’re serious about making games, but I’m ok with that because they’re actively building and supporting their product. A glance their blog and daily builds shows that the product is actively being built upon and thoroughly tested. I’m confident that as the gaming landscape continues to change, Corona will quickly work towards supporting whatever the future may bring.
I developed web applications in a LAMP environment and I’m used to hearing debates about this language vs. that language, which database is best, and why one framework is better than another. What I’ve seen is people build absolutely amazing applications in any environment and also produce awful code in every language.
While there was nothing really wrong with Unity, Sprite Kit or Cocos2d-x, they didn’t feel right, either. I wasn’t exited about working in Unity’s GUI, Sprite Kit’s use of Objective-C and Xcode, and Cocos2d-x’s less beginner friendly environment. I’m new to building games, and momentum and excitement are important to me right now. I am excited about Corona and that’s why I ultimately choose them.