Any one else having these Platformer issues?

jorotroid

Member
I was wondering if any of you fellow intrepid platformer tinkerers are alsohaving these problems and have found any fixes.
The first issues is when dealing with platforms that are only 1 tile thick vertically (and probably a player character that is 4 sprites high). If the player jumps at the platform from the side, the mid section of the player will go through the tile. The top and bottom of the player's collision works, but it's like there is a whole in the players stomach. Once over the tile, the player will hang there as if hanging from their head, and I can still move along the platform as if I sliding along a rail.
hx7Vnx4.png



The other issue I am having is when the player drops from an upper screen to a lower screen. When the lower screen loads, the player appears at the bottom of the screen instead of the top. Strangely, if the player drops two screens or more, then they will appear in the correct position after that first incorrect position.
53f0j4J.png
 

dale_coop

Moderator
Staff member
For your 1st problem, I got exactly the same problem some months ago:
http://nesmakers.com/viewtopic.php?f=19&t=211

Joe replied it's the limitation of the current collision detection engine, so the only you could do is:
1/ make your player bounding box < 16 pixels,
2/ or make your assets big enough that your player doesn't have that collision problem.

For your second problem, a issue with screen loading and and collision detection... You would need Joe to look at that, if he can find a fix (or maybe already fixed with the platform module to come?)
 

jorotroid

Member
Thanks for the quick response, Coop. I guess I was only searching for platformer problems in the forum, so I never came across your thread. Hm. I think I will make the bounding box smaller for now. But if my asm skills level up, I will probably look into adding additional collision points. As for the other issue, I guess I will just wait and see what's what when the platformer module comes out. I'm going to be going on vacation soon, so I probably won't get to work on the game that much anyway.

Also thanks! Glad you like the graphics. I think I might take a break from assembly and focus a bit more on graphics for a while so I will have more progress to show.
 

dale_coop

Moderator
Staff member
You right, wait to see what the platform NESMaker module will add/fix/support
I will follow your project, good job!
 

jorotroid

Member
I'm still having that second issue, but I noticed in the showcase that a couple of games didn't have this issue. Specifically Bionic Girl and Narman. Has a solution been found? Using the forum's search bar is not turning up anything relevant so far.
 

dale_coop

Moderator
Staff member
For the second issue... I found that your first tiles at the bottom of your screen (the screen where your HOLE is) needs to be "walkable".
For example, let's say on your Screen1, your hole is at X=5,Y=14... if you want it to works, you need your X=5,Y=0 being "walkable" (on your Screen1). If it's not, you will have the issue.
It's a bug, not yet fixed.

The explanation is simple: your hole is on your Screen1, at X=5,Y=14. Your player should fall and your Screen2 should be loaded, the data collision engine would test the X=5,Y=0 on the Screen2, and let the player go through (if walkable...)
But the bug is the engine doesn't test the right screen data. It uses the old screen (Screen1) instead of the new screen loaded (Screen2) when he check the collisions.

So you want to be able to go down on your Screen 1 at X=5,Y=14, your have to make X=5,Y=0 "walkable" on your Screen1 (not the screen2).

Hope it will be fixed one day.
 

jorotroid

Member
Yeah, I was trying to see if I could make the screen collision data update before the player gets moved, but best I can tell the code to change those values are in the correct order in HandleScreenLoads.asm, so that means that the actual update happens somewhere else than where I'm looking. I don't really want hunting for where the actual update occurs. So I'll just use the walkable fix for now. Good thing you paint walkable with the 0 key.
 

fearspork

New member
dale_coop said:
For your 1st problem, I got exactly the same problem some months ago:
http://nesmakers.com/viewtopic.php?f=19&t=211

Joe replied it's the limitation of the current collision detection engine, so the only you could do is:
1/ make your player bounding box < 16 pixels,
2/ or make your assets big enough that your player doesn't have that collision problem.

For your second problem, a issue with screen loading and and collision detection... You would need Joe to look at that, if he can find a fix (or maybe already fixed with the platform module to come?)
how do you add the alternate platform physics, do you add it to the player input scripts? do i have to cut and paste code , if so where? I've heard Joe say "just use the alternate physics" a few times and i found the script i just dont know what to do with it?
 

dale_coop

Moderator
Staff member
To change to the alternate physics, in your “Project Settings > Script settings”, you can assign other scripts that the default ones.
(“Tile collision Routine”... you can assign it to another script “tilecollison_platform_simple.asm” or “tilecollison_platform_simple_alt.asm”)
 
Top Bottom