Dec. 25-31: Happy New Year!

Jon: Well, hello again! It’s getting close to a new year, and we’ve got some things to show you. But, first:


Models of cutlery and tankards courtesy of our good friend, Emil Ritter.

Here’s some stuff we’ve been working on this past week, besides the props:

Revive Potion

I forgive you.

There’s now a quicker way to resuscitate your friends, the revive potion! Simply whip one at the cadaver or, if you’re the corpse, open up your inventory and guzzle it down. They are quite expensive at the moment, but can be found as treasures throughout Terradim.

Console & In-Game Messages

This past week I worked on improving the in-game console and messages. Previously, the console used a single string and Text component to display its contents, which proved to be a problem. In Unity, there’s a cap of ~65k vertices per mesh and if that single Text component exceeds that, which isn’t that hard to reach with a long string like a command list, a spam of errors will litter your Unity console window and the text will fail to be displayed. I’ve finally addressed this.


That’s some exciting stuff, right there.

Now, each console entry is a separate Text component, and rather than instancing a new one for each entry, I am using a Text component pool. What’s that you say? That’s beyond the scope of this post. Now each console entry can show more information! I also added the real time (not Terradim time) as a prefix of console entries as well.


I picked up Blueberry, nine times. 😀

After the console, I figured I’d setup the in-game messages similarly as well. Now since they are not a single string and Text component, they can be accessed individually! What does that mean? Well, it means I can do the following:

  • Certain messages now stack, such as acquiring items. The tally amount of the item will increase and the message will be moved to the bottom, becoming the last message to disappear. Previously, each item pickup would result in a new message even if the item matches one that’s in the list of messages.
  • Added a delay per message so even if the messages are triggered at the exact same time, they will still pop away one by one with a delay. A bit easier on the eyes, I’d say.

Misc Improvements & Bug Fixes
  • GOAP Progress: Shields no longer count as a valid weapon for NPCs when they are deciding to arm themselves.
  • Optimization: Andrew continues to setup LODs, now on small edibles. Mmmm, delectable.
  • Added some pickup sounds on items that were overlooked.
  • Moonlight now interpolates per day towards next moon phase instead of a jarring change per phase.
  • Added a realtime shadows toggle in graphics settings.
  • Fixed bug that would result when 2 players talk to the same NPC. The result would be an incorrect camera target until talking again.
  • Dialog now cleans up/closes before a scene transition.
  • Shifted NPC spawn point for arena matches, as they’d sometimes get pushed behind the entrance door.

See you next year!


Dec. 18-24: Happy Holidays!

Jon: Season’s greetings! Unfortunately, we won’t be releasing the first public demo this year. We are getting closer and hopefully it won’t be too long into the next year before we get there. Nevertheless, here’s some of what we’ve accomplished this past week:


Interesting food choices

There are now Gnome Caps! Which come in a variety of colors, not just green and red. There are also two variations, one with and one without the furry ball.


NPCs are now using a system referred to as Goal-Oriented Action Planning (GOAP). As opposed to a State Machine, where transitions must be clearly defined between all states, GOAP allows more flexibility.  In GOAP, you define actions and conditions for them that the planner uses to find a most cost-effective path towards the desired goal. Since, eventually, we want to have many variations in AI behaviors, this system makes more sense. However, it takes quite a bit longer to setup.


Guess I shouldn’t have dropped that Quarterstaff over there…

I’ve setup some goals that NPCs will attempt to fulfill such as Arming and healing themselves. If there’s a nearby weapon, and they are unarmed, they will go grab one as shown above. Also, they will consume healing items when their health is low. In addition, NPCs can actually use ranged weapons now, although not very effectively in many cases – it’s still a WIP. Anyway, it’s coming along and definitely makes interaction with NPCs more enjoyable.

For anyone interested in how GOAP works, here are some of the sources I’ve been using to develop the system in The Arcane Relics™:

Misc Improvements & Bug Fixes
  • Scene intro text (eg. Water Cave) will now tint red if the scene is considered ‘dangerous,’ where all players being incapacitated will restart the scene.
  • Optimization: continued setting up more Level of Detail (LOD) meshes on equipment.
  • You can no longer sprint push while crouching.
  • Falling out of the map in the Grand Arena, hitting failsafe trigger, should now correctly reset the Area you are in to the underworks (no invisible walls).
  • Rain should now persist between scenes.
  • Weather changing console commands now happen immediately. Rain begins and stops almost instantly!

Happy holidays!

Dec 11-17: Scrolls For Abilities

Andrew: Hello everyone. After spending most of our day today snow shoveling, now it’s time for a post. What we were up to this week, includes-

New Shelves & Scrolls


We thought it was a bit cheesy having only primitive cubes & spheres for acquiring abilities in the public demo, so we made some quick scrolls to solve this. And now they appear on these diagonal shelves.

Hurt Frame Improvement

Looks pretty good for a 32×32 texture 🙂

We got a lot of feedback about how the previous hurt frame was obstructive, which came way into the center view. We came to find it annoying ourselves, especially when you had low health – as the opacity increases and remains – but we still wanted to keep the additional feedback for when damaged or being close to death. Therefore, we changed it to the simple smaller outer frame as shown above and saved some texture memory in the process.

Audio: Music Ducking

The audio overhaul continues! There’s now layered music tracks: basic, weather (rain), interrupt (battle), & musical accent. Thus:

  • Musical accents (such as leveling up) cause all other music tracks to duck and to fade back in, after they have finished.
  • Rain overrides the basic music. That cheery town music didn’t seem to set the right mood when it rained.
  • The different layers can change, even if they’re not playing. This fixes some bugs in resuming wrong music clips (thus returning the track to rain instead of the town tune after a battle).

 Misc Improvements
  • Combatant NPCs now cleanup after an arena match.
  • Optimization: added more LOD (level of detail) to various objects in game.

That wraps up this post. Have a good week everyone!