2014-11-06

Sigh

8951 words right now. I fell behind working on code instead of writing the last few days. I'm committed to catching back up though.

I've been stressed out about the limitations with using Unity for text based games. I knew the problems before I started all this, but I hoped that I could figure out workarounds. My biggest concern is with the user interface and accessibility.

Ideally I could hook up games in the system to accessibility features provided on each platform. I believe this is possible with Unity on mac, win, ios and android by making plugins. Unity has nothing built in to access these features. Actually Unity's stance on accessibility as far as I can tell is basically good luck. The problem for me making these plugins is that desktop native plugins require Unity Pro and my current project budget is nil.

That brings me to search for alternative multi platform game systems where I can port the system.

Xamarin would be the easiest switch since the core of Fate is already in C# without dependencies on Unity. The downside there is that it costs to develop for mobile and I would still have to write accessibility plugins for each platform's accessibility apis anyway.

Cocos2dx looks promising as a cross platform/open source engine, but I would need to convert Fate to C++ (no small task). I also haven't dug up any clear answers about how or if Cocos2dx interacts with the various platform's accessibility apis.

I've looked into Haxe as a potential solution, but couldn't find anything about accessibility with OpenFL, haxepunk etc.

There is of course Java or cpp with qt/whatever or c and gtk? or javascript/html5/css. I just hate/haven't used those. Yeah, my current outlook on all of this is kind of negative. I'll figure it out eventually (I hope).

2 comments:

  1. Java is somewhat similar to C#. The IDEs are free. You may want to check out http://libgdx.badlogicgames.com/ if you want a library system that gets you multiplatform at low cost (in development). The UI it supports is barebones, and the programming paradigm let's you go as far as writing a rendering loop, but with the introductory examples/tutorials, you could have something running fairly quickly. You might search for text-gameish libraries in Java.

    ReplyDelete
    Replies
    1. Thanks for the suggestion. I hadn't really considered Java and libgdx looks pretty good. I'll add this to my list of things to try porting Fate to. The messiest part for me is working with collection types, but the libgdx docs has a promising Array and ArrayMap I think.

      Delete