At 7/23/16 09:13 AM, OmarShehata wrote: I guess one thing I didn't really understand is what the next step was. If
Close()
doesn't guarantee that the socket closes right away, what do you do with your unit test then?
I'm glad you learned something, and thanks for the feedback. I should probably touch on this at the end. What I had to do was use a semaphore to ensure that all reading and writing had completely ceased before I called Close()
Ok: have to be logged in, and just flash export for now http://www.newgrounds.com/projects/games/1003479/preview
Nice. I really like the animation. I think there is a good foundation here for a game. I found a few bugs.
* One house had its door in front of a cliffside so it wasn't possible to enter it.
* Once upon exiting a house I got a black screen
* Once I bombed an enemy and died and the game froze. Possibly intentional for now ?
* I saw a couple enemies which seemed to spawn inside bushes and couldn't get out.
* 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.
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.
Overall looking good!
@PrettyMuchBryce do you have any suggestions for algos? Multiple enemies, one moving target, terrain can change a little, avoid grid-based-looking movement, some paths will be pretty tight fits, enemies can move in any direction (360 degrees). The issue now is that multi-raycasting from 5+ enemies is causing visible stutters, although I only do this once per .1 seconds so the stutters are a bit weird.
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.