Jon: Hello! It’s been a while hasn’t it?
I have been continuing to work on cleaning up many systems and continuing to move data to external XML files. It never ends… ⚰
Anyway, here’s the details:
Reducing Physics Performance
Upon profiling the game recently, we have found that the CPU time for calculating physics has been quite a problem. Scenes with lots of objects/items such as the Town are especially troublesome. Consequently, we have decided to make some changes.
- New weapon hit detection: we are moving away from using rigidbody/triggers to a custom hit detection (Boxcasting). Collisions actually seem better after swapping to this setup! It’s easier to hit small items on a surface such as gems on a table.
- New item physics: Previously, most items were rigidbodies (using dynamic physics), but now we are using a custom system for emulating physics. I call it “cheap” physics. This is a WIP, but looks promising. There will probably be some issues with this in the next release, but it’s a step in the right direction, I think.
It’s still a bit early but maybe next month I’ll be able to divulge more details. 😀
Crests are coming along! The shader seems to be working.
The choice of crests, however, is questionable…
- Sleep Improvements:
- Characters snort instead of playing standard hurt/attack vocalizations when asleep.
- Sleep effect, from a potion, will recover health and fatigue now too.
- Continued to move a lot of game data to external XML files. Notably, magic spells and certain color sets.
- Setup a note item to load in place of an item that fails to load, probably due to an incorrect tag/missing in item database. Displays information when read on what item tag failed to load.
- Music tracks now load in background. This should reduce hitches when a new clip is loading.
- Saved ColorData now stores float values, not bytes, allowing for HDR colors to be saved. Alpha has also been added.
Andrew has been working on loot tables (what items appear in containers and people…) & continued widening building walls.
The Apothecary’s walls have widened just a bit.
In other news, our other game has nearly reached the point of revealing!
Until next time… and have a happy 4th of July, tomorrow! 🎆
Andrew: Hello! It’s been a while. Honestly this month, I’ve been working much more on our other game, currently in the works. Nevertheless, here’s our “massive” May development update-
Widening Building Walls: 1st Up Smithy
I’ve been working on polishing the Blacksmith/Smithy building, while also widening its walls, adding more depth. This should help with weapons, character heads (when leaning over), and horses from peaking through walls. It also seems to make it easier to jump up into windows, since the colliders have more depth, therefore you don’t get caught in them or bumped out. Once this is complete, I plan to move on and do the same with the other previously made buildings.
Jon has continued working on things mentioned in the last post (mostly XML data stuff) and code-cleaning.
One notable fix, the torso lean when attacking up/down will persist throughout an entire attack (no matter the weapon). Previously it was a set duration, so with larger weapons the torso lean would end before the swing would even begin. This allows you to properly attack things above or below you, eg. power-attacking a chest with a battle axe should be a lot less frustrating. Also, the torso lean now uses interpolation, thus should no longer pop into rotation.
Setback in Shaders
Since upgrading to the new Unity (2018…) some of our shaders haven’t worked quite the same. This is possibly because we’re new to shaders and don’t all know what we’re doing as of yet… Suffice to say, the water no longer has that nice beveled edge, and the lava shader just doesn’t work (rendering white right now). But we’re working on it.
There’s been other odd occurrences of collider gaps — that I’ve discovered since upgrading — as if holes go right through the geometry in certain locations… This seems to span across multiple model files, not just tied to any one in particular. The town scene is notably the worse scene experiencing this, if not the only, which makes it even more odd. This might be related to the issues some players have reported, where you’d fall through the ground.
Until next time!
Jon: Hi, everyone! Time for March’s update.
This past month I’ve spent most of my TAR time on AI, and have a few things to mention:
- We are now using a different AI system than GOAP. GOAP planning was taking up too much CPU, and was getting too difficult to debug… I have been reading Mat Buckland’s book, Programming Game AI by Example, & have found his Goal-Driven system to be quite insightful. I have the new system up and running and it’s using a lot less CPU than the previous system!
- Continuing in the book, I decided to work on a weapon selection system for NPCs utilizing the chapter on fuzzy numbers. The basic idea is that they’ll choose the most desired weapon they have based upon various inputs, such as distance (Swapping from a bow to sword, for example). It’s coming along.
I have started the possibility of hitting multiple targets with one swing. We have wanted to have Strength, along with larger weapons, to allow for sweeping through multiple opponents, or at least smaller ones like bats, with one swing for a while. This is a step towards that. In the process, I may have fixed the bug where weapons could remain active if an attack animation was interrupted as well.
I’ve also dabbled in potions, continuing work to make them more modular. Previously, I would have to make 3 new prefabs for each potion type we would want to add. This was taking too long… Now, I only need to make one prefab per type. I have added some new potion types including a Sleep Potion. 😀
I have also been experimenting with coloring the potions programmatically based on their elemental compositions.
Now, Andrew has been working on things that might be a bit more exciting, putting aside the Castle temporarily to work on the old Water Cave…
April Fools! 🤡 It’s a Lava cave! There’s a method to the madness I assure you. Here’s a peek:
“Can’t get enough!”
This is a new area, and will not be replacing the Water Cave.
A couple more things before farewell. I wanted to share some useful Unity discoveries we’ve made this past month that have helped out quite a bit, for other devs out there: