MAR1D: First-Person Mario
mar1d.com
mar1d.com
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.
Eyes can’t even be side-by-side as that axis doesn’t exist.
Having said that, the human brain is capable of reconstructing a 3d perception with only one eye through learnt understand and interpreting the picture change over time as you move. I image it’s the same for Mario, but in 2d.
So is that a pun, a spelling error or bad english?
I want it to be the former.
I thought about it, how our eyes are placed on the sides, probably because we're very earth-bound, and horizon lies that way and such.. It'd be really interesting if we had an additional third eye on our forehead, it'd give us a bit more detailed depth perception, but I don't think it'd be that much more useful.
To have two eyes there should be some horizontal separation between them, which can't happen in 2D.
Is his world actually 2D though? Or a 3D world projected down to 2D? The latter is what I would expect.
And we have a few unconscious abilities like seeing light polarization that can help: https://www.ncbi.nlm.nih.gov/pmc/articles/PMC4528539/
[1] https://en.wikipedia.org/wiki/Super_Mario_Bros.#/media/File:...
There’s one for Dall-e Mario level as painted by Picasso
> we decided that we needed to see the world from his eyes.
;-)
FWIW, there is a 2d in a 3d world side scroller called Fez
It's way more limited, you can only rotate to 4 faces around the world. It's been a decade, but I remember it being a fun and short game.
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)
I don't get those folks. Personally, I identify as a 9/11 falser.
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).
Huh. That makes a lot of sense from what I remember of the way the whole thing ended, with Yendred's time under the tutelage of Drabk the Sharak. Hello weird names still stuck in my head after thirty or so years.
Not that this wasn't also a theme in Abbot's earlier Flatland, most of his other writing was theology, and it, too, climaxes with a mystical experience for its 2D protagonist. But A. Square ends up back in his flat world, writing from a madhouse, rather than transcending it and going on to... something inexplicable.
I have spent time poking against this sort of thing and madness is definitely a possible result.
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?
And that's when talking about video-games or computer graphics. In the Flatland example, there are no pixels. The characters shouldn't be able to see each other or the structures on their 2D plane at all.
All of physics would have to be different anyway, down to really fundamental stuff like how quantities which spread from a source radially operate, since we'd be looking at perimeters rather than surface areas.
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.
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.
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.
Cameras integrate lightfall over an area, and though consumer formats munge that data, they surely do not do so in a way that is best approximated by a zero-width point sample.
Pixels on most modern displays, albeit not those from the era of the famous 1995 paper, have especially at low resolution visible squareness; not as squares precisely per se, but certainly such that a single-pixel diagonal has an overt XY-aligned jaggedness.
GPUs integrate colors over square volumes, to display logical pixels, or rather at least aspire to, with sufficient multisampling or that that approximates it.
And then this especially is so for pixel art, whose modern aesthetic assumed the squareness of pixels not as an unfortunate limitation to be worked around, but as a defining and visually appealing characteristic. Pixel art for CRTs and pixel art for (or reinterpreted through the lens of) scaled display on LCDs are fundamentally different visual targets and assumptions on one need not naively apply to the other.
And even art made for CRTs often does not truly assume point samples, hence why they often look better through CRT reconstruction filters rather than more idealized mathematical ones.
You didn't really grasp what I was trying to say, I think. When I say "pixel art", I'm not referring to an art style where you draw things under the constraint that you have to draw them using chunky squares. That aesthetic may as well be created as a bunch of SVG rectangles, or even 3D-modelled as voxel cubes with an orthographic camera. (And, in modern "pixel art", it often is. The art assets of many modern "2D" games are often slightly-3D-extruded voxel-cube models, despite the camera + shaders obscuring this. And some games, such as Fez, take advantage of this.)
Rather, by "pixel art", I'm referring to representational art created as low-resolution hand-dotted pontillist raster images throughout the 70s-90s, made that way due to the technical constraints of storage and/or reproduction, with the intention to "compress" information from higher-resolution assets into a small space through stylistic summarization/abridgement.
Examples:
- the icons of Windows 9x (http://www.iconconstructor.com/tutorials/what_is_icon/icon_g...)
- the original Rollercoaster Tycoon (https://launchpadlab.com/wp-content/uploads/2020/04/ux.jpg)
These things are pixel art, but not in the sense that you're meant to perceive the pixels. They were intended for rendering on a display with a DPI and lack-of-crispness such that those pixels would be barely perceptible. Rather, they're pixel art in the sense that every pixel was individually considered, for the informational effect it has in communicating the idea of a more complex underlying visual object than can be compressed into a 16x16 or 32x32 grid.
In the Windows icon example, the smaller 16x16 icons, were almost always created by first designing the 32x32 image, then resizing it to 16x16, and then "cleaning it up", redrawing edges and textures to create something that looks crisp and conveys the same information that the 32x32 image does.
But if you think about it, the "informationally correct" upscaling of the 16x16 image, is the original 32x32 image that was downscaled to create it. In the same sense that the proper upscaled version of an 8pt font in a font-face, is a 16pt or 32pt or 72pt font in that same font-face. If someone asks you to replace the 16x16 images with 32x32 ones, and you have the original 32x32 images used to create the 16x16 ones laying around, then you'd use those.
But if all you have is the 16x16s — well, that information from the 32x32 originals, doesn't exist in the 16x16 images. And, as well, a bunch of information has been "created" in the 16x16 image — a sort of "hinting" has been done (by hand, but it could have just as well been done like font hinting, specifying algorithmically an arbitrary position within each 2x2-pixel UV-coordinate box that should be sampled to produce the resulting pixel for the 16x16 image, in order to get crisp borders et al.) Taking that information into account, would distort the 32x32 image. (Exactly the same way that applying small-font-size font-hints to a large-font-size grapheme would distort it.)
Some pixel-art assets, e.g. the ones in games like Donkey Kong Country, are literally downsamplings of original higher-resolution 3D renders. The "correct" upscaling for these would just be the original high-resolution image. You can't create that upscaling, though, because some of the information to create it was discarded during the downsampling. There is detail that has been lost. The pixel art is a summary, an abridgement, of an underlying image — a literal sampling of some, but not all, of the underlying data.
The only difference between Donkey Kong Country's assets, and Windows 9x, is that in Windows 9x, the "underlying image" that the icons sample, is imaginary. Nobody created a hi-res version of the icon, before creating the low-res version. But they were picturing it. And, if they were asked to, they could put that version to paper just as well. Just because the original icon only existed in someone's mind's eye, doesn't mean it didn't exist. Just because the underlying scene painted in a pontillist style was imagined out of whole cloth, doesn't mean it didn't exist, in the painter's mind's eye, in more detail than the painting captured.
This is in contrast to the modern "pixel art" aesthetic, where the pixels themselves are the intended detail. If you upscale Steve Minecraft, you just get Steve Minecraft. Same blocky look, even at infinite resolution. No additional information needed, because the information is already there — the UV map really does convey "a tessellation of infinitely-sharply-edged squares" (or a mesh of polygons composing into little voxel-cubes), rather than sample-points.
This does not mean, nor does it imply, that “pixels aren't little squares; they're sample points.” It was that claim I was objecting to.
The media onto which you are discretizing, and the method you use to do so, can be squares, without at all contradicting the bulk of your most recent comment. You could discretize onto emoji, using the colours, gradients, and shapes that best fit the ground truth image, and it would still be true that this is a low resolution approximation, and yet the pixel—lit: the picture element, the unit of display—is for sure more an emoji than a zero-size sample point!
(Addendum: to be clear, I was objecting to ‘sample point’/‘point sample’, cf. “other than the exact center-point of each grid square”. I don't object to the claim that these can be considered samples at all, since that is a very general term.)
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.
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".
Great! There should be a way for google to prioritize this kind of site.
https://www.youtube.com/watch?v=KBb9wFP7uZM https://www.youtube.com/watch?v=Gf-2Imh6a54
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.
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.
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.
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.
I would say it's more plausible he's in a very narrow corridor (that just happens to be painted sky blue).
Very reminiscent of BDG/Unraveled.
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.
Make a 1.5D and open the viewport up. I wanna play that version haha.
A Slower Speed of Light
it is exactly what it is lol (aka 110 lines of bash)
How is this 1D? The game is more than one pixel wide!
The game width can actually be adjusted, including to a width of one pixel. That's how I prefer to play, but other people had trouble seeing what was going on.
Regardless of how much you stretch it though, there is only one dimension of information, the horizontal smear is entirely redundant. Your computer's pixels have some amount of depth to them, but that doesn't mean the games you play on them have 3 dimensional viewports.Granted, I am bad at math/trigonometry/geometry etc., but in my understanding, 2D can only work from our perspective, because we're looking at it from a perfect angle.
Mario shouldn't see anything, because his viewing angle does not exist. Or is the rule about 2D that his perspective just has a width of at least more than nothing?
My lack of understanding can probably be explained with high-school material, but I can't imagine it myself.
Yeah, that's the part I don't really understand. I'll probably have to watch some videos to get it.
As for "seeing": the real world is 3D. The physics of seeing work in 3D. I don't think there are true 1D or 2D objects in the universe, so we must use our imaginations when we say "Mario is seeing" in 1D or 2D.
We must, like others argued, imagine Mario possesses a way of sensing/seeing that works in 1D, something that doesn't exist in the real world.
PS: alternatively, the line is 2D in the sense that it's made of physical 3D pixels, and Mario can see those. But the line is also 1D in the sense its width offers no additional information because it's a single pixel wide; so it's physically 2D but "informationally" 1D.
┼─┼─┼─┼─┼─┼─┼─┼─┼─┼
... 0 1 2 3 4 5 6 7 8 9 ...
Any point on the line can be described by a single coordinate, so the line is one-dimensional.We could also describe all of them in terms of a two-dimensional plane [(0,0), (0,1), (0,2) etc.] but that would just be redundant. Just like representing the number line with a taller figure doesn't really make the abstract line any different:
│ │ │ │ │ │ │ │ │ │
┼─┼─┼─┼─┼─┼─┼─┼─┼─┼
│ │ │ │ │ │ │ │ │ │
... 0 1 2 3 4 5 6 7 8 9 ...
So for a single-pixel wide view of SMB from first person perspective, we could consider it a degenerate case of a 2D view if we indexed them (0,1), (0,2), (0,3)... but that would be redundant as they're sensibly just 0, 1, 2...Consider that any 2D image you see on your screen is just a single-pixel deep 3D image and a single-pixel 4D-protruding 4D image and so on.
And he's right, Mario wouldn't be able to see a mathematical line (i.e. something truly 1D and infinitely thin), because there'd be nothing to reflect light for his eyes to perceive. I think the answer here is that Mario isn't an animal with animal eyes, and his fictional "vision" must work in different ways so that he can perceive purely 1D "mathematical" lines.
Imagine a normal brick in our world, what we see are projections of the outside surface, but we of course can't see inside the brick, not without breaking it at least, but then you end up with a series of smaller objects that you can only see from the outside, again.
Likewise, Mario wouldn't be able to see the shapes we see because we're looking at the totality of them, the outside and the inside, all at once, because we're 3D, but they are not.
He would only be able to see the outside, which in his case are the lines making up the contours of the bricks, goombas, etc.
this is neat
This might be brilliant and creative to you, but to some this is just not that impressive, technical or otherwise.
You appear to be hallucinating. Where did I do that?
> to some this is just not that impressive
Of course I agree with that point because, you know... opinions
It seems more like an elaborate joke to me. I can see people being annoyed after being teased with the notion of a new game, only for it to be a gag.
Embedding the game into the browser using JS and WebGL seems like the obvious way to let people experience it easily. Most people aren't going to download it.