Our Blog

Corona And Unity For Game Developers

unity corona

Corona And Unity For Game Developers

By: Hira & Saman

It is now typical to release a game on multiple platforms, and thus a cross-platform game engine provides a lot of advantages. Since there are a plenty of options available, this report aims to highlight the comparisons of two major game engines, Corona and Unity 3D and see how they compete against each other in view of the features available. Hopefully, the summary will help individuals and teams for making a choice and save their time in selecting the most appropriate game engine.

This reports first highlights the general differences between Corona and Unity, and later describes their usage for educational apps specifically.

Introduction to Corona and Unity

Corona SDK is a software development kit created by the founder of Corona Labs, Walter Luh that was initially launched for building iPhone apps in 2009. Later, it was released for iPad and Android platforms as well, along with a physics engine specifically for game development.

Examples of educational apps/games built with Corona:

  1. Play and Learn with Wallace
  2. Thomas & Friends: Mix-Up Match-Up
  3. BraveSmart
  4. Animals’ Boat for Toddlers
  5. Animal Babies – The amazing wooden shape puzzle game for kids and toddlers
  6. Preschool and Kindergarten Learning Games By Kevin Bradford LLC 
Unity is developed by Unity Technologies, and features a cross platform game engine along with an integrated development environment. It was first announced only for MAC OS at the Apple’s Worldwide Developer Conference in 2005 and later extended to different platforms.

Examples of games built with Unity:

  1. Threes by Asher Vollmer
  2. Labster
  3. Toca Nature and Toca Lab
  4. Virtual Zoll Defibrillator Trainer
  5. Dinosaurs Unearthed Augmented Reality Experience
  6. Learnexx3D Virtual Laboratories
  7. Surgical Anatomy of the Liver

Ease of Use

Corona has a simple user interface and takes just around 2-4 hours for getting familiar with the platform and be ready for developing games. Thus, quick development is a major benefit of Corona.

Unity is not so easy to master and takes a while to get familiar with its tools and complex interface; normally up to 8-12 hours. It becomes difficult for a new user to understand and keep track of all the things happening at one time, for example the inspector window, project and hierarchy window. Being comfortable with the camera can take time, as objects may hide behind it or become invisible because of no light.

On the other hand, Unity provides a single e most powerful features around that are not even possible with Corona. Also, a lot integrated development environment with of things such as when manipulating with Physics can simply be done with a few clicks or dragging and dropping components instead of writing long lines of code.

Development Languages

Corona uses the Lua programming language that is very light, easy to learn and beginner friendly. A user having even the simplest programming experience can learn Lua very fast. The API’s are well documented and a lot of examples are available for almost everything.The drawback of Lua is however that it is an underpowered and unstructured scripting language, and thus can be a little difficult when it comes to implementation and code organization in teams.Unity 3D requires all scripts to be written in JavaScript, C# and a handful of other languages, attached to various 3D objects as components. Most of these languages require some time and experience to learn, as well as knowledge of Object Oriented Programming principles.

2D / 3D Development & Assets Stores

Corona only supports 2D development; however its 2.5D engine allows simulation of Perspective and Depth effects that appear 3D. These effects are only available in the higher paid versions of Corona.

Unity was initially designed to create 3D games, however the latest versions now offer additional support specifically for 2D game development. The assets can be created and imported in Unity with almost any 3D modeling application such as 3D Studio Max, Cinema 4D, Blender etc. Unity also features a 3D modeling feature within the software itself as well as a built in asset store.

Simulation/Debugging

In Corona, the code is written in Lua and played in the Corona Simulator. The simulator offers a lot of skins, resolutions and ratios. It is quite responsive, quick and reloads the game each time the code file is saved. The simulator and code can be open side by side for maximum ease. However, it has also been noted that a lot of times there is a great inconsistency between the simulator and actual device. Run time errors (those which crash the app) can be viewed and tracked in the simulator itself. Diagnostic output

the most powerful features around that are not even possible with Corona. Also, a lot integrated development environment with of things such as when manipulating with Physics can simply be done with a few clicks or dragging and dropping components instead of writing long lines of code. Unity 3D requires all scripts to be written in JavaScript, C# and a handful of other languages, attached to various 3D objects as components. Most of these languages require some time and experience to learn, as well as knowledge of Object Oriented Programming principles,through debugging statements can also be viewed in the Simulator Console. Xcode/adb can be used for viewing debugging logs connected to the device where the app is run.

Unity provides multiple views for the game and scene. Hitting the play button allows the game to be run inside the development IDE using the keyboard and mouse. Inputs through some external device such as an iPad or iPhone can be taken via the Unity Remote app for quick and easy testing of the game with the device acting as a remote. When testing directly on the device itself, it is possible to view the debugging logs inside the Unity IDE or through Xcode/adb.

Community Forums and Help

Corona offers official documentation, guides and tutorials for explaining all the essential concepts involved. Basic Google searches can also help in providing quality examples by different websites and the community. Corona forums are also available that offer a big wealth of knowledge within Corona’s own moderators and experts. They quickly answer questions from both beginners and advanced programmers.

Unity also provides high quality documentation, video and text tutorials on creating and using scripts and components. Similar to Corona, Google Searches or Unity Forums and Answers can be used for finding solutions to problems by discussing with other Unity Developers. Unity additionally also offers live seminar style sessions with tutors on a particular topic or project.

Tags: , ,

Show Comments (0)

This is a unique website which will require a more modern browser to work! Please upgrade today!