Thursday, April 23, 2015

Time Clarity and Usability

This round is all about making the mission controls more transparent and easier to pick up. This is mostly in response to some playtest feedback from Isaac and Elizabeth. Thanks!

First, we use time units, and time units are confusing. I thought about ditching them, but instead settled on improving the feedback. What people generally care about, I think, is how far can I move and still get an attack or action in? So I've made that feedback much more clear, with a time bar that shows how much time an attack takes, and shows how much time will be taken by the hovered action. In addition the in-world path feedback now shows the difference.

The other thing people consistently have trouble with is the location of the end turn button, so I've removed it. Instead, each hero has an ability that takes all their remaining time. If they have enough time for an attack remaining, it will be "Guard," otherwise it will be "Wait." When all heroes are out of time, the turn ends. No more end turn button.


I've also taken another pass on the keyboard shortcuts. Now your move ability is always Q, your best basic attack is always E, and your End Turn is always F. WASD pans the camera, and other abilities are assigned to RTYUIOP in priority order. (1-5 still select units, and Tab cycles through them.)

Below you can see the difference between a move that leaves time to attack:


And one that does not:


So the path feedback and the time bar are both signalling that information now. The camera now puts heroes near the bottom of the screen and monsters near the top, so it's (hopefully) easier to see the action now, and we're wasting less real estate. And hovering over a monster shows its movement range. And figures now have a hitbox (other than the tile they stand on,) and hover feedback has been improved.

And wow, there's a lot more usability stuff to do. But I'll hold off on that for now, and focus on rounding out the whole game instead.

Since my pull request was integrated in libgdx 1.5.6, I was able to get the codebase back on the latest version, and fix some compatibility issues. That brings us closer to being able to playtest. Next up is save/load (finally!) and some work to sketch out the most basic campaign mechanics.

It feels like we're really picking up speed, it's exciting!

Saturday, April 18, 2015

In-Engine Text

Just a little one, I added scalable in-engine text using distance fields. Right now you get name plates, and some text that pops up when damage is dealt. I also tuned up the health bars so you can see discrete blips. In combination, these changes should make it a lot easier to tell what's going on in combat.


I want to do some more work on mission usability, and that means taking a look at how "remaining time units" are communicated, and possibly some improvements to the camera controls and targeting (right now you need to click on the floor tile you're interested in, but you should be able to click on the figure itself.)

Monday, April 13, 2015

DAPPLED LIGHT!

You guys, I have been wanting to implement this feature for years.



After posting the last update, we realized that the mission shots were pretty.. ugly. So we did a bunch of environment work. Let me sum it up:


  1. Converted all our scenery and walls to use models instead of just images, for a huge performance gain, because now we can render portions as opaque, and discard fully transparent portions. This means we're drawing far fewer pixels in total, which is great.
  2. Fixed the overlapping light performance issue that was hitting us when we had many point lights close together in a scene, for another big performance boost. Now you can have lots of lights close together and it's no problem.
  3. Greatly improved the quality of the shadows, since we fixed the light performance issue.
  4. Darkened non-walkable areas so it's more clear where you can move.
  5. Added dappled light, with wind. This makes a huge huge difference for outdoor scenes. I'm kindof in love with it.
  6. Swapped out our HDR tone mapper for one that preserves saturation better, which means our colors are no-longer so washed out.
  7. Fixed some issues with the scenery fade algorithm.

I think environments are looking good now. Not shippable yet, but the tech is coming together nicely. Of course there are still a lot of missing pieces around combat clarity, and I'll hit a couple of those next, before moving back to the campaign.

The goal there is to put together a beginning-to-end experience that I can show people. Then, to start iterating on gameplay.