Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Appveyor build issues report #1. #8

Open
6 of 9 tasks
Alucard648 opened this issue Aug 14, 2016 · 8 comments
Open
6 of 9 tasks

Appveyor build issues report #1. #8

Alucard648 opened this issue Aug 14, 2016 · 8 comments

Comments

@Alucard648
Copy link

Alucard648 commented Aug 14, 2016

  • 1. Character can phase trough slope-to-slope passages, even if it should not fit trough.

phase1
phase2

  • 2. Character with size Snapshot issues report #2 #2 can walk onto slope from moving block and through block above, with crush registered.
    crushed6
  • 3. Character can still tag corner block between 2 normal solid blocks for 1 frame, enough to roast himself, if that corner block was lava. Also check corner collision under non-sloped side of slope block.
    wall3
    wall5
  • 4. Character can bonk his head on non-sloped corner of slope block, even if he cannot fit into space between blocks.
    bonk2
  • 5. Character fails to "paint" registered collision with non-sloped side of slope block.
    wall4
  • 6. On the other side, positioning pixel perfectly close to block edge, bit without actually touching it (horizontal velocity vector not pointing against block, control direction not pushed agaist wall) still registers collision (painting contacted block and such). This renders impossible to drop trough shaft pictured below without getting hurt.
    spikes1
  • 7. Character phases upwards onto solid-top slope if his vertical velocity points downwards while inside solid-top slope block.
    slope_walk3
  • 8. False cliff detection, when character tries to fit trough slope-to-slope passage.
    cliff1
  • 9. Cliff detection failure when character balancing on the very corner of slope block. One slightest direction control touch means plummeting down.
    cliff2
@Wohlstand
Copy link
Member

  1. Try in SMBX 1.3 and you will see worse case where small character allowed to go through this
  2. That because I don't ignoring moving elements on this moment which was hard to solve even without movements around, but I have some thinks how to avoid this
  3. That because block flagged at bottom is candidate for cliff detection, i wasn't actually made right touch marking that I still work to allow right reaction on contact with special blocks but avoid informal reaction from your screenshots
  4. This also wasn't finished because that detector which fixes bonking and corner stumbling on wall is works for rect-only blocks yer but requires much more logical checks with truangle blocks (which side, which height, does actually touching or touched rectangular area only, etc.) which I will work a bit later
  5. same imperfection as 3
  6. painting of touched blocks wasn't actually implemented yet, therefore painted blocks are overlapped and forsed player change it's physical position at contacted side
  7. one-way blocks correctly working with recr-only blocks and triangular one-way collision blocks are VERY experimentally
  8. because on moment player flying I n air. For one mili second
  9. that wired, and I'll check after sleep (at me now 4:45 AM, very late night)

@Wohlstand
Copy link
Member

9'th bug fixed

@Wohlstand
Copy link
Member

3, 4, 5 are been fixed

@Wohlstand
Copy link
Member

Wohlstand commented Aug 14, 2016

P.S. Please use in next time a checkboxes to let me easier mark fixed bugs in the lists, it's easy:

- [x] This is a complete item
- [ ] This is an incomplete item

@Wohlstand
Copy link
Member

Wohlstand commented Aug 14, 2016

About 6'th item:
the case is character usually has smaller width than wall. So, I need to test in SMBX when character will push wall and keep zero space between wall
EDIT: Okay, character doesn't dying while falling between danger wall with zero width, I will don't register walls which are doesn't pushing

Wohlstand added a commit that referenced this issue Aug 15, 2016
(Fixed Item 7 in the issue #8)
Note: filters for ceiling slopes are not implemented yet, therefore there are will always worn independent from the filter setup
@Wohlstand
Copy link
Member

Wohlstand commented Aug 15, 2016

Item 7 finally fixed. However fixing 2 is pretty hard because one attempt broke my previous fix of corner collisions checking, and I undone that change. Will try test. Anyway, while playable character will be smoothly moved away (I also declare direction dependent from slope angle to avoid cheating going through wall). NPC will be forcedly moved to nearest wall unlike players.

About 1: how I told, in SMBX 1.3 that bug is much harder, but why don't keep it? Fixing of same with 2 resulted same broke.
About 8: I don't think that cliff checker needed here, because I want to send a wall pushing event instead to tell NPC turn. Anyway, reason is: while automatic resolving of two-slopes collision in process, array of cliff candidates blocks accepts few elements, and there is illusion that no nearest touching blocks around to check it's edge for cliff distance.

@Wohlstand
Copy link
Member

Wohlstand commented Aug 15, 2016

Item 2 is semi-fixed. For NPC's I need to force dropping them on soft-crush to the nearest wall (whille playable character will be smoothly moved opposite to it's current direction, or better: recent motion vector sign to avoid familiar cheating tricks with this effect like this done in original Mario games)

@Alucard648
Copy link
Author

Checked item #1 in SMBX 1.4.3. Works fine.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants