With any development, it’s important to pick the right tool for the job. I tend to roll my eyes whenever developers try to convince me that one program or coding language is inherently better than another. Every one has its pros and cons and you need to understand them to be able to create the best product with the quickest turnaround.
My current two projects are both 2d and pretty simple from a coding perspective. Math Monsters is just a simple game where an equation is created on the stage and you drag in the missing number(s). My main objective is to build a mobile version, but a free web version will also be available. I don’t have time to build two versions so finding a program that deploys to both was imperative. I kept leaning towards Flash because of how well it handles 2d and how small the web file would be, but I eventually went with Unity.
The number one reason I went with Unity is how seamless the development is between target platforms. My code for the web version is almost identical to the iPad build. In fact, the only difference is one little “if statement” telling it how to handle fingers instead of a cursor. With Flash, it would have required a lot more tweaking.
The other deciding factor was Unity’s speedy workflow. Flash is versatile, but Unity is built for making games. When I first starting playing around with it I was having a good little laugh at how much could be done with so little work.There’s no way I would be this far along if I were working in Flash.
My one qualm against Unity was that I wanted the the web version to play in the Flash Player. I think the Unity player is better suited, but so many more people have the Flash Player. Luckily, Unity just released the 3.5 beta which does deploy to Flash. I haven’t quite got it working in 3.5 yet, but it’s close.
Always make sure you’re using the best program for your specific project, but you should definitely look into Unity as an option.