Secretchronicles / TSC

An open source two-dimensional platform game.
https://secretchronicles.org/
GNU General Public License v3.0
205 stars 49 forks source link

Alex doesn't die when falling into a bottomless area... #431

Closed ghost closed 9 years ago

ghost commented 9 years ago

Hi all...

As I've mentioned here at the TSC forum...

http://forum.secretchronicles.de/topics/254?page=1#p1207

Since installing Beta 8, a couple times when I've fallen off a cliff or a ledge into a bottomless area, Maryo doesn't die. Instead, he seems to drop below the bottom of the screen (and out of site) and I'm able to make him go right or left a short distance. While I'm able to shoot projectiles, I'm not able to jump or somehow get him back up to the screen where I can see him.

When this has happened, I've had to exit the game and drop back to the menu to start over again. I've included a couple screenshots but I don't have the equipment and/or know how to make videos, plus the two times this has happened has been at totally at random.

If more information is needed, please let me know... :-)

EDIT: Whoops, this may not be a bug after all, at least in the second screenshot (actually, a little bit before, I think.) I see by the placement of the jewels between the pipes, that landing below the screen is part of the game in this particular spot. However, I can't do anything apart from shooting projectiles and move a little ways right or left. This a totally new feature that I wasn't used to.

1

2

datahead8888 commented 9 years ago

@ardvark71, at what position were you on the screen before falling in each of the pictures? If it's not feasible to get a picture that shows this, can you describe it?

What level and world are each of the screenshots from?

Whoops, this may not be a bug after all, at least in the second screenshot (actually, a little bit before, I think.) I see by the placement of the jewels between the pipes, that landing below the screen is part of the game in this particular spot.

It could still be an opportunity with the camera or level design, but we'll know once someone reproduces it.

ghost commented 9 years ago

Hi Datahead...

I was able to reproduce the events just a few minutes ago in the same locations. They are both in World 2, the top screenshot (forest) is in "lvl_10" and the bottom one (pipes) is in "dj_kirby_1."

In the top screenshot, I fell off in the bottomless area just a hair left of what is shown in the screenshot but I could walk to the area that is shown.

In the bottom screenshot, I fell off just to the left of the pipe on the far left. The two saw blades on the twisty wooden pole is directly to the right of this same pipe.

BTW, how do I label this report as a bug (that are red in color,) or do you do that once it's confirmed?

Hope this helps...

DarkAceZ commented 9 years ago

I believe I've run into this several times as well as @Quintus ... Still not sure what causes it, though. It's a long shot, but perhaps it's caused by G-O-D mode? Were you using it at all in these game sessions? (hold the buttons 'G' 'O' 'D' while in-game to trigger funky GOD mode)

BTW, how do I label this report as a bug (that are red in color,) or do you do that once it's confirmed? Only certain people have this access, which I think is a little strange on github's part. At least the issue starter should be able to add his own tags, but that's not how it is...

ghost commented 9 years ago

Hi AceZ...

No, I've used this mode before on Super Maryo Chronicles and I definately was not using it when these events happened. Actually, I've not used it once in Dr. M.

Thanks for adding the bug label, much appreciated. :-)

Regards...

Quintus commented 9 years ago

I can confirm this bug exists, I have experienced it previously as well (even before beta 8 if I remember correctly). Last time I wanted to pin it down I was unable to reproduce it at will. Can anyone of you try to build a definitive guide to make this bug appear that works almost always? Please be as specific as you can, ideally with a step-by-step guide.

Only certain people have this access, which I think is a little strange on github's part. At least the issue starter should be able to add his own tags, but that's not how it is...

Yet another reason for switching off to our own system.

Valete, Quintus

ghost commented 9 years ago

Hi Quintus...

You should be able to duplicate it especially on the second map, "dj_kirby_1," right where I indicated on the screenshot. Fall off just to the left of the pipe that has the two saw blades directly to the right of it. :-)

Or did you mean something else?

Thanks!

ghost commented 9 years ago

I had this bug too some months ago.

It probably happens after you get piped into another level.

Am 10.06.2015 um 19:16 schrieb ardvark71:

Hi Quintus...

You should be able to duplicate it especially on the second map, "dj_kirby_1," right where I indicated on the screenshot. Just fall off right to the left of the pipe that has the two sawblades directly to the right of it. :-)

Thanks!

— Reply to this email directly or view it on GitHub https://github.com/Secretchronicles/TSC/issues/431#issuecomment-110841388.

sydneyjd commented 9 years ago

I noticed this bug in beta 7, but i thought it only showed up when i played around with GOD mode. aparently i was wrong.

Quintus commented 9 years ago

I can’t get it to reproduce. I play dj_kirby_1 until I come to the passage with the two stacked saws. I then let me fall off to the left of that pipe that has the saws attached to its right, and I get killed.

I need some more reliable reproduction info. Please, you all help me here?

Valete, Quintus

ghost commented 9 years ago

Did you get warped there from another level?

Am 11.06.2015 um 16:38 schrieb Marvin Gülker:

I can’t get it to reproduce. I play dj_kirby_1 until I come to the passage with the two stacked saws. I then let me fall off to the left of that pipe that has the saws attached to its right, and I get killed.

I need some more reliable reproduction info. Please, you all help me here?

Valete, Quintus

— Reply to this email directly or view it on GitHub https://github.com/Secretchronicles/TSC/issues/431#issuecomment-111157229.

datahead8888 commented 9 years ago

I reproduced the bug in dj_kirby_1. I consistently died when falling into pits in the level. At this point I was saving my game and reloading each time, trying to reproduce it. I then played dj_kirby_1_sub from the menu, beat that level, and then loaded my save point from dj_kirby_1. At this point I had god mode turned on and then disabled it (shown in the video). At that point, jumping into a pit, the bug occurred. I was able to produce this with the pit between any of the pipes shown in the screenshot.

I then tried loading my desert_break_in level and jumped into a pit. The bug happened there, too. Restarting the entire game executable solved this.

This of course is not authoritative and does not guarantee you will be able to reproduce it. I can try to do this from scratch again later, but at least it's something for now. This bug does seriously break the game, so I agree we should consider delaying the release for it unless someone can provide information to the contrary.

Video: https://www.youtube.com/watch?v=UyjO2ygAn_s&feature=youtu.be

Save state file: https://drive.google.com/file/d/0B6YSsocq3-cWWk5DZzcxUUZJYzA/view?usp=sharing

Quintus commented 9 years ago

O_o What a strange bug!

I can second what @datahead8888 said, and thereby validify @sauer2’s statement. To reproduce:

  1. Start TSC
  2. In the menu, select dj_kirby_1_sub.
  3. Finish the level by entering the pipe on the left.
  4. You are taken back to the menu. Now load dj_kirby_1.
  5. Play until you find any abyss.
  6. Ensure you have God mode disabled. Jump into the abyss.
  7. You do not die. Instead, Alex falls eternally.

Step 7 doesn’t work if you have God mode enabled, the God mode exception in the abyss code will make you jump when hitting the bottom edge.

Okay, now that I can reproduce it with certainty, I can take a look at this. Strange thing, this. Really. What puzzles me most is that the bug stretches over multiple levels, but there might be an explanation for this. I have worked with TSC’s level code a lot, and in case you didn’t know, TSC does not destroy the cLevel_Player instance. That is, the level player is always the same instance. What one level sets on it is taken over into any following level. This is poor design, and I don’t have this in the SFML branch. I’m pretty sure a level exit sets some property on the level player instance that doesn’t get cleared.

Valete, Quintus

Quintus commented 9 years ago

If you have linking problems compiling older commits, use this CMakeLists.txt instead: http://team.secretchronicles.de/~quintus/stuff/CMakeLists.txt

Vale, Quintus

Quintus commented 9 years ago

$ git bisect found the problematic commit.

% git bisect bad
188e0bcb14cbf70557dcfcffde7d63552fe3bb55 is the first bad commit
commit 188e0bcb14cbf70557dcfcffde7d63552fe3bb55
Author: Quintus <quintus@quintilianus.eu>
Date:   Fri Feb 13 10:48:22 2015 +0100

    Add warping kill protection. Fixes #358.

:040000 040000 0a8aab4875688896ea715e0c4f89da53e62be5fc 93f7bbb5660a904d17f62e9cf3d7df0593ab338b M  tsc

So now for fixing.

Valete, Quintus

Quintus commented 9 years ago

I won’t do this for now as I’m working on the SFML stuff. With the faulty commit being pointed out, fixing this should be easy.

Valete, Quintus

datahead8888 commented 9 years ago

This is now marked as blocker, since we have determined we cannot release until this issue is fixed.

ghost commented 9 years ago

Thank you all for looking in to this and to Quintus (and possibly others) for ascertaining the exact issue and, Lord willing, creating a solution. :-)

Regards...

ghost commented 9 years ago

Awesome, perhaps I can test this in a later release! Thanks! :-)