Tablet UI, Shader Research, and Item Fitting
This morning I chatted with Steve about some possible tablet UI concerns for NEO Scavenger. Seeing it on his phone's screen caused him some concern about usability and button size. So I tried running it on my 7" mini tablet and a 5" phone.
There were definitely some fiddly controls at those screen sizes. Small buttons, like the message window expand button and the attack mode switchers would be tricky. And the main menu's options button was even a bit small. However, I didn't have much trouble hitting the skills accurately each time I tried. And it's possible some of the UI like attackmodes could be changed to a swipe-style control instead of buttons, so I have some confidence we can work around issues.
That said, it's still a bit soon to tell, as 10x10 items like the lighter could cause problems yet. We decided to continue as-is for now, and wait until we could play more with the item positioning/dragging.
On the prototype front, I took a slight detour from coding to research shader support in HaxeFlixel. As it turns out, there is partial support already! An upcoming dev branch on git for HaxeFlixel includes a post-processing feature that allows arbitrary shader code to be executed on the game's render window. And the OpenFL library upon which it's built has some pretty strong OpenGL support.
That said, it still had some limitations that made more sophisticated shaders harder to do. I wanted to do a normal map with dynamic lights, for example, and setting up that shader requires bypassing HaxeFlixel to the lower-level OpenFL GL stuff. Doable, probably, but more hacky than I'd like. Still, it seems like a promising avenue to keep open as I prototype.
Finally, I got back to my item fitting prototype, and I think I've settled on a method to try first. I'm going to assign each item a grid of tile fitting rules, similar to how tiles already work. This way, I can take advantage of existing code and features to control how items fit in the ship's deck.
It's always possible this will have a limitation I'm not seeing now, but so far, it seems like as good an approach as any. I'll probably get started on that Monday. Until then, have a good weekend!