GSN Games is completely satisfied with Program-Ace's technical expertise and the quality of services they provide. We look forward to collaborating with Program-Ace again...
Being a well-established software and game development company with long history of successfully implemented game projects, we decided to share our experience and thoughts regarding two most popular technologies used for development of games, these are — Unity and HTML5.
The most popular tools for game development today are Unity, Unreal Engine, Cocos2D and HTML5. Each of them has its pros and cons. But as our primarily focus is on development of cross-platform games, we would like to consider our attention on Unity and HTML5 and discuss pros and cons of both technologies in detail.
Unity can be used for implementation of large projects, like AAA games, and small 2D games for mobile platforms. Support of 2D content in Unity is relatively new, previously we had to use a variety of plug-ins (Toolkit 2D, for example). Latest versions of the same game engine allow comfortably creating games for a broad palette of different devices. Thanks to this engine, we are creating cross-platform mobile games with high-level graphics, which at the same time do not have strict requirements for mobile devices.
• The first advantage of Unity – is C # programming language. This is a high-level language allowing programmer to easily adjust and enter the development process. This is important because, unlike other engines that use C ++ language, C # has a lot of elements and techniques that have already been implemented, and all the programmer has to do is use them properly.
• The second advantage – is its cross-platform nature, that is, the same code written in Unity can be transferred to different platforms (PC, Mac, Android, iOS, Web, video game consoles, WebGL, etc.) with minimal changes. This is a huge plus, which reduces time on development of game for each new platform from scratch.
• The third advantage - Good Community. This means that there is a clear description of various functions of the engine with examples on developer's website, and development team can turn to it any time there is a need. If something still remains unclear, Support Center will answer your questions.
• Its fourth advantage is the Asset Store, where there are many different plug-ins and resources to create a game. Of course, some of them are free, some are paid, but they are all gathered in one place with convenient search function and ability to upload, integrate and get immediately into the game.
Not so long ago Unity 5 was released at GDD in San-Francisco. Two versions of the engine offer great options for both freelance developers and large game development studios. We are using Pro Version, wchi is designed for professional teams and has additional services such Unity Analytics Pro, Unity Cloud Build Pro and some other.
Creating online games with HTML5, developers have a limited set of plug-ins to choose from. Most creators of HTML5 games use this technology to build simple 2D games that run thorugh all platforms and devices. If you still doubt why and whether to use HTML5 to develop your next cool game, see some highlights we gathered for you below.
• No need in additional software
Plug-ins – are those little extras that operate in the background and guarantee functioning of certain parts of the software. These are small programs with limited functionality that are "attached" to larger, more complex application in order to expand its functionality.
HTML5 is native for browser, where it works and does not require any additional plugins. HTML5 game runs directly in browser eliminating any "intermediaries" in form of additional software installed. There are also no annoying pop-ups asking you to update the page or install something. Functioning in its native environment the game becomes much more stable; it requires fewer resources and is less likely to commit errors.
Network – is a huge space where there are both a huge number of different devices, gadgets and platforms. It may become a huge problem for a developer to study all of them and their peculiarities in detail. A game based on plug-ins will only work with devices that support corresponding extension. HTML5 is not currently running everywhere, especially with older devices and browsers. In the future support of HTML5 will become mandatory. This is a huge advantage for game developers, as only one version of a game will be enough to adapt for different target platforms.
• Local Storage
Cookies files are convenient. However, they have both new possibilities and some limitations. For example, cookies may be no more than 4 KB in size and it is sometimes difficult to access them. At the same time HTML5 Local Storage has the ability to store large amounts of information, limited only by size of a hard drive on your computer and browser settings. It also offers high performance and no restrictions of life time.
• Support for multi-user mode
Websockets support - is one of the most intriguing and promising technologies in HTML5. It offers real-time communication bidirectionally between client and server sides. Probably the most important part in this for web game developers is easy and quick creation of multiuser online games.
In HTML5 everything is free; there is no need to pay royalties to anyone. In addition, developer does not need any special IDE; a simple text editor will be enough (although this may not be the most efficient way to implement the task). Cost of license may not pose a serious obstacle for large game companies, but for independent developers low-cost or free tools could be an important advantage.
• Open technologies
Never underestimate the power of open source software, which has broad support of developers from around the world. Sure, there are thousands of websites, tools, communities, training programs, and other useful resources on HTML5, and even more will be created in the coming months and years, as use of this technology is constantly increasing.
HTML5 – is a new technology, which has some disadvantages. They need to be taken into consideration before making final decisions. However, many of them are temporary disabilities and disappear, as soon as technology improves.
• Partial and inconsistent implementation in browsers
As mentioned above, HTML5 is still a very young technology. Its widespread use should be expected over the next 10 years. Browser vendors have shown incredible care when implementing new technologies to support in their browsers. However HTML5 specification is still in process of finalization and technology itself is under development.
• Lack of coordination between browsers
Browsers are developed by various organizations and a common standard of HTML5 remains a desirable goal. Moreover, it is likely that incompatibility will exist even afterwards. Often these differences are not significant, but nevertheless they bring some discomfort at final stage of work.
• File formats
When working with HTML5, developers often need to use additional media files. And there may be many questions concerning copyright. Besides, what suits one browser may not be suitable for the other one. As a result problems with interoperability and standardization remain unsolved.
• Worse support
Today, there are too few tools, structures and resources for HTML5 compared with popular plug-ins (like Flash). As noted above, it is expected to change in the nearest future.
• Limited resources
With HTML5 you really do not use plug-ins, but still working inside the browser. That is, there is another layer of software between game and your hardware. And if you make a game too difficult and heavy, it will require a lot of resources that could result in big problems. This is especially true for those who are engaged in development for mobile devices, which often have very limited computing power.
Despite the above shortcomings of HTML5 it can be an excellent solution for online gaming. Many developers have already recognized its advantages and presented a variety of games, based on this technology.
Undoubtedly, games based on different plug-ins will continue to move at the same pace for some time. But the situation will start to change, as soon as HTML5 games conquer the gaming world and when browser makers develop a more comprehensive version of HTML5 tools for games. HTML5 can soon become a leading tool in creation of online games.
The installation of environment required to confortable and effective work with HTML5 is more understandable and friendly to the developer rather that Unity. The technology is not tied to a single IDE, also there is no need to configure local code. At the same time, installation may seem "incredibly difficult" for beginners and take a lot of time. Among other challenges is a need to install a lot of IDEs and a local server, so it is quite difficult to choose.
Unity immediately includes everything developer needs: built-in game editor and consistent development environment.
Unity is ideal for development of both fun and impressive, simple and AAA games in both 2D and 3D format: development in C #, built-in physics, preview, debugging and assembly of components and overall ease of creating games. However, Unity can be an obstacle for those who think that despite the love of C #, the language may complicate the logic of the game.
HTML5 is designed for Web, so it is quite easy to publish game on the Internet, also it does not require any plug-ins that make the product look perfect on mobile browsers. On the other hand, publishing a game in offline mode is just starting to pick up steam and there is no single solution.
Unity has all means to publish the game in one click, which is very easy to operate. The tool supports all devices: from mobile and desktop to browsers, WebGL for publication in the network, and different types of game consoles.
HTML5 shows different quality of 3D in browsers without installing any third-party plugins. But these samples are in their infancy stage and far from what Unity has to offer.
Internet speed grows, so maybe 3D games in HTML will come nearer to Unity in quality. Unity3d is a fully functioning 3D engine that doesn’t bring any limitations to creative and development teams.
Potential audience of HTML5 games is all Internet users who like to play online games. There are some restrictions for HTML5 games on mobile devices; however they can be played on mobile too.
Unity games can be played anywhere: in browser, on desktop, mobile and consoles, so your potential audience is larger by times compared to that of HTML5.
Each game development studio should decide for itself the strategy to follow. We at Program-Ace are glad to have specialists in both HTML5 and Unity to cover possible needs of our clients. Before starting the development tech leads should analyze business requirements for the game and offer technology that suits better for a particular need project. While making a decision we take into account a lot of factors like intended audience, target platforms (mobile, online, desktop, consoles, etc), budget, deadlines, game type, graphics type, and many more.
You can check some of recent games we worked on in our Portfolio.