Jon: Well, hello again! It’s getting close to a new year, and we’ve got some things to show you. But, first:
Here’s some stuff we’ve been working on this past week, besides the props:
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.
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.
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!