Limited gaming/development experience for cross-platform HTML5 games.
A comment I received recently to my post titled “Where and how can we play HTML5 games?” has inspired me to think about the limitations which developers can run across during the development of HTML5 cross-platform games. The experience created for these games can depend on how developers will use the code and how they will create game mechanisms. In the end, imagination and overcoming a few technical issues are the only limitations, and those have to be kept in mind when developing a game. Having fun with friends who use different devices can be very attractive. The gameplay thanks to the cross-platform feature can happen on multiple platforms and operating systems, but before we start to create a cross-platform game, we need to think about the limitations that we will have on each of the devices we are targeting.
-
The first issue we meet is the input or the steering.
Before developing a cross platform HTML5 game, we need to think about about the gamer’s experience and how they will operate the game. For PC’s or consoles it is pretty simple. Most games developed for those platforms use a keyboard and mouse or possibly a special input device such as a gamepad, joystick or steering wheel that can also be customized. But for smartphones, tablets or devices running similar OSes such as Smart TV’s, it is much more difficult. The touch, tap, or slide features limit the user in steering in a game, and we cannot customize it. The TV controller is also limited in its function. This is a very obvious issue, but it may be crucial to gameplay and game types available. Think about it seriously before creating a prototype, and then test it so you don’t run into future issues in the project’s development.
-
Testing the games may be difficult.
Creating the game code for many platforms in a multiplayer game can be difficult, especially since developers have to sacrifice extra time for testing and fixing issues for the various devices. It is fairly obvious that the slogan “One code, multiple devices” doesn’t really work as easy as it sounds. It may cause extra frustration. I’d like to quote one of Gamasutra’s articles “While HTML5 might be designed to run on a wide range of devices, there’s still no reliable way to maintain performance across varying hardware specifications“. In this article, EA creative director Richard Hilleman said that “On my own computer, which runs on an i7, I couldn’t get more than a few frames per second [from our demo]”. Futher in the article he explained that “high performance JavaScript is obtuse at best“, so it’s hard to predict how an app will run on a given hardware specification. For a developer there is a need to solve a lot of problems during the game testing. The variety of devices in your gaming studio has to be really big, and it’s not only limited to devices that have the latest system updates or simply the newest smartphones or tablets. Developers also have to think about older devices, the ones who are owned by gamers who don’t update their hardware or systems very often. Because of those issues the game may not simply work on bigger part of devices. The same issue occurs with older versions of browsers on multiple devices on various platforms.
-
The speed of the game on various devices requires code optimization.
This may be very difficult, and it is strongly connected with the game testing process because a game can work great on a PC, but the performance on a smartphone can be poor because of the lack of CPU power or memory (or vice versa if a game was designed for a smartphone in the early stages.) It is important to design the game while keeping the technology limitations in mind for various devices. For example, you might create a great game based on WebGL, but it simply will not work on a tablet, or worse will not work on a smartphone. This may sound obvious, but I believe you get the idea.
-
Issues with audio implementation for mobile devices.
Issues may occur with game lags or even the browser crashing while playing. Develop-online posted the words of Chris Herbert, technical lead of Remode Studios, where he says, “… audio is considerably behind the rest of the platform’s features, with problems such as lag and file support”, although he believes there could be vast improvements in this area in the future. There are clearly areas of HTML5 that need some work, audio being an area that’s lagging behind quite dramatically, particularly in mobile browsers (…) “The problems mainly relate to how sound data is swapped out of sound channels, many browsers are experiencing a lag, or in some cases jumps or pops (…) Also, the support for audio file formats is inconsistent, with some browsers favouring the ogg vorbis format whilst others – such as Safari – favour the MP3 format.” But further in the article, Sandy Duncan, CEO of YoYo Games, confirms that this issue is being worked on, and it just needs time to be fixed. Hopefully we will expect that fix soon, since this is one of the core elements of having fun. It hasn’t been the biggest issue for mobile since most HTML5 mobile games don’t have sound, but it is not acceptable by players who play those games on PC. It would be great to have same the sound experience for all platforms while playing a game.
-
Big screen vs small screen experience
The difference in screen resolution can be an issue. If for example developers make strategy or rpg games where there is a vast map that players have to move their units around on then there can be a problem. Players with lower resolution screens (smartphones) don’t have a chance to react as easily if they need to scroll the whole map to defend their city or send out troops. We may find similar problems with a difference in game design for the different size screens. On the other hand, simple games made for mobile devices may not look as nice on high resolution TV or PC screens, so this would also require a solution. The developers could only consider building the type of games that will not cause a problem for any platform.
-
Multi platform interface
During the start of development of an HTML5 game, developers have to design different types of game content on the screen (especially different user interfaces) for players on different platforms. This can become quite complicated, because every platform will use a different type of screen setup. Yes, it is very similar to resolution issues and for sure it requires planning of the screen setup. This is the moment where UX and easiness of game use comes in, and it is crucial to plan the interface according to the limitations of design possibilities for various devices.
Conclusion.
Those issues are not the reasons to give up on HTML5 cross-platform game development. These are just some obstacles that each developer meets during game creation. We have found out already that many past issues with games performance and speed have been solved. Nothing is impossible as long as developers and the companies which create browsers, operating systems, and coding languages find a way to solve some of these issues. Do you agree? Have you found other issues in HTML5 coding and solution you would like to share? I’d like to hear them from your point of view.
Image cover courtesy of [KROMKRATHOG] / FreeDigitalPhotos.net