At 7/24/16 07:06 PM, PrettyMuchBryce wrote:
* One house had its door in front of a cliffside so it wasn't possible to enter it.
Yeah I need to implement a can-every-tile-be-accessed algo.
* Once upon exiting a house I got a black screen
More info? Someone else got this too, but I can't repro it. He got it by transitioning maps back and forth really quickly.
* Once I bombed an enemy and died and the game froze. Possibly intentional for now ?
Your bombs can damage you, and I haven't handled when you die yet.
* I saw a couple enemies which seemed to spawn inside bushes and couldn't get out.
I fixed that earlier today I hope
* When I threw the boomerang at a rock it passed through the rock on the way out, but on the way back it seemed to collide with it, or try to avoid colliding with it.
The boomerang should always collide with rocks, like I'm pretty sure you can get the boomerang stuck if you position yourself behind a rock on the way back. Might have been a visual thing?
I think the sword is my favorite weapon, although I might play around with making the swing time a bit shorter to allow for some more strategic dodging and attacking. Just a suggestion though.
One of the swords that exists is faster than the others I think, but ok. Idr which sword is in now, though.
The most convenient route would probably be working with what you already have and trying to find the source of the performance problems, but if it's not possible another thing that came to mind was using A* with a dense collision grid. The nodes don't need to be the size of the visual tiles or entities. They can be much smaller. Entities which overlap multiple nodes would mark these nodes as occupied. If you're concerned about rigid looking paths you could look into path smoothing algorithms.
What I have now has performance problems with many enemies strictly because of how many times nape's raycast has to be called. Also, there is a rare edge case (literally) where the pathing fails. I want to do A* or heatmap when the enemy loses line of sight because otherwise the bug is a function of my player's speed and how often I raycast. Even once a frame can't deal fully.
What's the point of a dense grid, for a smoother path? I think path smoothing can be a problem since that would be running independent of nape, so I'd always have to double check that the path isn't colliding with something, which requires raycasts. I'd also have to take into account the width and height of the agents' collision boundaries, but that's not too big of a deal I think.
Thanks for the feedback!