Hi, I’ve done a few tiny little projects here before - I built a ncurses/glkterm-based version of the git glulx interpreter for Android, I built windows glkterm console builds, and I was an enthusiastic bystander/feature-requester when the ‘zag’ interpreter was being updated by Banbury. Apart from that I’ve not done much here, but the lack of an actually working android Glulx interpreter with graphical support is really bothering me.
I realized at some point that SDL2 has some android support. I’ve got a little C++ experience, a pretty good amount of ANSI C experience, and a bare minimum of java experience. I think I just might be ready to make a GLK implementation with SDL2 - just enough to get a somewhat more reasonable android glulx interpreter than my ncurses terminal-based binary that requires a convoluted install process and still does not support graphics or some more exotic windowing systems (I’ve had games where glkterm hangs consistently when windows are being drawn).
I don’t expect it to be amazing like iFrotz on iOS, but as twisty is proving difficult to convert into a GLK implementation it’s looking like it might be better to just start fresh. Avoiding JNI (and almost entirely ignoring java besides a basic wrapper) promises to increase reliability - I am not sure how everything will work, and it might not even be fully compliant, but I’d like to take a stab at it, using git as the underlying interpreter. A bonus to this approach is that it’s likely to be debuggable and runnable on desktop PC’s without resorting to emulation, and it will (if successful) ad to the options available for linux users that aren’t gargoyle (which I don’t care for due to the inability to disable font antialiasing and the weird build system.
I’ve got a lot of ambition but I think this may be over my head, so I’m asking for advice - anyone here have experience implementing a GLK library? Does this sound feasible? How hard was it? Am I in over my head? Is anyone with experience in SDL2 or mobile development or the GLK willing to help?
Anyway, there’s my manifesto. I hope to start on it as soon as I’ve got a source of income in real life (job hunting). Hopefully within a week.
Edit:
If I do this, I plan to release it under an MIT, BSD, or other permissive license. Maybe just public domain, even.
It’s ridiculous that android’s been around for 8 years and is the superior mobile OS from a user freedom perspective, and we still don’t have a single glulx interpreter for it. We have ScummVm, but not glulxe, for pete’s sake. We even have a 100% Java glulx interpreter (Zag) that no one’s made any effort to port to android. If I weren’t so repulsed by Java, I might have done that a long time ago myself! But after a couple of years I’m sick and tired of waiting, and of needing to bring my aging iphone everywhere I want to play a glulx game with graphics.
P.S. I just spotted this: bubblycloud.com/qglk/
Looks like it’s not quite up to date (0.7.4), but I believe ‘necessitas’ allows for QT 4 programs to be ported to android, correct? if so, I’d just need to figure out what’s chamged between GLk 0.7.0 and 0.7.4. I’m still not sure if it’s up to snuff since I’ve yet to try it on a desktop, even, butit looks like a possible alternative to starting fresh if it comes down to that. On the other hand, C++ can be the stuff of nightmares, and QT doesn’t have a normal C binding for whatever reason. I think I’d probably be better off starting fresh than trying to maintain C++ that I didn’t actually write, which scientists have shown to be a highly improbable task to successfully complete.
EDIT 2
looks like qglk doesn’t support sound, graphics,opr hyperlinks. I want to have at LEAST graphics, hyperlinks, and unicode supported. Sound matters least.