Thursday, April 3, 2014

Recap for Spring: Elm, two clients, and my damn phone

As I mentioned in the main thread, we have realized the end of the school year is closing in faster than anticipated and we need to get this project in a playable format.

What that means.  It means Zach is going to spend the weekend whipping out a crude, top-down, touch reactive client in Elm (a new functional reactive programming language,  http://elm-lang.org/).  It also means we spent the better part of last night on Skype trying to get my phone to run his Elm code from our ftp server.  No luck.

After a few sessions of trial and error we figured out that I could download an ftp client (I used AndFTP by Lysesoft), download his source as a ZIP and unpack it (I used AndroZip by AVG Labs) then run it with my phone's native HTML viewer. BTW my phone is a Galaxy S2.

Everything seemed to work great until the HTML viewer kept only displaying a blank screen.  It did give me the ability to scroll the blank nothingness though so that gave us hope we could debug it and move forward.  So I plugged my phone into my computer and tried to use Chrome's remote debugging features but my computer won't recognize my phone (even for downloading photos) so we were once again stopped by web tech.  ugh...

SIDE NOTE:  a few days ago I even had to turn my WebGL capability ON for Chrome on Ubuntu.  That took me a minute to figure out.

So, the next step is to download the Android SDK  (done) and try and use ADB, the official Android debugger to get this working.  My hope is that we will be able to use the SDKs legacy drivers to get my computer to recognize my phone.  If that doesn't work, we'll have to ditch phone compatibility entirely for now.

If all of this comes together we will be able to have players download a couple simple apps (FTP client and Unzip), download our game, and play it.  All without going through the normal distribution channels.  We think it would be really fun to get a game out there under the radar just to see what kind of community would get involved.

Once we get the debugger working through my phone we can start troubleshooting why the "map" didn't display when we viewed the html page.  Until then we are at a standstill for the phone and will just continue with the regular desktop browser version as scheduled.


But on the progress side, Zach should have an Elm client up and running by mid-week-ish and so we'll be able to start prototyping game mechanics pretty soon.  This will pull my time away from the JS client a bit but we'd still really like to not think of the JS side as scrapped, I just need to build the next version from the ground up.  Really not a big deal, it's just my first implementation was very much a "get it done version" and is consequently gruesome to debug.  It doesn't follow proper best practice encapsulation guidelines, even for JS.  Pretty bad I know.  Things are being initialized all over the damn place.  I gotta wrangle all that in and  classify everything so you can chase down the JS console errors better.

So, that's where our spring quarter is starting.

Wish luck and thanks for reading,
Clay Francisco


No comments:

Post a Comment