Roku Game Development?

I couldn’t find this info anywhere, but what languages can I use to develop games for the roku devices? I already have an android ready app, does Roku support android apk’s? Thanks for any help.

At this point I believe BrightScript is your only option (APKs are most definitely not supported). They used to have an NDK that allowed you to use C/C++ (other languages?), but I believe that’s no longer an option and was pretty much reserved for special partners anyway. There was also some other game platform partnership, but I can’t remember what it was and I don’t know if it’s still available.

-JT

Thank you for the quick reply, much appreciated. And with that… my dreams of roku game development are gone. lol.. :face_with_tongue:

“2dguy” wrote:
Thank you for the quick reply, much appreciated. And with that… my dreams of roku game development are gone. lol.. :face_with_tongue:
Really? Are you a programmer? Not willing to learn Brightscript?

Before you give up you should check my open source games:
https://github.com/lvcabral/Prince-of-Persia-Roku
https://github.com/lvcabral/Lode-Runner-Roku

And also the amazing engine created by Romans I XVI:
https://github.com/Romans-I-XVI/Roku-gameEngine

I didn’t know about the game engine, interesting!

re: Roku/Brightscript…

Q) What are the best examples of 2D games on Roku developed in BS? Videos or channel links appreciated, thx.

Q) I’m mainly interested in developing arcade games that typically have 100s of 2D sprites zipping around. Is this possible and if so, what kind of frame rate can I expect?

Thank you.

Anything by Romans I XVI:
Retaliate
SNAKE
Rainbow Dash
Tiles
Midnight Divide

or marcelo.cabral:
Prince of Persia
Lode Runner
Moon Patrol
Quartet

Or just browse the games and try some for yourself

So far, ALL games are basic/simple. Nothing I know of has hundreds or even dozens of sprites, except maybe Retaliate, which is still pretty basic.

Yeah Retaliate’s a great game. Midnight Divide (same developer) seems to have stepped up a bit of the overall graphics & feel of the look & graphics, but personally I find Retaliate has more of an ‘arcade’ style..

Thx for the replies. I’ve played several Roku games, but I remember reading where some apps were allowed to use low level tools other than Brightscript to code their games so I didn’t know which games were designed using BrightScript. Looks like BS is very capable. Is there a better forum for Roku game development using Brightscript? Thx.

“2dguy” wrote:
Is there a better forum for Roku game development using Brightscript?
No, this is it I’m afraid.

“Komag” wrote:

“2dguy” wrote:
Is there a better forum for Roku game development using Brightscript?
No, this is it I’m afraid.
You’re welcome to create a channel on the roku developer slack group, to start a community, if you wish. http://tiny.cc/nrdf0y

“georgejecook” wrote:

“Komag” wrote:

“2dguy” wrote:
Is there a better forum for Roku game development using Brightscript?
No, this is it I’m afraid.
You’re welcome to create a channel on the roku developer slack group, to start a community, if you wish. http://tiny.cc/nrdf0y

This is a really good idea actually. I personally really like the slack group, especially for the work being done on the vscode extension.

I might start a channel for game development.

I joined the channel, but what benefit is there to that vs just posting here?

If you’re asking me personally I’d say just for the sake of actually having a conversation on a personal level as compared to a forum thread that works more like an email conversation.

Also, the only real reason it could be good to specifically have a collection of people who do game development is game development tends to encounter specific challenges that most other types of development wouldn’t. On top of that I believe we are the only people still using SDK1 correct? I mean I suppose maybe screensaver development as well. Outside of that I’m not sure what else you would still use the Draw2D API for as opposed to scenegraph.

I guess I can see that, good points

“Romans_I_XVI” wrote:
Also, the only real reason it could be good to specifically have a collection of people who do game development is game development tends to encounter specific challenges that most other types of development wouldn’t.
I would be happy to participate in something like this if it got organized. But it feels like there are only a handful of people, and having them in different venus makes it seem like less. I don’t mind this format here at all, maybe I’m just used to it. I make screensavers and more advanced art projects not games, but I’d be surprised if game developers don’t have the exact same problems/solutions I run into.

fwiw -the channel has got a bunch of very motivated Roku developers sharing knowledge, open source projects and collaborating. For a few of us, the way we work this year is streets ahead of where it was last year, as a direct result of that. I was thinking you might get the same kind of result for games, as we’re all focused on SceneGraph development.
This forum is great too; but there’s something about real-time, that blazes brighter imho.

Without a doubt, Roku App development is SUPER HOT. You would notice that every other media and gaming company is pushing their apps in the Roku store. You can see the available applications growing in Roku App store exponentially. This blog post is for developers who are getting their feet wet in the Roku Waters and should act as the FAQ for the app development.

What is Roku?

I am sure, you already know what is Roku but it is still a good idea to read this (Wikipedia Style) Blog entry (What is Roku?) to understand the primary usage and its a glorious history

Is Roku App Development Difficult?

Short answer, NO!. And here is empirical evidence. Till about 14 months (July Circa 2014!) ago, we did not have 1 single Roku app in the store. Now we have 15 Apps that are live and are all getting rave reviews and got 4+ Stars rating. You see, it is NOT difficult!

What all we have learned?

There is just 1 programming language that is supported by the Roku platform and it is called BrightScript

. BrightScript language is a Python-like scripting language that is used to develop app/channel for Roku device. If you know Python, it is a lot easier for you to pick it up. In order to understand this language, go over the:

SceneGraph is Roku’s flagship framework. It is an XML based framework for building channels and it is primarily used to design channel UI. Here are the 3 most important links that you should be going over:

The RAF(Roku Advertising Framework) library is used to allow developers to show ads. It is used to integrate video advertising features in-app/channel. Note that if you are integrating it, the following line must be placed in the manifest file for any applications using the Roku Ad Framework (RAF) library:

bs_libs_required=roku_ads_lib

And following line should be the first entry in your main.brs file:

Library “Roku_Ads.brs”

How long does it take to develop a Roku app? Well, it depends on what type of app you want to build. If you are using SceneGraph which you MUST nowadays, it would take a bit more time. A typical game with above-average complexity requires about 3 weeks to get an app in the Roku Store.

Well finally, you should be able to hook up the Roku apps to some other application endpoint. Every other project that we worked on, had some level of API integration. In fact, we can easily integrate the APIs in the Roku channel. We have used the Brighscript component called roUrlTransfer and task node for integrating APIs. You can read a bit more about API integration here: https://sdkdocs.roku.com/display/sdkdoc/Web+Service+API

Yes, you can very easily integrate in-app purchases in Roku channels. Please refer this link to enable in-app purchases (https://sdkdocs.roku.com/display/sdkdoc/Roku+Billing+and+In-Channel+Purchasing). You need to first enrol in Roku payout program, then you would have to create Products, which are linked to a particular channel/app.

Similarly, according to the Roku checklist, the advertising is an essential part of game Roku app/channel. Please refer the following link to integrate the advertising in app/channel https://sdkdocs.roku.com/display/sdkdoc/Integrating+the+Roku+Advertising+Framework

Well, this requires it’s own space. Read it in concluding part here: https://tudip.com/blog-post/roku-app-development-app-publishing