BT

Facilitating the Spread of Knowledge and Innovation in Professional Software Development

Write for InfoQ

Topics

Choose your language

InfoQ Homepage Articles Is Developing Games for CTV Really That Hard?

Is Developing Games for CTV Really That Hard?

Lire ce contenu en français

Bookmarks

Key Takeaways

  • The development of games for CTV offers new territory and opportunities for programmers.
  • Mobile gaming exploded in popularity over 10 years ago, and CTV could be poised for a similar development.
  • There are several important issues like device format and screen size developers need to keep in mind.
  • The best platforms for newbie developers are Apple TV, Android TV, and Amazon Fire TV.
  • Roku and its associated language BrightScript are rewarding but may prove more difficult for new developers.
     

Game development for CTV has a reputation for complexity, but is it deserved? We examined four key platforms to find out. 

The growth of connected television (CTV) in the wake of the COVID-19 pandemic is well documented and is continuing at a remarkable rate. Audience uptake is increasing exponentially, with 60% of adults in the U.K. watching CTV as their primary way of watching television. Similar numbers are reported in France and Germany by the IAB. As these audiences continue to grow, new forms of CTV content are becoming mainstream, and games like Crazino are gaining in popularity.

CTV gaming has suffered from a lack of interest as developers often preferred to focus their attention on more established mobile apps. However, this is changing – in no small part due to the explosive growth of the CTV market. There are now hundreds of games on offer on platforms like Amazon Fire TV, Apple TV, Roku, and Android TV. 

Despite this growth, some doubts remain about the viability of CTV gaming, and the industry still has its naysayers. Why develop a CTV game, some may say, when creating a streaming app is a more straightforward process? Creators can be expected to carry some of their audience over from their channel after all, while games offer no such guarantee. Also, mobile games are an established market so some might say that it’s easier to begin there than CTV.

Why Is CTV Development Different?

CTV developers need to think differently from mobile developers. For example, touchscreen-friendly controls make little to no sense on CTVs, most of which have large flatscreen TV form-factors. Developers shouldn’t assume the presence of a game controller or gamepad either. Instead, they focus on remote-based game controls (focused on hand and wrist movement over finger control like you’d find on mobile games), or for a more innovative approach, voice and/or camera controls for CTVs with built-in microphones and webcams. 

Making any kind of video game requires a lot of work (both in development and while providing post-game support). Is the process of developing for CTV really that much more difficult than mobile development? 

Naturally, I’m a little bit biased here, but I think CTV game creation is a rewarding process that’s not as hard as it’s made out to be. Playcent Games goal is to revolutionize CTV gaming by not just creating fun to play and exciting gaming content, but by illustrating how newcomers to the industry can spread their wings too.

Apple TV

Creating a game on Apple TV is largely similar to creating iOS apps, which is an advantage to developers who are starting out in developing content for CTV. Having the same development stack apply to games and media and lifestyle apps alike makes creating your first game easier. Also, as the apps can operate across all of Apple’s platforms, you can potentially secure a large audience straight off the bat.

However, while Apple TV operates on a stripped-down version of iOS, it does not have its own software development kit (SDK). In fact, its base class header files are taken directly from the iOS SDK. This could be off-putting to complete novices who may prefer to work with a pre-prepared development kit, but for people with more iOS experience, the absence of the SDK should not provide too much of an obstacle.

If you decide to use Apple TV as your platform, then you should consider using a combination of Swift and Objective-C as your primary programming languages. In particular, Swift should be a main focus for your attention, as Apple has invested in making this language the main vehicle for development across all its platforms.

A major new development too is that iOS games can now be developed via the Unity platform. This service is being used to develop more than 1,000 games for Apple devices and is growing in popularity. It also offers an easy-to-use interface for new developers combined with learning tools and the threshold for creating higher quality games is lower, however it is more expensive to develop an app on this platform and it requires more memory too.

Recently, Apple unveiled the Apple TV 4K 2021, which contains a number of upgrades including the A12 Bionic chip designed to provide notable improvements in graphics performance, video decoding, and audio processing. These updated specs – Apple called the chip when it was first released for the iPhone the ‘smartest and most powerful chip ever in a smartphone’ – means that Apple’s products, including its CTV, will be able to handle even higher graphical fidelity games. This syncs with the company’s recent focus on its Apple Arcade game storefront, which has seen a number of exclusive releases lately, including a role-playing game made by video game legend and Final Fantasy creator Hironobu Sakaguchi

Taken as a whole, it’s clear Apple is devoting more of its considerable resources and focus on games. Therefore, developing games for the Apple TV in particular is likely to open up exciting opportunities for entrepreneurial developers and studios, also thanks to the company’s legions of followers who are always keen to snap up new gadgets and content. 

How to get started: Direct development with Xcode tools and Objective-C, Swift, JavaScript, and TVML. When you use Build an App with Apple TV App the process is similar to iOS, with differences in using different libraries and adapting controls to the Apple TV Remote. The Siri Remote is the primary input device that relies on several core gestures like swiping and clicking to utilize an app. Check Apple’s human interface guidelines for more information.

Google TV

Google TV echoes the Apple TV process, in that if you understand how to build apps for mobile or laptop devices, then you will be able to apply the same knowledge to Android-based TV. Likewise, the way in which a user interacts with content on a CTV differs from the way they interact with smartphones or Chromebooks – the primary devices where users will encounter Android OS.

When it comes to programming languages, Kotlin/Java will prove to be the most beneficial to Google TV app developers and there are a number of dedicated Android software development kits (like Android Debug Bridge and Fastboot) available that can be used to optimize how apps are run and installed. Also, it’s worth bearing in mind that Android games should be designed with high quality and simple navigation that adheres to Google TV’s remote control D-Pad format, of which there are a number of technical caveats.

Overall, the game development process can be a good introduction to CTV, as thanks to Android's pervasiveness there are plenty of other apps and support tools you can look to for inspiration and help. Android development is also supported by Unity much like for Apple devices and it even includes augmented reality options, though, as with Apple, AR can lead to higher quality apps but with greater hardware and memory requirements. Whether this will be continued into Google TV specifically, however, remains to be seen.

How to get started: Android Studio IDE uses Java, Kotlin, and C ++. Android TV apps use the same structure for phones and tablets. This means that Android developers can adapt existing games for Android TV. Google TV can be operated from your Android smartphone and a number of remote control devices are also available.

Amazon Fire TV

Amazon Fire TV is based on Android technology, so some of the key lessons that apply to Android also apply here. You can use the Fire App Builder, Javascript, Java 8, and Gradle, as well as the application programming interfaces (APIs) and integrated development environment (IDE) tools that can be used for Android.

Amazon Fire TV may be a good choice for new entrants to CTV gaming development, due to the high specs of Amazon Fire devices. This includes a powerful quad-core CPU combined with a dedicated GPU. The hardware on the latest Amazon Fire TV offers 2GB RAM, 8GB internal storage, support for 4K video output, support for HDR, and Dolby Atmos audio, representing a solid bedrock for developers to base their games on.

How to get started: Use the Fire App Builder framework. Third-party development frameworks are used for game development, including but not limited to Cocos2d-x and GameMaker. Comes with the powerful Amazon Fire Stick which works based on intuitive hand gestures, conventional clicking and Amazon Alexa voice control.

Roku

When it comes to CTV gaming, Roku is the odd one out. It arguably has the most potential, yet it is proving to be undergoing something like early adopter syndrome. For starters you cannot use programming languages like JavaScript or Swift. In fact, Roku makes you use its own in-house coding language – BrightScript.

BrightScript has both similarities and differences to popularly used programming languages for video games. For instance, it does not offer a separate compile step that automatically allows a binary file to be created, similar to JavaScript. It is not C-like in structure, with syntax more similar to Python or Ruby, and data structures are organized as associative arrays – much like JavaScript.

However, it has optimizations not present in those languages to make full use of the embedded processing chips found in most CTVs, and letting it operate as a glue that supports underlying hardware factors, including network connectivity, media playback, and UI screens. Its components are written exclusively in C, which is an incredibly powerful, fast, efficient and portable programming language, and developers do not require any knowledge of Linux or C to build Roku apps. 

Additionally, programmers already familiar with Javascript-like data structures and Python-esque syntax will find coding for Roku to be a much more familiar endeavor than they might have expected.

Instead of viewing its peculiarities as an obstacle, Roku  should be seen as a new platform, taking its place along with PC, game consoles, and mobile – all of which require radically different development tools and strategies.

How to get started: Learn how to use the programming language BrightScript. You will have fewer learning resources to rely on as the Brightscript developer community is relatively small compared to iOS and Android. Taking an unconventional approach, Roku offers a dedicated app as a remote control although physical versions exist too, which needs to be remembered by developers.

Summary

Developing a game for the CTV market is nowhere as difficult as some believe, especially if you have a background in Javascript or other languages. While Roku may be the most difficult to start off with, it has potential, and Apple TV, Android and Amazon Fire TV all represent decent platforms for developers to hone their craft. Getting in early will mean a greater advantage, and studios who dive into the field now will find that they may be able to set the standards of this rapidly evolving video gaming horizon. 

Takeaways

  1. The development of games for CTV offers new territory and opportunities for programmers.
  2. Mobile gaming exploded in popularity over 10 years ago, and CTV could be poised for a similar development.
  3. There are several important issues like device format and screen size developers need to keep in mind.The best four platforms for newbie developers are Apple TV, Android TV, and Amazon Fire TV.
  4. Roku and its associated language BrightScript are rewarding but may prove more difficult for new developers.

About the Author

Sergey Mishchenko is the Co-founder & СЕО at Playcent Games, a startup company, pioneering in the CTV game development industry. Sergey is an accomplished professional with 13 years of executive experience — 8 of them at C-level positions, — and knowledge of how to manage IT projects on the scale of thousands of people and across a dozen countries. Sergey's expertise in mobile apps development pushed him to explore new markets, and now, he strives to deliver professionally tailored games and revolutionize gaming on CTV.

Rate this Article

Adoption
Style

Hello stranger!

You need to Register an InfoQ account or or login to post comments. But there's so much more behind being registered.

Get the most out of the InfoQ experience.

Allowed html: a,b,br,blockquote,i,li,pre,u,ul,p

Community comments

Allowed html: a,b,br,blockquote,i,li,pre,u,ul,p

Allowed html: a,b,br,blockquote,i,li,pre,u,ul,p

BT