Friday, June 26, 2015

Does developing a game for Roku stink?

My RPG/action/adventure game needs a name!

But more importantly it needs a lot of work, hopefully only about six months worth, but we'll see.

My name is Ben, and I'm 39 years old. That's OLD to be taking up game programming for the first time, I think, but I'm enjoying it. Whenever I write a function and set up some variables and stuff that all works together how I want, I feel so smart! It's like, "Yes, I am a computer God!" The rest of the time I'm more like "What am I doing here?" But hey, where there's a will (and some reasonable intelligence or potential ability), there's a way, right? So I push forward and work on the next section of what I want to do with the game, and eventually get rewarded with another little breakthrough moment and all the positive rush of genius feelings that comes with it.

By day I sell solar panels. To some that probably sounds really boring, and to others that may sound pretty cool. For me, it's alright, but it's temporary, as my long term career is to be a financial advisor. I have my various securities licenses and background education in that industry, and selling solar panels allows me to sit down with people in their homes and talk about an expensive investment with regards to payback time, return-on-investment percentages, cost/savings analysis, etc., so it's a bit similar to my field.

But doing game development is way out in left field, relatively speaking. It's extremely different from my job or career. Maybe I like to think of myself as some sort of Renaissance Man, multi-faceted and awesome. Or maybe I just can't focus on one thing very long. Whatever the case, the fact remains that I have to majorly shift gears when I work on my game, and I find that it takes a good 20-30 minutes to "get into" it each time before I'm up to speed.

Developing for the Roku stinks! Here's why:

1. Most of the "controllers" (remote controls) only allow one button to be pressed at a time, so it's impossible, for instance, to run and jump at the same time! You can't even have diagonal movement because that would mean two direction buttons at the same time. Forget trying to make a serious platformer. A fighting game with combos? HA HA! A scrolling shooter? Nope. (Although the game "Retaliate" tries hard and manages to pull off a minor version of it.) It's a pretty severe limitation, and it generally leads to all Roku games being simple casual fare.

2. Many Roku models only allow a single sound effect to be played at a time. You heard it, one. If a second sound plays, the first is cut off. Clever programming can set up a priority system, so that if a second sound is low priority it simply is not played, to avoid cutting off the more important first sound that's not done playing yet. The newest models allow two sound effects to overlap, which is a big improvement, but it is (apparently) somewhat buggy and not always reliable. And it's still only two at a time, no more.

3. Save games are limited to 16k available space in the Roku "registry", usually meant for basic playback info for video channels. That's TINY for an RPG. The information stored can only be in the form of an array of keys and "strings" (words). I haven't even begun to address it, and while I have a few ideas how I'm going to approach it, I believe this is going to be my biggest hurdle.

4. You must have a physical Roku and screen/TV to do anything. There are no emulators or software environments that allow for more flexible development such as just taking a laptop to grandma's house. Although I have managed to finagle together a crazy setup using a composite video capture dongle (USB) and more cables than is right and proper. And you'll probably want a few Roku models to test on, as they have different specs and speeds as well.

5. BrightScript is unique, unknown, and little documented. All my experience and specific language learning while doing this project won't transfer much to any other platform. Getting help is not easy, as the Roku developer forums are sparsely populated (a few posts a day, sometimes none, with a dozen or less active people, and most of them doing video stuff), and no one else on the whole galactic internet has ever heard of BrightScript. There are like 3 YouTube tutorials, and maybe half a dozen written ones online, that have anything to do with Roku developing. Basically every other game programming environment has 100 or 1000 times the support and help available. And porting to other platforms in the future (if I decide I want to) will almost mean starting over from scratch.

6. Roku channels have a small size limit (50mb). I don't think any current channel is anywhere near that big, but then again there are a couple thousand of them, so maybe one or two is by now. Roku units usually have only 256mb of memory to store channels (if there isn't room for a new channel, the Roku unloads the oldest channels until there is room, so it's never a real problem). While 50mb is already small for an RPG, I should probably try to stay far below that to not make too big of a splash and take up 1/5 of everyone's total system space, causing too much unloading of other channels for heavy users.

All of these limitations and problems are why I chose the platform, as explained in my last blog post. So while they are all a pain to deal with, I honestly see them as helping my cause overall, which is to make a game that will actually get some attention just by existing!

That's enough for now. Next time more about the game itself.

Ben

PS - The picture at the top is a dormant healing pool.



Friday, June 5, 2015

There's a hardcore RPG for Roku?

Is there a hardcore RPG for Roku? No, not yet, but I'm working on one.

My name is Ben, and I'm not a programmer. I made a mod for Legend of Grimrock in 2013 called "Master Quest" (it's still the number one downloaded mod in the Grimrock Steam Workshop), and there was a little Lua coding involved, which happens to be somewhat similar to BrightScript (the Roku programming language), so I guess I'm a tiny little bit of a programmer. But not really.

I started working on my as-yet untitled RPG/Adventure game in August 2014. I read a bunch of tutorials and worked through coding a few sample "channels" in the Roku SDK, and decided to jump in and make a game. I'm optimistically hoping to release my first ever indie game by the end of 2015, but we'll see.

Why Roku? Well, it's quirky, limited, not very user friendly (to program on), proprietary, more limited, etc. Those are all bad things. Which is good, I think, because no one wants to make games for Roku, so there are hardly any. Gamasutra reported that in 2014, about 500 games launched PER DAY for iOS, with another 250 per day for Android. That's insane. Apple.com says they have over a quarter MILLION games in the App Store. Since Roku opened up for game development a few years back, the total number of games for Roku (at the time of this writing) is still under 100. That's like 1 per month. And three fourths of them are lousy cheap junk, leaving the platform with about 20-25 decent-to-good games, all of which are casual (as far as I can tell - I haven't played all of them).

So the way I see it, there are a few million Rokus out there, and there's got to be a certain (albeit small) percentage of Roku users who would love to see a serious game available that can be played in the living room on the big screen like an old-school 8-bit or 16-bit console game.

So what about this RPG? The picture of a small key above is a "copper key" from my game, a dungeon action-adventure RPG that is a cross between Legend of Grimrock (in 2-D) and Legend of Zelda (top-down), presented in ancient classical monochrome green! There will be NO random dungeon generation (blech!), everything is hand-crafted so that there are actually good puzzles, well thought out layouts and challenges, and an immersive storyline in the form of notes and messages. There will not be "thousands" or even "hundreds" of unique weapons, gear, spells, monsters, etc, just a nice reasonable few dozen, making your discoveries actually meaningful and rewarding. Most importantly, there will be no ads or in-game micro transactions of any kind, ever, for the rest of my life, and I'll put in my last-will-and-testament to never add them for at least 100 years after I die. Seriously.

Next time - more about my background and who I am, more about the game (with maybe a screenshot), and more about what it's like developing for the Roku,

Ben