No Vindication Development - 6/8

compelx

Member
6/8 | Multi-Object Collisions P2

Had some more time to think about the two problems I'm facing. To recap, they are:

  • The first problem is if a player approaches an object from the sides it will displace them, in a jarring manner, either north of our south of the object. Preferably it should make the player stop altogether until they either strafe more to the left or right. This picture illustrates the path that if taken by the player should result in the player stopping until they correct their approach. I believe I'll just have to make some dead zone space which will instead halt the player and not displace them.
    http://imgur.com/tgQlePH
  • The second problem is related to the player getting stuck between objects. This has been challenging to fix but I believe I'm close to a solution. The engine does have the ability to look ahead and see if the place the player is about to move would result in a collision but it cannot (without me coding it by hand) understand the difference between a collision with the rectangle perimeter of the sprite and a collision with the actual visible part of the wall. I've built a future collision checker which simulates what would happen if the player were to move forward and if that resulting X/Y pos would retrigger the collision that just happened (essentially, if the player moves here would that result in a never ending loop of collision with A, collision with B, collision with A, etc).
    Here's a picture of one such place the player gets stuck
    http://imgur.com/r04NNDg

6/7 | Multi-Object Collisions + VLOG #2

EDIT - Here's VLOG #2
https://youtu.be/hMZ1X6sZxSM


I've completed collision work for single TypeB objects (ones whos direction is ~156 degrees if start point is bottom right). When both TypeA and TypeB objects meet (an example would be where two different oriented walls connect) I observe two issues:

  • Collision forces push the player away considerably stronger where the walls intersect
  • The player can become stuck if collision forces are pushing north and south (or) east and west at the same time
I'm white boarding out some ideas on how to resolve this. The first issue could be resolved if I stop pushing the player once their middle point passes the edge of the wall. The downside to this is that if the player approaches a corner intersection ( an intersection like > ) the player's arms will clip through the pointed part because their middle xpos is passed the pointed part of the walls. The second issue I believe will require some kind of system in place in which if the player is moving east it pulls the player back on the x-axis if the collision forces of north and south are equal in strength. Not sure if I'll have to do the same thing for the y-axis if the forces of east and west are equal in strength. I might have to also integrate some logic to look at the last 3 sets of player X/Y pos and determine if the latest set and the oldest are equal. If so I think we can assume that the player is stuck and is being bounced back and forth between two points and cannot escape.

I feel like I'm getting close on collisions though. Outside of these two observed effects walking around a variety of wall layouts and configurations has worked quite well.


6/4 | Depth and Collisions Redux (VLOG #1)

Here's a video demonstrating the depth and collision code. Turn on Subtitles/CC for some descriptions.

https://youtu.be/Ank2zmJNZ6w
 
RE: No Vindication Development Blog

JC Denton said:
So "No Vindication" project IS alive...sort of... :)

Haha well after I recovered the work you did years ago separating, identifying, and naming the sprites I was able to locate some missing things. I do have a problem with the walking east and west silencer sprites. Not sure if frames are missing or if the original game made the silencer move at different rates depending on the sprite frame.
 
RE: No Vindication Development - 6/4

Thanks for updating us on the No Vindication project and including the video. The progress looks good!
raisedshot2.gif
eltroopan1.gif
 
Neat information regarding the engine's features. I wonder if there is a specific coordinate that causes the player to be stuck in the corner. Anyway, cool observations I really enjoy reading about these bugs you find along the way while working on No Vindication. Keep up the nice progress!
 
JASSI16 said:
Neat information regarding the engine's features. I wonder if there is a specific coordinate that causes the player to be stuck in the corner. Anyway, cool observations I really enjoy reading about these bugs you find along the way while working on No Vindication. Keep up the nice progress!

Thanks! Yeah what's happening is the north wall moves the player south and then the south wall moves the player north and it loops. I think I've fixed that but it's difficult to debug. Need to work on some sort of visualization system that logs each event and I can then go down the list to see what fired when. Interestingly the engine doesn't provide trigger history...
 
Back
Top