Hey! I'm making a game which consists of 3 layers. The layers are basically the with just a little difference but this difference is graphical not mechanical so when it comes to "programming" I just make a thing for the main layer and then I just copy and paste it to the others and change the objects. I have made this for Wall Jump too but there is a problem on the second layer, it's not working and I have no idea why. I want to ask your help maybe you can see more than me. Here's a link to the game in a rar file: dropbox.com/s/dlxn18lncvm547u/LightIntTheNight.rar
You can switch layers with the up and down arrows, you will see which one is the second one and then try wall jumping on the second layer and on the other two. Thanks for any help!
Not really sure what you're saying is wrong, the only tiles for wall jumping are on the front layer anyway. The other two layers only have floor.
Yeah but you can wall jump on the side of the platform if you drop down on it's side you can wall jump. But on the second layer it pushes you from the wall and I don't know why is it doing that.
There are quite a lot of issues with your game. I think they all can contribute to the poor control system, and not only with wall jumps.
Here are just some that I found in about 2 hours...
1. Your character sprites have non-symmetrical collision polygons - the distance from the Origin point to the left and to the right of your collision polygons is different.
As a result, when the character is near the wall and you mirror it (pressing A or D), you character either becomes ~30 pixels away from the wall or ~30 pixels inside the wall. I believe this is the biggest problem which ruins your wall jumping. Also when you just walk to the wall and turn around, your character often jumps.
Changing the collision polygon fixes this.
2. As you have 3 characters with platform behavior, event though you disable it for two of them, some platform events are still triggered for inactive characters. For example, Wall Jump2 and Wall Jump3 events are triggered even when character 1 is active. This has at least one bad outcome - your JumpCount doesn't work correctly. There maybe a bunch of other issues with other platform events.
You need to review all events and make sure that when one character is enabled, the other two are completely disabled (not trigger any events).
I don't know why you've chosen this mechanics. I think it would be better to have just one character object with 3 different animations. It'd be much easier to code and you could've avoided all these issues.
3. Events in Layers group are triggered every tick. This may not cause any real problems, but I would definitely fix this too.
Thanks for the detailed review. Basically I choosed this mechanic because I'm a beginner and this solution seemed the best and I haven't even thought about what you say so yeah... Now you it's much easier but the mechanics are almost complete so if i can get them to work I won't change them but I will keep in my what you've said. And I really appreciate that you spent this much time just overviewing my project! A really big thanks!
Develop games in your browser. Powerful, performant & highly capable.
I think you should consider changing the mechanics - to just one character sprite..
This should make your code much easier and may save you a lot of time in the future.
By the way, since the only difference in appearance between 3 characters is their color, you won't even need 3 different animations. You can just apply a color-changing effect or blend mode.
I didn't know that this option exists -.- Thanks for informing me I already could have saved a lot of time!