jahed.dev

FrontierNav Report: March 2019

Progress Report

Changes in March

General

Full changelog on GitHub.

Improved Map Behaviour

In my last report, I said I'll work on implementing "Map Legend Toggles", to allow users to show/hide certain map features. This would declutter the map of irrelant markers. However, after experimenting, I found the user experience of handling toggles to be tedious and inconvenient.

So I took inspiration from existing real-world map apps and decided it's better to show basic features (like locations and landmarks), and only show other features when they're relevant to the user's search and context.

I'm a lot more satisfied with this approach and will be building on it. Now that the clutter's gone, I can also carry on adding more features.

A Growing Number of Breaking Dependencies

As FrontierNav's codebase ages, there are certain dependencies which have been abandoned by their creators. This causes a sort of cascade of breaking behaviours as other dependencies continue to grow.

As a recent example: redux-little-router, which is used for navigation, was abandoned months ago. Recently history did a "minor" change which caused it to break. Minor changes aren't meant to cause breaking changes, but humans do make mistakes quite often in classifying their versions. In this case, the only easy course of action was to fork redux-little-router myself and fix the problem.

The more difficult approach would have been to remove redux-little-router from the project, but I didn't want to spend too much time on it as I wanted to work on user-facing features. If this becomes a recurring issue however, I'll probably take that route.

There's a list of dependency-related issues on the issue tracker.

Next Steps

I'll continue working on improving Xenoblade 2's map behaviour and introduce more data. To be specific, I think having shop locations and related items will be helpful for tracking down pouch favourites.

I might also introduce maps for either Octopath Traveler or Xenoblade 2: Torna just to make sure the map code is reusable and isn't be hardwired for one game. This will also mean introducing more automated tests to ensure improvements to one game doesn't break another.

Though I have yet to play the game, Octopath Traveler will be released on PC in June so it's a good opportunity.

Thanks for reading.