May 18, 2019
2 min read
Unity is one of the most powerful and popular tools for game development across platforms. Originally used to make games for desktops and consoles, it now lets you build games on 27 different platforms, including smart mobile devices.
Mobile Gaming In India
According to a report by Flurry Analytics, India has emerged as one of the top five countries worldwide for online mobile gaming. Indian gamers are responsible for 13% of all global gaming sessions, second only to the US’s 20%. Mobile gaming revenue in India is also expected to reach $1.1 billion by 2020. While these stats are impressive, they are mostly restricted to an English user base – India is home to nearly 1.3 billion people, and only around 10% of them know English.
While game localization is not new (and it is indeed the norm in East Asian countries and most of Europe), game localization in Indian languages has not been given adequate attention.
In the past few years, companies have begun to acknowledge the need of Indian languages on the internet, and this need is now catered slowly through localized apps like Dailyhunt and Mooshak for categories like news and social media. The Government of India has also realized the necessity of localisation and has mandated Indian language support on mobile devices.
The question isn’t if there’s any demand for content in one’s own mother tongue or not. The question is why mobile gaming in India hasn’t been adequately localized yet.
Unlike news, media and entertainment, or social media apps, gaming apps rely heavily on image frames, sound files, game physics, camera angles, and loads of visual, textual, and audio content to create an immersive experience.
Unity & Indic Fonts
In any game, text is used throughout, from title sequences, to character selection, to instruction, to narration to credits. You get the picture.
While Unity supports development of games in both 2D and 3D, the way the text is defined and used in these separate interfaces are different. When it comes to Indian scripts, their inherent non-linearity – factors like correct mātrā (vowel diacritic) positioning and conjunct formation – play a large role. In the absence of such rules, Indian language text is forced to fit linear patterns on platforms similar to Unity. Without proper text support, localisation for Unity is pointless.
Reverie decided to take up the challenge of localising Indic text for Unity, to make it easier for new generations of Indian gamers to play games in their own language. To facilitate the greater project of localising games, we decided to start by fixing the basics – script rendering issues.
This is how it works.
Reverie provides developers with a tool that lets them convert Unicode strings in Indic languages into font code strings. These font code strings are then rendered with Reverie’s proprietary, high quality fonts, providing a superior visual experience that produces highly legible Indic text for gaming.
This string conversion tool can be provided as a runtime Unity library, or as a web based tool.
Here’s an example of native Unity rendering of text strings in Indian languages, versus rendering using Reverie’s proprietary fonts and rendering method.
Unity rendering without Reverie’s fonts