Log 2: Tutoring

It’s that time again. Welcome to the second instalment of the Horticular devlog. This time, you’re looking at a shorter issue. As most changes have been relatively minor, it would make a bad read should I go over it all.

Last time, I had been working to overhaul the first 90 minutes of playtime, requiring me to rework the game editor in the process. With the brand-new editor in place, I have now continued that work, with the goal of eventually having a demo-worthy version in place.

That mostly means bringing existing visuals up to the gold standard, as well as polishing current mechanics to improve the player experience. However, there have also been a couple of larger additions that I find worthy of some spotlight.

I hope you enjoy the read!

Tutorials

Horticular is set up to gradually introduce new mechanics using diegetic communication (in the form of letters). The idea is to allow the player to safely explore features in contextually relevant situations. However, playtests have shown that some details got lost in the midst of flavour text or story.

As such, I made the decision to introduce tutorial screens that have the sole job of putting a spotlight on game mechanics and concisely explaining details.

Work-in-progress picture of an early tutorial screen.

The implementation is nothing revolutionary and works like you have come to expect in the medium. New gameplay feature getting introduced? Here’s how it works and, should you forget, you can always revisit the tutorial from the pause menu.

It may sound like a minor addition, but I really want to make sure that key information reaches the player, so that they never feel unintentionally lost. It’s been on my radar for a while, and now it’s another piece crossed off in order to get Horticular in your hands.

Translations v2

This change is invisible for the general player, but I have upgraded the localization tech to support modifications.

Previously, all text in the game was bundled into the game, which meant you couldn’t modify or add text after the fact. This has changed with the upgrade. Now, all text lives within individual language files.

This is big as it makes sure that community made translations are easy to add, and it is a requirement in order to translate unofficial content, such as new items or animals.

???? Technical tidbits

The previous implementation was relying on good-old .NET string resources and would have supported translations out of the box, as long as I was willing to make a new build for each change.

However, for the above-mentioned reasons, the new version is now loading JSON files on demand as the user switches between languages. That means that string changes can be made without a new build. And to introduce a new language, all you need to do is to add a new file in the localization folder.

However, one drawback with the new system is that I didn’t manage to get a source generator up and running (they require netstandard2, which doesn’t come with JSON parsing out-of-the-box). This means no compile-time safety in regard to referring to non-existent strings.

Visual completion

While there isn’t much to say about this one, it’s an important piece of the puzzle. As Horticular has been in development for a while, some assets have just never been a priority to work on. For instance, the pause menu was based on an old popup tech and therefore wasn’t following the newer design guides.

Picture of the new pause menu, using the new popup design.

As such, some larger and many smaller elements have been revisited to be in line with the overall visual target. It is not the end of the visual work, but getting rid of legacy assets means the experience is cohesive enough for a future demo.

Story

Finally, for today, I have been using the new editor to rework the story progression. In particular, large changes were made to how game mechanics are introduced to the player.

While I won’t go into story specifics, one previous issue was that key mechanics were being introduced too slowly and didn’t ramp up to the intended gameplay until the player was deep in the game.

For instance, animals are a big part of Horticular, but it wasn’t until 30 minutes in or so that the player was able to attract any. Now, you start with some critters and are tasked to attract your first animals within a few minutes of playtime.

While there is still some polish needed, so far, the feedback I have received indicates that the game is definitely moving in the right direction.

And that is that for this devlog! I hope you enjoyed the brief read. All feedback is welcome, so don’t hesitate to get in touch anywhere, such as on Twitter or via email.

I wish you a great day and I hope to see you again next time!

Don't miss the next post.

Join the inDirection Games newsletter to receive a notification straight to your inbox!