@ -40,7 +40,7 @@ If the target is moving, pathfinding needs to be reassessed periodically. Howeve
<br>
For one, the first point in the path will always be the character's starting position. If pathfinding is performed more quickly than the character can register arriving at the first point, he will either be frozen in place or jittering wildly. <br>
<br>
For two, it's bad for performance. Generally, the efficiency of a lightweight Godot game on modern hardware is not a critical concern, but I did manage to bog down the performance with some lazy pathfinding one time. Probably best to avoid extra pathfinding operations when possible. If the target hasn't moved at all, no need to recalculate anything. If the target has moved closer to the character, maybe only the farthest points need to be reconsidered. <br>
For two, it's bad for performance. Generally, the efficiency of a lightweight Godot game on modern hardware is not a critical concern, but it's not like I've never managed to bog down the performance through lazy pathfinding. Probably best to avoid extra pathfinding operations when possible. If the target hasn't moved at all, no need to recalculate anything. If the target has moved closer to the character, maybe only the farthest points need to be reconsidered. <br>
<br>
The next playable release after the bingo version will have a teleporting boss, so I'll probably need to be more thoughtful about pathfinding then. For now, though, these two fixes should do it... <br>
<img src="/static/img/ent/follow.gif" alt="(image: Angel adjusts her pathfinding to follow a moving item.)"></center><br>
<br>
Last Updated June 12, 2021
To test, I made some moving items for the player to try to pick up. Now instead of bee-lining for the last known location of an item, she constantly readjusts her path towards the current location of the item. Looks good to me! <br>
<br>
(I haven't considered moving items before. They're pretty cool. It's like catching butterflies in Skyrim.) <br>
@ -12,12 +12,18 @@ Anyway, I can't believe I've been titling my monthly diary entries as "2020" all
<br>
<h3>sunday, october 17 </h3>
<ul>
<li>It was below 80°F/27°C for the first time all year! My favorite season has finally arrived. Time for fall coat, fall spices perfume, and fall snacks! The heat has been miserable, even indoors, so it will not be missed. </li>
<li>Last time I started Blessfrey, it didn't run at all. I was really motivated to add an events and a cutscene, but I debugged the game instead. Today it works okay, but I realize you can no longer talk to Chloe. That makes a lot of sense, since I designed the move-do-something loop to only worry about combat. I should get confident about the controls for interact, activate, attack, talk, pick up, move to target, don't move to target, and probably lots of other potentially overlapping controls. So...I need to make more diagrams. <br>
<li>It was below 80°F/27°C for the first time all year! My favorite season has finally arrived. Time for fall coat, warm spicy perfume, and apple butter toast with chai! The heat has been miserable, even indoors, so it will not be missed. </li>
<li>Last time I started Blessfrey, it didn't run at all. I was really motivated to add an events and a cutscene, but I debugged the game instead. Today it works okay, but I realize you can no longer talk to Chloe. That makes a lot of sense, since I designed the move-do-something loop to only worry about combat. I should get confident about the controls for interact, activate, attack, talk, pick up, move to target, don't move to target, and probably lots of other potentially overlapping controls. So...I need to make more diagrams. </li>
</ul>
<br>
<h3>monday, october 18 </h3>
<h3>saturday, october 29 </h3>
<ul>
<li>I wish I documented more. I want to document the current movement system better (even though it feels like I do that all the time) to better explain dots, nexts, waypoints, etc, and how they are derived. I also want a solid reference for what groups I'm using and what layers everything exists on/is affected by. Time to start some new documents. </li>
<li>The player doesn't move again. She was never advancing to the next dot. (Obviously the first dot in pathfinding will be the player's starting position.) I made the AI's method for getting the next dot skip anything at the player's global position, which works fine for now. I bet I'll run into more problems the next time she tries to pathfind around a curve, though. </li>
<li>I want to add dialog back in as part of an integration test, so the player needs to be able to interact with Chloe again. Of course, she mysteriously isn't tracked as interactable. Last time I remade the characters, I didn't get the layers/masks right, so I take the chance to make entities more consistent and improve my documentation. After that, I could start some dialog at interact, but Jiskan-16 is still bizarrely invisible in-engine and in-game at size 16. (How did that suddenly happen?? It's <em>made</em> for size 16!) After I match dialog's theme to the main menu theme (identical rn anyway), the text appears properly in the window once again. I've got dialog back. </li>
<li>I added an obstacle wall to break up the square testing room. Against my predictions, she can pathfind around corners. Whew. </li>
<li>Next, I want the player to use a skill on Chloe. The skills in the player's skillbar are generic'd and all the text doesn't display. (Stupid Jiskan.)</li>