Even in the case of assuming that you consider videogames completely worthless and a blight on humanity, surely you can appreciate that the person in this video has demonstrated an ability to reverse-engineer and understand extremely complex systems that were designed and shipped under very tight deadlines and not-very-good tooling... plus they have the ability to teach this knowledge in ways that non-experts can easily follow and understand.
I would not say loving videogames makes for a good engineer, but I will say that my engineering growth was boosted by the opportunities granted to those videogames I loved when I was younger and how easy it was to inspect and disassemble them.
For some The Cutting Room Floor is a website about unused content, but for other people that website is a gateway drug to needing to peel behind the curtain and understand how the sausage is made.
This is a bit of an extreme case, yes, but it's still fundamentally the same thing: someone dedicating their time to understanding something and sharing that knowledge with others, even if it's not particularly useful knowledge.
Pannen's insane dedication to SM64 and the quality of his content have earned him a sort of small cult following over the years of people who watch almost every video he uploads, including me. With that in mind, it's hard for me to say the time was wasted on his part.
This to me is an example of an unhealthy special interest. I don’t doubt that it makes them happy, but one has to wonder about the personal consequences of a lifestyle which allows for a 10 month project like this. Will they still be content after another decade of this, or will they regret spending their youth studying a toy?
No, but I feel a sense of despair when someone is so solipsist as to consider their own values as some kind of objectivity against which to measure others.
And no, please don’t take substances to fix psychological issues that just take some awareness and reflection.
Self-funded by his YouTube videos? Ok.
Lives at home and taken care of by enabling parents? Suddenly not a harmless passion project.
Good, you're able to explain why it shouldn't bother you. The next question is why does it bother you? Any explanations from your side?
- that much drive
and
- that much time to sink into pleasurable (useful or not) endeavor
watching people talk about something they have a passion in (whatever that topic might be) is really interesting to me
There are eight different causes that manifest in the observed "invisible wall" symptoms.
I find the level of detail given appropriate, and consider it as a valuable insight into game engine design as it was appropriate for the time.
This video does a wonderful job of illustrating how a handful of underlying issues can combine and manifest in so many different ways, and this was only the tip of the iceberg of 3D game physics glitches. And some of these issues are things games can still fall prey to today.
Essentially, due to the technique used for collision detection, tiny gaps in the geometry causes collision system to treat parts of the scene as having very thin walls that stretch to the top of the play space. Depending on if Mario's quarter steps align with this little gap means that a collision can be made despite it not being visible. Also explains why they impact Mario sometimes and not others.
Like throwing a marble through a mesh fence but you cannot see the fence. Odds are you will make it through but it is essentially chance.
https://en.wikipedia.org/wiki/Pannenkoek2012 https://knowyourmeme.com/memes/05x-a-presses-but-first-we-ne...
Quote from the author
> If you’ve wondered where I’ve been for the past 10 months, it was working day and night on this one video. In other words, I never actually left, I’ve been working on sm64 the whole time. So I didn’t forget about you guys :)
The mesh for rendering and the mesh for collision detection are separate, so the first cause of "invisible walls" is just that a wall exists in the collision mesh but not in the render mesh.
The other causes are mostly all because of tiny gaps in the level geometry. The game doesn't want to let you go somewhere where there is no floor below you, or there is a ceiling below you with no floor between you and the ceiling. (A floor is just a collision tri with normal pointing up, a ceiling is one with normal pointing down.) If you try to move into one of these places, you hit an "invisible wall". Tiny gaps in the level geometry (eg. tiny misalignments of vertices) can create these places with no floor below them.
The fact that collision detection is done with integer math, combined with certain geometric situations, make the game particularly prone to small gaps around the edges of platforms. The bulk of the video classifies these geometric situations in detail.
The game does not do continuous/swept collision detection, but moves Mario in discrete steps. You only hit the "invisible wall" if you are unlucky enough to land exactly on the gap at the end of a step, which is why you only seem to hit them sometimes. This is the same reason you can pass through regular walls when you move fast enough.
An exacerbating factor is a bug in the "check for floor under Mario" routine that the video calls "floor overshadowing" (the decomp calls it "surface cucking"). The game searches for the floor under you from highest to lowest, returning the first one below you... except there's no actual way to order tris in 3D space from "highest to lowest" (it uses the height of the first vertex in the tri). So a tri earlier in the list can "cuck" the correct tri later in the list, which can result in a floor between Mario and a ceiling not being found even when it exists.