top | item 33178301

MAR1D: First-Person Mario

545 points| rendaw | 3 years ago |mar1d.com | reply

155 comments

order
[+] worewood|3 years ago|reply
Well, we see the world as a 2d projection BUT we (usually) have 2 eyes so we have some amount of 3d-info.

Maybe mario has 2 eyes too, which would give him some amount of 2d-info. (Just like an MRI can construct a 2d slice from 1d info). So the first person game should have maybe a depth info on those pixels.

What I mean, mario does not see only a line. He sees a silhouette of what lies ahead of him.

[+] yissp|3 years ago|reply
See also, the glEnd() of Zelda http://tom7.org/zelda/
[+] smcl|3 years ago|reply
That was spectacular, I cannot believe I haven't seen that before! The name of the project too :D
[+] capableweb|3 years ago|reply
That's 3D though, not nearly as interesting as 1D Mario :)
[+] cheschire|3 years ago|reply
This is neat. I love fun with dimensions like this. This 4D minecraft clone is a similarly fun thing.

https://www.youtube.com/watch?v=u8LMyWcKL_c

[+] tracker1|3 years ago|reply
I think it'd be fun to have a 3D game with the explained 2D navigation mechanics... Looks like classic Mario Bros, until you shift... Add in some 3D baddies and a 3D observer mode, where you can see everything while "watching" players in the game.
[+] tysehr37|3 years ago|reply
Interesting, their way of demonstrating a 4th dimension is very unique. love how it became a game mechanic
[+] ugh123|3 years ago|reply
TBH I was hoping for something a little more "realistic". I just see a line of squares moving around and seems unplayable.
[+] olah_1|3 years ago|reply
Yeah I was hoping for something more like the Cruis’n USA racing games where the world is scrolling at you and your character stays stationary.
[+] jml7c5|3 years ago|reply
What do you mean by realistic? I guess you could throw shading/lighting in, but then you're playing a 1D version of a remastered Mario Bros rather than the original.
[+] dm319|3 years ago|reply
There are several VR 3D Super Mario Bros adaptations which are easily found on google. But of course they have to take liberties in the Z plane.
[+] an1sotropy|3 years ago|reply
If you like this, you'll like Planiverse (1984) https://en.wikipedia.org/wiki/The_Planiverse

A bit like the classic Flatland book, this also imagines a 2D world, and also fosters thinking about higher dimensions. But there's a nice shift: if there's an "up" in Flatland, it points out of the world, whereas in Planiverse, the up is in-world, and we visit the world by looking at it from the side, rather than from above. So the creatures of Planiverse would be great at playing MAR1D.

Planiverse also creatively thinks through a lot of the physical and mechanical realities of living in a 2D world, and is wrapped in a poignant narrative about using computers to connect to alternate realities.

(ah shoot I just learned that the author has turned into a 9/11 truther, but Planiverse remains a cool book)

[+] lioeters|3 years ago|reply
Planiverse is one of my all-time favorite books. Some tasty morsels:

The Planiverse: Computer Contact with a Two-Dimensional World - Engineering Designs in Planiverse - https://cs.stanford.edu/people/eroberts/courses/soco/project...

---

> Dewdney wrote The Planiverse as..an allegory for his search for a reality deeper than that of scientific enquiry, and his subsequent conversion to Sufiism.

We're the ones living in flatland, a planiverse of limited 3D perspective, who yearn for higher dimensions of experience, a glimpse of the beyond. Unfortunately it's not without risk, as this way madness lies - either as a trap of illusion, or at least as a step toward fundamental truth (if any).

[+] hobo_in_library|3 years ago|reply
> I just learned that the author has turned into a 9/11 truther

I don't get those folks. Personally, I identify as a 9/11 falser.

[+] furyofantares|3 years ago|reply
Mario has very poor eye placement for a 2d character and shouldn't be able to see anything but his nose.
[+] JadoJodo|3 years ago|reply
Something I've never understood about 2D/Flatland as a "visual" idea:

In the case of this Mar1d, if I'm on the X-axis, and can only see the Y-axis, wouldn't any amount of detail in the Z-axis constitute a 3D image? The Y-axis stretched even a single "pixel" along Z would make it 3D, right?

Similarly, for Flatlandia: If I'm a 2D square on the X-axis, and can see "around" me on the Z-axis, wouldn't my ability to see anything make the Y-axis be > 1?

[+] derefr|3 years ago|reply
A thing photographers / image-effects people think about a lot: pixels aren't little squares; they're sample points.

If you've ever played around with graphics-rendering — UV coordinate sampling, convolution, etc — then you know that you can think of a (2D) raster image as really being a grid of samples of what color you get when you look at the UV coordinate represented by the center of that grid-point on some underlying hypothetical continuous texture.

Which is to say: if you have a pixel-art image (i.e. one created at pixel scale, pixel by pixel, rather than created with continuous-art techniques and then scaled down), and you want to scale it up "conservatively", without making up any information that doesn't already exist in the image — then the right way to do that isn't to blow up the pixels themselves, nearest-neighbour style (as if the hypothetical underlying texture is a tessellation of infinitely-sharply-bounded little squares); but nor is it to stretch the image with bilinear/cubic/etc. resampling (as if the hypothetical underlying texture is a continuous blend from the color at the center of each sample into its neighbours.)

Really, the conservative approach to enlarging a pixel-art image, is to throw your hands up and give up — because you actually don't have the information for what occupies any UV coordinate of the underlying hypothetical continuous texture, other than the exact center-point of each grid square, where the pixel-art pixel sample is located. A pixel-art image, created from scratch as pixels, only really tells you what's at the exact center point of each grid-square. Every other possible sample-point in each grid-square is left undefined. If you picture an infinitely-small dot in the center of each grid-square, with the rest left "empty", that's the data you have about the "underlying image", from seeing a pixel-art image. Anything beyond that is "compressed sensing" — an inference, not a logical deduction.

But to directly address your point: you see pixels, because that's how the game has to be rendered — as a 2D extrusion — for it to show up on a screen for you to see. But in concept, the game is giving you a one-dimensional array of sample-points — a sampling of an underlying hypothetical one-dimensional continuous texture.

[+] bee_rider|3 years ago|reply
I think we have to imagine 2D Mario, as a being which lives in a 2D world, has his "sight" via an organ which has evolved differently from a human eye. So, the the viewport with a single wide pixel is really just an appropriate visualization for us 3D beings.
[+] tomxor|3 years ago|reply
Yes, it wouldn't be 3D, but what you are alluding to is projection (X onto Y, or more generally instead of X which would be orthogonal only, a 1D plane of any orientation - AKA line segment) ultimately you are still looking at a 1D image, but it has a 2D shape projected onto it that changes depending on both your orientation and position, so that you can perceive part of the 2D shape's surface as you move.

And this would be more physically correct than either Mario or Mar1D.

The generalisation, starting in 3D, is that you can project the surface of a 3D object onto a 2D plane (which is how we see)... we get a little bit more by gauging depth through stereo separation but ultimately we only get to see one 3D projection onto a 2D plane at any point in time, i.e the entire 3D surface is not accessible, we can't see behind it, or inside it, and the perception of 3D is constructed in our mind from a combination of general learned/evolved intuition of 3D space and shape and temporal samples for a particular scenario e.g looking around the object from different angles.

Projection can extend to higher and lower dimensions, e.g in 4D space the surface of a 4D object can be projected onto a 3D "plane"; and as you are suggesting, for 2D space you can project a 2D object onto a 1D plane. The projection changing depending on the orientation and position of either the shape or eye/camera.

Normal 2D game rendering doesn't really make any physical sense as a projection unless you consider them to be a narrow 3D world (consider the fact that you can see the entire surface of a square and inside of the square, but Mario the character cannot possibly see this, only a small part of the surface).

But this is all based on a "projection" with the assumption of a lot of opacity... if each particle received from the projection also contained accurate enough depth information and was a vector of all depths traversed for some limit, then full 3D could be perceived in a single 2D projection within a 3D world i.e if you could see "through" objects while still being able to sample each depth.

[+] dusted|3 years ago|reply
Another perspective on this is..

When we're rendering a 3D environment on a 2D plane, we're projecting it "down", so that we can perceive it.

When we're rendering a 2D environment on a 2D plane, are we doing nothing to to ? Maybe, but the 2D environment we've constructed to begin with is probably inspired from our native 3D thinking.

But when we're rendering a 1D environment on a 2D plane, which we need to do to perceive it, because we don't have a visual organ for perceiving 1D environments of the kinds constructed in "native 2D thinking".. So we're projecting "up", adding data to convey a representation of the environment that we can perceive, not as it "is".

[+] chc|3 years ago|reply
I think you're imagining a projection of a 2D world into three dimensions and correctly observing that it's three-dimensional.

Imagine a 2D world with two squares and a circle. One of the squares pushes the circle and it rolls into the other square, impacting it. This is all plausible in a purely 2D setting, right? Assuming that these objects can't take up the same 2D space, it makes sense that the square would be impacted by the circle. This is how vision works — photons bounce around and our eyes sense them. There wouldn't actually be any Z-axis to what you're seeing, you'd just be registering 2D photon-equivalents moving in two dimensions. But in order to represent it as something our brains can recognize as "seeing," we have to project the input into some non-zero dimension.

A different representation could emphasize this point better. You could have this same basic game, but instead of first-person, have it be third-person but with actual vision simulation, so that you only see the parts of objects that Mario would see and everything else is simply absent.

[+] babypuncher|3 years ago|reply
It's basically a 2D game but they replaced the width dimension with depth. Wolfenstein 1-D [1] is a true 1-dimensional game. The game is represented by a single straight line of pixels, and player movement is restricted to a single axis.

1: https://en.wikipedia.org/wiki/Wolfenstein_1-D

[+] Bakary|3 years ago|reply
In a properly 2D universe, there would be the equivalent of some sort of planck length that is essentially the only length. The equivalent of a string of one-bit messages that shift around. We chose to visualize it through something that has width because we are unable to properly understand the alternative.
[+] fnordpiglet|3 years ago|reply
No. To be a dimension there needs to be freedom. In this case the Y is quantized at one pixel and there’s no independent parameter in that direction, just an invariant quantum.
[+] d23|3 years ago|reply
I think you're right, and while I think something simple like fading in and out the elements based on distance would be reasonable (since the game would be unplayable otherwise, as you'd be able to see the entire level), the choice they appear to have made (something non-orthographic) seems to essentially be fully encoding the extra dimension. Otherwise, I can't see how the goomba would appear to get bigger as it gets closer to mario.
[+] LeifCarrotson|3 years ago|reply
The Z axis can be imagined to be infinitesimally narrow. There's no information in the stretching of the Z axis, so you can make that single color of data in the as visible as you like without adding any information.

Our eyes see in two dimensions, so a Mar1d world with a Z axis one Plank length wide would still have the same colors, but it's impossible to see.

[+] ryanisnan|3 years ago|reply
If the width of a pixel along the Z-axis is arbitrary, and you only see one, no, it would not be 3D. It's still 2D, you just have the ability to more easily see. You gain no new information.
[+] EmilyHughes|3 years ago|reply
Correct. That's why this game is 3D and not 1D.
[+] hombre_fatal|3 years ago|reply
I remember playing a first person Mario before, either on Newgrounds or Ebaumsworld, where the level was a narrow 3D corridor the width of a coin box. Much more playable but not as silly.
[+] ClassAndBurn|3 years ago|reply
This is like the first half of Flatland visualized[1]!

I always found imaginating Square's point of view a fun challenge. Seeing a world, I otherwise recognize the same way gives it a whole new dimension.

[1] https://en.wikipedia.org/wiki/Flatland

[+] bscphil|3 years ago|reply
I love this.

Another way to 3D-ize a 2D (sidescrolling, platform) game, if someone wants to take it as inspiration: rather than assume the (infinitely thin) 2D plane of the game to be 1 pixel thick, assume that everything in the 2D plane has infinite depth.

Because of perspective, this will look very different than 1 pixel stretched horizontally, which is what this game does. In fact, with a little shadowing and applying the object textures to the z-y axes of the object rather than the x-y axes, I expect many 2D games would actually be playable like this. I think the results would be bizarre, but extremely fun for fans of the game.

[+] twic|3 years ago|reply
Made me think of another one-dimensional crawl game, Line Wobbler:

https://wobblylabs.com/projects/wobbler

I'm not sure how well the site and videos explain it, but you control a green dot trying to travel along a line. You have to beat or evade enemies, lava, etc along the way. You control it with a spring door stop, but that's not what it's about.

[+] imbusy111|3 years ago|reply
That is a terrifying way to live your whole life.
[+] vadansky|3 years ago|reply
Now you know how Tralfamadorians think about us
[+] smoldesu|3 years ago|reply
Plumbing does not get any easier when you lose a dimension's worth of eyesight.
[+] nigerianbrince|3 years ago|reply
Someone out there might feel the same way about us. (2d vision)
[+] paulryanrogers|3 years ago|reply
This feels kind of overly simplified. SM1 was made from a side view for historical reasons. When 3D appeared it became over the shoulder because FP makes so many sick.

I'm playing Doom Golden Souls and--aside from gunplay--its platforming feels to me like what SM1 would've been if Nintendo had tried 3D FP before polygonal models were practical.

[+] yencabulator|3 years ago|reply
Please explain Mario turning around like he does in the game if he really lacks the 3rd dimension. Or entering a warp pipe, with the animation we see for it.

I would say it's more plausible he's in a very narrow corridor (that just happens to be painted sky blue).

[+] Shared404|3 years ago|reply
I quite enjoyed the writing style on the landing page as well as the content.

Very reminiscent of BDG/Unraveled.

[+] dusted|3 years ago|reply
I wonder if I still have my prototype somewhere, exactly the same thought.. We humans exist in 3D space, yet perceive the world in 2D (with some additional depth perception added).. Sooo.. our perception is 1 dimension less. If someone were to inhibit only 2 dimensions, they'd perceive one dimension less, so 1D. Now, to translate that back into something a human could see, it'd just be... bands.. My engine had the bands extend the entire width, but same thing. I also made a 1D version, where you.. yes, move along a single axis, and your perception is thus 0 dimensions, simply a point (extended to fill the entire screen) that changed brightness.

I also made another one were you were a a typical 2D platformer character, but with the ability to rotate around your own Y axis, so the levels were fully 3D environments, and it sliced a plane through the world with the origin being the player character. You had to turn around yourself a lot to get an idea of the environment.