DMC Map and Website, and Release Mode
Hey Folks! Today didn't feel very productive, even if a few tricky things got solved. I think the good news is that I can safely move on to new stuff tomorrow.
The website is once again working, except now with shiny new SSL (https instead of http). For those of you using Chrome and some other browsers, you should now see 100% fewer "this site is not secure" (t)error messages in the address bar. Also, for anyone playing on mobile, 100% less garbled code in the marquee text on the title screen, too!
The DMC map took the lion's share of today's effort, as I tracked down performance issues and a missing "WASD Scroll" UI element.
The performance issue turns out to be rendering 500 sprites on screen at once in a non-optimal way. The optimal way to do this is to rewrite all of the visual effects code in NEO Scavenger's desktop version to use batched sprite drawing. (Mobile sort of avoids this issue since it uses sprite atlases, which are already batched.) Since rewriting this system has knock-on effects elsewhere, and might also mess-up mobile code (or require a separate branching code section), I wasn't so hot on touching it.
Fortunately, I tested it out in release mode (without all the debug stuff and logging), and performance was "good enough" to just ignore it :) (Especially since this is not a critical part of the game that requires the best framerate. It's just a minimap for navigating the DMC.)
Anyway, that issue safely ignored, I moved on to the missing WASD UI helper. I spent most of the afternoon trying to figure out where it went before I got wise and just added some debug commands to move it around the screen with keys.
It turns out the on-screen position drifts up and to the left in the non-Small-UI modes, moving it outside of view. It shouldn't do this, since nothing else on the map does. And I suspect there's some scaling/scrolling funny business I'm not aware of that does it. But rather than spend another couple hours comfirming that, I just wrote some extra code to reposition it in each mode. This codebase is already 80% hacks. What's another one?
Anyway, now that is displaying correctly, too.
Finally, in the midst of tracking down this bug, my test in release mode revealed that release mode was stuck in demo mode instead of the full game. So I managed to find and fix that issue. Now players can use the version they paid for when on desktop! (Sheesh! No end to surprise bugs when porting to a new platform, eh?)
Anyway, I think we're on to the battle UI tomorrow. And after that, loading sound files on PC vs. the way it loaded them on mobile, which might be a bit different. I'm not able to readily think of anything else that needs work, though. So we might be on to playtesting/QA next. Not far now!