Developing games in Unity and HTML5 both have their pros and cons when publishing to multiple platforms. During his Develop Live talk, Amazon's Jesse Freeman discussed how the two compare with each other during the games-making process, and discussed the setup process, the development phase and finally publishing the game to various platforms.
During the setup phase, Freeman said setting up a HTML5 development environment was easy and straightforward for web developers. He said it has no IDE dependancies, and can use online IDEs, and no local code setup is required.
Despite this, he noted some of the setup can actually be "incredibly compilcated" to those new to HTML5, and during workshops, it can take an "enormous amount of time" to get people set up. Other issues highlighted included the need for a local server and the fact that there are a plethora of frameworks to have to choose from, making it difficult to choose the right one.
Unity meanwhile can be worthwhile for developers as the engine is completely self-contained, with Freeman describing it as a one-click solution, housing a built-in editor to run the game and a consistent development environment.
An issue Freeman took up with Unity however was the fact it is controlled by a single company which developers depend on, similar to the situation presented by Adobe's Flash before HTML5.
He says the fact it isn't open source means once developers find bugs in the framework, they have to wait for Unity to patch it, and any later updates can break the workarounds built in the meantime. Lasltly, he highlighted the fact you can only use the Unity IDE for making Unity games, and the requirement of using Unity's workflow.
Building a game
Cons for using HTML5 however include not always picking the right framework, and not knowing where to even begin, given the sheer number available. He said most frameworks are in various stages of being stable or in-development, rather than being fully complete tools. Freeman added that limited tool integration and incosistent performance across the board were other potential cons for HTML5.
Unity, Freeman said, is great for devs as it is designed for complex 2D and 3D game development. Highlights for him included the use of C# for coding, the built-in Phsyics, preview, debugging and component building features and the general ease of development.
On the flipside, Unity can "get in your way" at times, he said. Freeman stated for someone like him who likes to build everything in his own way, Unity would sometimes cause problems because he wasn't developing "in the Unity way". He also stated that while he likes C#, it can complicate simple game logic, while script-based coding makes it difficult to have reusable libraries of code.
Freeman said that as HTML5 is web-based, it's easy to publish games to the web, and the fact no plug-in is required makes it ideal for mobile and web browsers. "Any web dev will feel at home publishing their game online," he said.
Despite some ease-of-use, he admitted publishing HTML5 games offline is still in its infancy, referring to the process as "torture" on occasions. Other issues inclue no one-click native solution and performance issues.
"Unity has a one click publishing solution that is dead simple to use," said Freeman, who added that it supports everything from browsers to game consoles, including desktop and mobile. He explained it is easy to publishing straight from the IDE, while Unity offers great performance, even on low-end devices.
Though the engine offers ease of use and good performance, Freeman said the cost of publishing to each platform is a huge limiting factor for some developers. As well as being expensive to reach multiple platforms, he said the lack of support for mobile and web browsers and the requirement of a plugin for web playback were other issues for Unity.
Overall, Freeman said it doesn't matter where developers make games and publish from, but creators need to find the tool that's best for their particular project, based on the advantages and disadvantages of the tools and tech.
He added that Amazon itself had now released a range of devices ideal for cross-platform development, such as the Fire Tablets, Fire TV and Fire Phone, and that it was one of the only companies "putting a lot of effort in supporting HTML5 as a first-class citizen on our platform".
Tools Amazon has build to support web development include its Web App Tester that requires developers to just enter a web link, from which Amazon will build an app around ready for its target device.