A truly 2D game isn't what you think it is...

Поділитися
Вставка
  • Опубліковано 24 січ 2025

КОМЕНТАРІ • 383

  • @SebastianLague
    @SebastianLague 6 місяців тому +111

    Nice work! :)

    • @nivmiz0
      @nivmiz0  6 місяців тому +19

      Thank you very much Sebastian! I'm a huge fan of your videos!
      I took a lot of inspiration from your own raymarching code for this project, it was a big help in getting everything to work properly haha

    • @BurgerSoda
      @BurgerSoda 6 місяців тому +3

      WHERE DID YOU COME FROM SEBASTIAN LAGUE

    • @jusp99892
      @jusp99892 5 місяців тому

      whens the next digital logic sim video coming out

  • @whimbur
    @whimbur 6 місяців тому +388

    - first person 2d game
    - look inside
    - wolfenstein 3d

    • @RenderingUser
      @RenderingUser 6 місяців тому +5

      This game is still 2d tho

    • @TheJas-vr2vr
      @TheJas-vr2vr 6 місяців тому +28

      @RenderingUser
      Wolfenstein 3d is also technically 2d, the difference to this is the height of each screen column is dependent on distance from the player

    • @4Kslimy
      @4Kslimy 6 місяців тому +5

      @@TheJas-vr2vrSo just like Doom it’s 2.5D because it uses some 3D aspects but it has some 2D parts as well

    • @ErdrickHero
      @ErdrickHero 6 місяців тому +27

      ​@@4Kslimythis is very uninformed way of looking at this. There's no such thing as half a dimension. Wolfenstein 3D is actually a 2D game with a 3D renderer. DOOM is actually a 3D game, as the game logic actually accounts for all three dimensions. The 3D renderer is rather limited, hence the simple level geometry and objects rendered as sprites. But objects actually do move in 3D space, i.e., movement up and down is possible and accounted for. This is not the case in Wolf3D, where the game all takes place in two dimensions and then projects a 3D image to the screen.

    • @ErdrickHero
      @ErdrickHero 6 місяців тому +5

      ​@@4KslimyThis is closer to Wolf3D, but if Wolf3D only ever printed one pixel (or a single coloured vertical line) for each horizontal position on-screen.

  • @darkfire_ninja
    @darkfire_ninja 6 місяців тому +189

    How to make 1D game
    Step 1: take one row of pixels from a 3D game
    Step 2: stretch the row of pixels to be visible
    Step 3: add fog
    You have now made a 1d game!

    • @jayyusi
      @jayyusi 6 місяців тому +12

      that's pretty much exactly what i thought would be done lol

    • @Uni_974
      @Uni_974 6 місяців тому +1

      Step 4 give 2D being a GUN

    • @darkfire_ninja
      @darkfire_ninja 6 місяців тому +1

      Oh no, i edited the comment and the heart i got from it got deleted :(

    • @silverkip2992
      @silverkip2992 6 місяців тому +3

      is that not still a 2d game?

    • @vinsplayer2634
      @vinsplayer2634 6 місяців тому

      How about a first person 1D game...
      It would just be one pixel.

  • @cosmiccoruption5145
    @cosmiccoruption5145 6 місяців тому +68

    this editing is phenomenal!
    gives me 2 hour youtube documentary about something you have no idea about vibes.

    • @nivmiz0
      @nivmiz0  6 місяців тому +16

      Lmao, that's basically how it felt making it. Massive deep dive into a SUPER niche subject

    • @KillerKatz12
      @KillerKatz12 5 місяців тому

      Wait you mean that’s possible? Time for me to make some videos!

  • @Sterligs
    @Sterligs 6 місяців тому +75

    Holy hell man the editing on this is crazy. The entire video is really high quality, and overall it’s great. Everything is explained well, edited well and it’s awesome. Props to you.

    • @nivmiz0
      @nivmiz0  6 місяців тому +5

      Thanks so much! It took like 10x longer than my other videos to make, glad it seems it was worth it!

    • @LebatrowAndSqueak
      @LebatrowAndSqueak 6 місяців тому

      @@nivmiz0 What is your strategy?

  • @Mikee512
    @Mikee512 6 місяців тому +87

    We had to read Flatland in high school. I had very low expectations: 1: it's old 👵 (1884), and 2: it's a math book 🥱. Turns out it reads in a surprisingly modern way, and is written in an engaging "storytime" sort of way. I recommend checking it out if any of that seems remotely interesting.

    • @nivmiz0
      @nivmiz0  6 місяців тому +12

      I absolutely fell in love with it! Cool to hear you did too (:

    • @jadecboom8638
      @jadecboom8638 6 місяців тому +3

      I honestly loved it! Honestly, I wish I had to do an assignment on it because, asides from mathematics, there's so many themes!
      How people automatically distrust anything they don't understand, how one can start to think about complex situations, how people also seem to dismiss theoretical possibilities just because they haven't yet viewed it.

    • @c7iC
      @c7iC 5 місяців тому

      What do ya mean a "math book" I've read it and I don't remember anything math related

    • @jadecboom8638
      @jadecboom8638 5 місяців тому

      @c7iC--s7ick because it addresses the theory of multiple dimensions and it's listed as "mathematical fiction"

    • @c7iC
      @c7iC 5 місяців тому

      @@jadecboom8638 what i meant was i only remember it telling the story like a "fantasy" fiction novel (nothing smart sounding)

  • @vjay4297
    @vjay4297 5 місяців тому +9

    You should not be using a line for 2D. It should fill in the whole width of the screen. A flatlander have no perception of height and hence it can only be described as bands filling whole viewport. Cheers

  • @legend644
    @legend644 6 місяців тому +13

    I've seen a million videos where people randomly talk about ray marching, but this is the first time the explanation actually hit me correctly.
    Congrats man, this is actually a great explanation of it
    The thing that snapped me out of it, was the explanation of signed distance functions. It finally makes sense that the proportional distance motion is actually computationally good, this is very cool.

    • @nivmiz0
      @nivmiz0  6 місяців тому +1

      You have no idea how happy I am to hear that! Thank you!

  • @gavin5410
    @gavin5410 6 місяців тому +7

    It's incredible how intuitive it was the second you added the fog

  • @lavuy6744
    @lavuy6744 6 місяців тому +39

    the section at 11min where u talk about it being a 3d illusion looks pretty similar to how we originally did the first 3d games.

    • @nivmiz0
      @nivmiz0  6 місяців тому +13

      I had that thought to actually! reminds me of Wolfenstein & Doom

  • @HowdyYT
    @HowdyYT 6 місяців тому +236

    Brother basically created doom

    • @4Kslimy
      @4Kslimy 6 місяців тому +21

      Doom is 2.5D

    • @noob-killer
      @noob-killer 6 місяців тому

      ​@4Kslimy Doom is fully 3D. Just limited. Dont believe me?: ua-cam.com/video/ZYGJQqhMN1U/v-deo.htmlsi=0GS7_rNc6hjIqBNw

    • @noob-killer
      @noob-killer 6 місяців тому +18

      ​ @4Kslimy Doom is 3d but limited. Theres a video on this on yt but i cant send the link here

    • @Uni_974
      @Uni_974 6 місяців тому +2

      A 1D fatality would be kinda dope though

    • @Damian-cilr2
      @Damian-cilr2 6 місяців тому +7

      Nah that'd be more like wolfenstein.

  • @capnqueso
    @capnqueso 6 місяців тому +30

    Time for speedrunners to find a glitch to go into the third dimension... WHY YOU GOTTA MAKE MY JOB HARD

    • @Uni_974
      @Uni_974 6 місяців тому

      Nuh there going to glitch walk perpendically instead

  • @mynameisben123
    @mynameisben123 5 місяців тому +1

    So when we say we watch a “3D” movie with two different images that merge in our brain, it would be like these flat land creatures saying they are watching a “2D” movie by watching this type of content with a different image in each eye to give depth perception to this line.

  • @rerere284
    @rerere284 6 місяців тому +4

    I don't think sdf is necessary here. Visually each object is made out of lines that have a gradient to them, you can probably just render them back to front like a normal polygonal game and it would probably take less processing power.
    Video was well put together though!

  • @AmodeusR
    @AmodeusR 6 місяців тому +3

    1:10 But the games are 2D, the only thing that isn't 2D here is us. Just because the game is not perceived in 2D doesn't mean the game isn't 2D.

  • @jonsteensen7706
    @jonsteensen7706 6 місяців тому +2

    If a Flatlander has two eyes, he could in principle get stereoscopic vision, with each eye creating its own line,which is slightly different from the one from the other eye. Using the parallax effect, that could result in him seeing the world in some kind of weird, but true 2D. It won't be the 2D version that we are used to, as he cannot see what is on the other side of object, from his vantage point, nor can he see what is inside the outlines of shapes, like we can. But he would be able to see shapes (at least the front part of them) and evaluate the distance to them.

    • @LucasBucur
      @LucasBucur 4 місяці тому

      in the book they only had one so yeah

  • @cubefromblender
    @cubefromblender 5 місяців тому +1

    i cant imagine what it would be like to live in 1d

  • @yoavsaporta7348
    @yoavsaporta7348 6 місяців тому +7

    Dude this video is amazing, I never would have known how much thought needs to go into something that sounds very simple - rendering some 2D shapes and walking around.
    The editing and explanations were also top tier, and have massively improved since you've started posting. Definitely one of the better videos you've made!

    • @nivmiz0
      @nivmiz0  6 місяців тому +1

      Thank you so much yoyo

  • @SecretZoneGames
    @SecretZoneGames 6 місяців тому +5

    I got this recommended and watched through the whole video without realizing it's not a million views video from a huge channel.
    Good job, It was super interesting and informative! You gained a follower :)

    • @nivmiz0
      @nivmiz0  6 місяців тому

      Thank you so much! That's such high praise (:

    • @Uni_974
      @Uni_974 6 місяців тому

      Yeah seeing more 1D content does put a smile on my face :)

  • @steelwasp9375
    @steelwasp9375 6 місяців тому +14

    I think the fog and colors can be tweaked a bit, no, a lot, to make it more readable. Fog could be the loss of saturation to an extent, going to blackness only at an extreme range, or if there's no source of light. Try adding sources of light, cause why not. It's confusing when the shadows move when you move, light and fog should be different.
    How about expanding FOV using the thickness of the line to represent what's in front and what's peripheral vision?
    Try to make a building, like the one in the Flatland cover. To balance it so the objects, sizes and stuff make sense.
    Make a kind of boundary around the camera/eyes of the character, so you can't or it's obvious when you stick your face in something making the visibility null. Kind of like inverse fog or a character's visual or non-visual sense for distance. Using Y axis and patterns, perhaps like a checkered transparent pattern of increased intensity for the object too close. Or add a second eye, making parallax possible. Run it cross-eyed, or... It's still a 1d game, even if you need 3d setup to run it with parallax.

    • @nivmiz0
      @nivmiz0  6 місяців тому +4

      Thanks for the suggestions! These are really interesting. If I make a follow up I'll for sure look into them!

  • @ImmortalTimothyM
    @ImmortalTimothyM 6 місяців тому +1

    This is actually super neat. I wonder how other characters would appear and how would they be distinct from non character shapes.

    • @nivmiz0
      @nivmiz0  6 місяців тому

      It's an interesting challenge for sure!

  • @FireDasher22
    @FireDasher22 6 місяців тому +1

    Rays in raymarching don't step by a constant amount, they step by the distance to the closest object ( minimum of all objects' distances )

    • @nivmiz0
      @nivmiz0  5 місяців тому +2

      I explain the difference in the video, the most basic form of raymarching is just that - marching along a ray, with a constant length. Distance-Aided Raymarching, or Sphere-Assisted Raymarching, is the style you mention and that I implement later in the video!

  • @1kayo
    @1kayo 6 місяців тому +1

    I luv the idea of a world just a line
    And I love the game you made
    ..
    ...
    I actually tried to imagine how it would be if I was in a 2d world before
    ..
    And came to the conclusion that it is impossible
    ..
    In order for a line to exist in the real world it should have a height (the third dimension) no matter how thin the line is
    When the height is 0 it basically disappears.....
    ..
    2d is only possible in math and Measurementing
    ...
    But its still fun to imagine yourself in a really thin world.. like having my eyes in the edge of my body in order to see lmao....and can't have a Digestive system or a mouth because that will divide my body into 2 parts💀

  • @tackalexander
    @tackalexander 6 місяців тому +1

    I love how most of the comments i see either have a creator comment or a creator like, and it shows the actual passion that he must put into his community. i think that deserves my subscription

    • @nivmiz0
      @nivmiz0  6 місяців тому +2

      I appreciate that so much!

    • @tackalexander
      @tackalexander 6 місяців тому

      @nivmiz0 I love the way you portrayed this topic I've seen it done before but never quite as well as you have like it answered some questions that had been left unanswered before or undressed so I hope I get to see more of this quality content you are making and please keep up the most amazing work.

  • @pfannkuchengesicht42
    @pfannkuchengesicht42 6 місяців тому +11

    Using SDFs for this feels like shooting sparrows with cannons. Ray-casting would be way more efficient giving you the same results. Nice video though.

  • @Chrexter
    @Chrexter 5 місяців тому

    Very cool concept, man. The final result was impressive

  • @TheFoxfiend
    @TheFoxfiend 6 місяців тому +1

    You extended the height of the render and suddenly I was reminded of how the rendering on Wolfenstein 3d was done. So yeah... I think the game you described has already been done. XD

  • @glowraptor5228
    @glowraptor5228 5 місяців тому

    at the start i though you were insane for starting this, and actually seeing something, but as the video progressed, at around 4:30, i understood, this is so awesome, very good job man

    • @nivmiz0
      @nivmiz0  5 місяців тому

      Thanks so much, this means a lot!

  • @Yippie515
    @Yippie515 6 місяців тому +2

    There's a guy named MashPoe who made a whole 1D game exactly like this, this kinda reminded me of it

  • @dagamerboi
    @dagamerboi 5 місяців тому +1

    the non "distance aided" raymarching isn't called raymarching, it's ray stepping

  • @supermaximglitchy1
    @supermaximglitchy1 5 місяців тому +1

    So what I’ve discovered from watching this
    3D see things in 2D (if you look with 1 eye there is no depth perception) our eyes are like the camera, since we have two there are two cameras
    2D beings see things in 1D because it’s a single line
    1D beings would be blind because they see no dimension

    • @nivmiz0
      @nivmiz0  5 місяців тому

      You're absolutely right! Things that see, see in one dimension less than they exist in. However a small correction would be that a 1D being would see in 0 dimensions, which is usually interpreted as being a single point. So the vision of a 1D being would be one point (or, if we're talking a video game representation, it could be a single pixel).

  • @valedesardi6252
    @valedesardi6252 6 місяців тому +1

    ''We viewing a 2D world with a 1D view on a 2D screen in a 3D world through a 2D viewpoint'' I love it😂🔥

  • @bl4ckk
    @bl4ckk 6 місяців тому +3

    Godly editing style, good job

    • @nivmiz0
      @nivmiz0  6 місяців тому

      Thanks man! Appreciate that.

  • @yarensenalp5341
    @yarensenalp5341 6 місяців тому

    Yoooo this was sick dude! I would love to see you expand this! And maybe make a real game from it!

  • @shardscape
    @shardscape 6 місяців тому +1

    It would be interesting to see how it looks for you to move the 2d plane through a 3d space, could be pretty cool

  • @ruzgar1372
    @ruzgar1372 5 місяців тому +2

    In order to see in 3 dimensions you have to be a 4 dimensional being yourself

  • @samucereal
    @samucereal 6 місяців тому +5

    All of this is really cool, ngl, and the fact our brains can comprehend it is impresive as well

    • @nivmiz0
      @nivmiz0  6 місяців тому +1

      I really agree! It's pretty insane that we can just use these simple tools to pretty accurately simulate living in a different spatial dimension!

    • @ack7
      @ack7 6 місяців тому

      well I mean, 2D and 1D are fairly simple, and we're built to understand the comparatively more complex 3D. However, it is impressive that we're able to understand the vastly more complex 4D

    • @circumplex9552
      @circumplex9552 6 місяців тому

      ​@@ack7we cant fully understand 4d, although we can calculate it and understand facets of it

    • @ack7
      @ack7 6 місяців тому

      @@circumplex9552 Me who has played 4D Golf: *Foolish Mortal, you have not one modicum of the understanding I possess*

    • @circumplex9552
      @circumplex9552 6 місяців тому

      @@ack7 I know about 4d golf. same principles apply: you still cant get a full visual of the scene like a 4d being would. the ghosts are decent at providing one, but they still cant be seen when they overlap objects in your current 3d slice, you cant tell whether theyre coming from ana or kata, and the opacity isnt that good at telling you how far they are. you also still need to look around the 3d space whereas a 4d being would be able to see it all at once

  • @lh8841
    @lh8841 6 місяців тому +2

    What ist that Song/piece at 11:37 called 😃

    • @nivmiz0
      @nivmiz0  6 місяців тому +2

      It's called Allégro by Emmit Fenn (:

    • @lh8841
      @lh8841 6 місяців тому

      @@nivmiz0 thanks👍

  • @VolumetricTerrain-hz7civ
    @VolumetricTerrain-hz7civ 6 місяців тому

    Awesome video you make!
    I think Mar1d have proved that it is possible to make a true 2d game, with perspective, by making the lines smaller in distance.
    Thanks for the explanation!
    I subscribed your channel.
    :-)

  • @tytustaksobie
    @tytustaksobie 5 місяців тому +1

    waiting for flatearthers to show up...

  • @cinderwolf32
    @cinderwolf32 6 місяців тому

    I had a lot of fun optimising my 2.5D raycaster. It calculates intersections with line segments after making a few attempts to do basic culling. The main issue is that the floorcasting texture isn't correctly aligned.

  • @creakiap
    @creakiap 5 місяців тому

    Amazing video! That really reminds me of the way Doom projects 2D map as 3D environment. But rather than adding a dimension, we remove one.

    • @nivmiz0
      @nivmiz0  5 місяців тому +1

      Thank you!

  • @dipperconte124
    @dipperconte124 6 місяців тому

    This is literally what I always tought for a long time, but I would think it as a vertical “line” because I was thinking it from a side wiew perspective

  • @VGamingJunkieVT
    @VGamingJunkieVT 5 місяців тому

    Futurama delved into this concept, where you can’t see around something in 2D Space.

  • @McGoomba
    @McGoomba 6 місяців тому +1

    Wait is that a 3D and 1D game

  • @moonyl5341
    @moonyl5341 6 місяців тому +8

    so it's basically what people would call a 1d game

    • @RBXDEV2024
      @RBXDEV2024 5 місяців тому

      1d can’t technically exist

    • @fakegandhi5577
      @fakegandhi5577 4 місяці тому

      ​@RBXDEV2024 do you care to elaborate? Very few things are impossible to think about mathematically. A 1d world would have a position for every number on the number line and a 1d 1st person perspective would be drawing rays between positions. So a 1d being would see one color on their left and one on the right and as they move and as they moving closer or farther the color gets dimmer or brighter.

  • @matt92hun
    @matt92hun 6 місяців тому

    I think it would make more sense to stretch the line to the full height of your screen/window, because imo an infinite "height" of just the same repeating line makes more sense of representing something that has no "height" variation than a limited height view does.
    It could also be interesting to see a 2d patformer from first person, where the width is infinite.

  • @JMBrands
    @JMBrands 5 місяців тому

    I made a game for school that was very similar to this concept, it was just a simple game where you had to find the exit portal in randomly generated mazes, I didn't know about ray marching, but I implemented the simple marching with fixed size steps, I also added height that varies with distance to help with depth perception

    • @nivmiz0
      @nivmiz0  5 місяців тому

      So cool to hear you did something similar!

  • @jonwatte4293
    @jonwatte4293 6 місяців тому +1

    Or you could render standard 3d but don't allow up/down pan and only display the center scan line...

  • @ezram.4484
    @ezram.4484 6 місяців тому +2

    As someone who read flatland in my physics class, this is cool

  • @Randy14512
    @Randy14512 5 місяців тому

    This is really interesting to me for the connection to 2d SONAR arrays... the output is very similar to your games display, except you usually have the previous outputs scrolling down the screen so you can see the relative movement

    • @Randy14512
      @Randy14512 5 місяців тому

      For more context to what I'm getting at, you can look up "passive sonar waterfall display"

  • @spygun21
    @spygun21 6 місяців тому +1

    Man, who would knew that making a 2d game with a 1d perspective would take this much time

    • @nivmiz0
      @nivmiz0  6 місяців тому +1

      The video took AGES

  • @Amit180s
    @Amit180s 6 місяців тому

    This was super interesting! The editing and graphics really helped me understand this better (because it was *really* hard to grasp when we talked about it lmao).

  • @James2210
    @James2210 6 місяців тому

    I think it would be a bit better if you used the distance to the shape to smooth it out a bit more

  • @oliverdowning1543
    @oliverdowning1543 6 місяців тому +1

    It's totally possible to remove that edge distortion from high FOV. It's a solved problem for raycasters and it involves either spacing out the rays unevenly so they land on the view plane with an even spacing, or emitting them from a view plane (although this would presumably harm perspective projection).

    • @Uni_974
      @Uni_974 6 місяців тому

      Or you could get a 2D brain works too

    • @oliverdowning1543
      @oliverdowning1543 6 місяців тому

      ​@@Uni_974 maybe, maybe not. Ultimately what really matters is how used our brain is to that particular projection. Since it differs from the projection we're used to seeing it looks weird, really we'd need a brain with eyes that worked like that. Not a necessary or sufficient trait of being 2D.

  • @kbkmn
    @kbkmn 6 місяців тому +1

    you could just use tall 3d models with base of needed shape and apply depth buffer in shader. the result would be the same if not smoother gradient for rounded shapes and much more performant. also mask could be applied to control players visibility

    • @nivmiz0
      @nivmiz0  6 місяців тому +2

      Yeah, but what would be the fun in that? I was trying to make a true 2D/1D engine, not to fake it! If I was trying to make a GAME in this perspective, I'd probably lean more towards your idea, but that really wasn't the goal here haha.

    • @kbkmn
      @kbkmn 6 місяців тому

      ​@@nivmiz0 hehe. can't remember who exactly said it: "we are not in a business of making engines, we are making games". anyway video was super entertaining

  • @leofreitasa9933
    @leofreitasa9933 5 місяців тому

    There is perspective in 2d, since the rays coming out of the camera aren't parallel. Beings in flatland would be able to tell distance like that, and they could also use stereoscopic vision if they had more than one eye.

  • @jonaykon
    @jonaykon 6 місяців тому +1

    ”A first person 2d game is the easiest 3d game to create from scratch”

  • @davidbrinnen
    @davidbrinnen 5 місяців тому

    5:22 isn't there some correction for this kind of distortion that is occurring at the edge of the FOV to make it appear more natural?

  • @tjb3171
    @tjb3171 5 місяців тому

    this is awesome, loved the video :)

  • @BertLeyson
    @BertLeyson 6 місяців тому

    From the perspective of a 3D creature watching at the side, yeah, that's accurate.

  • @SquaredNES
    @SquaredNES 6 місяців тому +1

    You should try porting this to 3ds, the need for fog would be mostly eliminated.

  • @fedo18
    @fedo18 6 місяців тому +1

    Reminds me of a scratch tutorial I watched once, they also used raycasting but the final effect was „3d“

    • @cyberneticsquid
      @cyberneticsquid 6 місяців тому +1

      When NivMiz mentioned rays my immediate thought was "I've used a simple version of that in Scratch!" haha

  • @multiplysixbynine
    @multiplysixbynine 5 місяців тому

    I’m surprised you went with ray marching and signed distance functions. I think rasterization (project and draw the objects into the scene) or ray tracing (perform ray-object intersection tests analytically) would be much more efficient and perhaps easier to program too.

  • @crolex6443
    @crolex6443 6 місяців тому

    I think you would not need raymarching for that. You can simply created a 3d environment in unity, and a camera moving around like a player, but it can only move on a plane. Then only show the center row of the render output and override all other pixels to black using post processing?

  • @coyo_t
    @coyo_t 6 місяців тому

    5:16 if im reading this right (havent read sources) youre actually doing a panoramic projection of the scene, not a planar one
    so the shapes are distorted and bendy.
    its harder to tell because 1d but if you were to add tops/bottoms to the "walls" like wolf3d then youd be able to see it

    • @dominiccasts
      @dominiccasts 6 місяців тому

      it sounds and looks like they are doing a planar projection, as I'm pretty sure that a panoramic (or I suppose circular, really) projection would preserve shape at the edges of the screen.

  • @finminder2928
    @finminder2928 6 місяців тому +2

    Now do a 1D game from the point of view of a non one dimensional creature

    • @owerio
      @owerio 6 місяців тому

      I've thought about this before. The entire screen is one color

  • @SupasitPhungrattana
    @SupasitPhungrattana 6 місяців тому

    So how we can look into 4 dimensions shape in 3 dimensions view then?

  • @collin6526
    @collin6526 5 місяців тому

    He does realize that you also can't tell the shape of a 3D object with our eyes if there is no form of shading.

  • @JamieStar666
    @JamieStar666 6 місяців тому

    extrude the row upwards than divide the height by the distance of said pixels for a doom like 3d effect, I've used this for 3d in scratch

  • @CarrotForFree
    @CarrotForFree 5 місяців тому

    This is so cool, i hope I'll see complete game.

    • @nivmiz0
      @nivmiz0  5 місяців тому

      Thanks so much!

  • @HomeofLawboy
    @HomeofLawboy 6 місяців тому

    Can't you sum up the ray step lengths to figure out the distance to the camera?

    • @nivmiz0
      @nivmiz0  6 місяців тому

      That's actually a great idea! I'll have to check it out to see if it improves performance in any way.

  • @barakzary4528
    @barakzary4528 6 місяців тому

    Wow, I can't phrase how much i appreciate this channel for making such high-quality videos and aspiring to grow better every time!! #thefogiscoming

    • @nivmiz0
      @nivmiz0  6 місяців тому

      The fog is coming.

  • @JakeDownsWuzHere
    @JakeDownsWuzHere 6 місяців тому

    this is great! i bet sebastian lague would dig it

  • @Neptoid
    @Neptoid 5 місяців тому +2

    3rd person 2D game

  • @-aid4084
    @-aid4084 5 місяців тому

    Honestly a raycast maze game on Scratch fits the definition of a 2d game really well.

  • @dfunited1
    @dfunited1 3 місяці тому

    Dangerous drinking game: take a shot every time compute shaders come up on gamedev youtube.

  • @Korimi01
    @Korimi01 6 місяців тому +1

    can you create Mario or Flappy Bird with vertical line renderer with Mario or bird's point of view. I mean, now that you've made a top-down game with a horizontal renderer, can you make a side-view game with a vertical renderer?

    • @nivmiz0
      @nivmiz0  6 місяців тому +1

      That's a really good idea!

  • @mumblety
    @mumblety 6 місяців тому

    Have you ever heard of Wolfenstein 3D and the raycasting method it used to build it's "3D" environments? basically what you did, but the pixel's height is dependent on it's distance to the camera.
    Also you might want to consider shading one side of the shapes darker than the other to help with readability.

  • @Ryöken17
    @Ryöken17 6 місяців тому

    Can you do " for each ( ray in raycasts ) { run raycastTest(ray); } to speed up the process ?

  • @land3021
    @land3021 5 місяців тому

    Neat!!! I saw someone else do the same thing with the 1D view, but they never really elaborated on it, nor did they include any game mechanics. Really impressed that this wasn't just a repeat of that video! I already typed a prior comment that joked that your video was clickbait(yeah I've become a bit of a squidward cause of the clickbait & (bad)commentary slop online that I've bore witness to), glad I deleted it. Will refer back to a copy of its contents to remind myself of my cynical nature & that I need to get better and touch some grass every once in a while.

    • @nivmiz0
      @nivmiz0  5 місяців тому +1

      Really appreciate that! Glad you ended up liking it, regardless of the slight clickbait 😉

  • @eclipseslayer98
    @eclipseslayer98 6 місяців тому +1

    Nice project. The only criticism I have, is that the "flatlander" is walking on empty space. In reality, it would need some kind of surface/planet to traverse on, and the planet would just be a massive circle the same way that gravity makes our planets massive spheres.

    • @circumplex9552
      @circumplex9552 6 місяців тому

      you can just think of it as floating
      or if you want to make it more believable that it can propel itself, maybe its swimming

  • @Erstus
    @Erstus 5 місяців тому

    In a 3D world, having 2 eyes is what allows us to see 3D. If we close 1 eye, we just see a 2D image. Similarly, in a 2D world, a character with only 1 eye sees 1D. But if they also have 2 eyes, they could actually see 2D. This could perhaps be somehow interpreted as line thickness.

  • @CreativeNommonsCommonsLemmons
    @CreativeNommonsCommonsLemmons 6 місяців тому

    Really Really Impressive to me, just before the end i was actually just thinking, what if he stretched the entire window's height? and also the bullets thing which i swear i actually tought he was gonna add that before i reached to the end, but still impressive work!

    • @Uni_974
      @Uni_974 6 місяців тому

      Having a 2D gun is a staple in most 1D games 🔫

  • @przecinek-ly9ko
    @przecinek-ly9ko 6 місяців тому

    you made a 1D game in a 2D world. You see in 2D but you are in a 3D world.

  • @DavidJCobb
    @DavidJCobb 6 місяців тому

    interesting. it's cool to see people experiment with spatial dimensions like this. reminds me of SCP-3966, which iirc also took inspiration from Flatland
    one thing im curious about is why you're using ray marching at all. would it not be easier to, for each pixel, perform a ray/object intersection test against every object in the scene, remembering which one is nearest? though i suppose SDFs might not be usable that way; you'd need a unique ray/intersection test for each shape or, failing that, a ray/edge intersection test used once per edge per object. hm... math was never my strong suit
    anyway, fascinating project

  • @TessaLucy
    @TessaLucy 5 місяців тому

    I think what you said about depth in the fog section is questionable since your game did have perspective and depth before adding the shading
    Edit: for instance, you can tell something is further away from how little its size changes when you move, and you can tell what shape something is by viewing it from many angles. You should be able to tell apart the regular polygons by measuring how the width varies with distance and angle, even without a static reference point
    I didn’t make it clear im talking about mathematically rather than practically

  • @ryleestatler7067
    @ryleestatler7067 6 місяців тому

    I think you should have the pixels stretch to fill the screen since that's easier to see and more like what a flatlander would see

  • @krajsyboys
    @krajsyboys 6 місяців тому

    Very nice to see more people branching out to make games in other dimensions. But I'm curious, why did you use raymarching for your rendering?

    • @nivmiz0
      @nivmiz0  6 місяців тому

      Thank you! I think different dimensions are an amazing mathematical concept and I've always been interested in visual representations of them. As for why I used raymarching, I've wanted to experiment with the algorithm for a while, and I felt like using it in this context would give it my own unique twist! It was a really fun project to make, and an interesting coding challenge.
      Plus, it's an excellent system for rendering! It works great, it's quite fast when run on the GPU, and it can render many more shapes than most other techniques, with minimal performance difference. There are of course many other ways to solve the problem I solved here, but I really do think my implementation is a pretty good one.

  • @Krebzonide
    @Krebzonide 6 місяців тому

    Rather than a thin line you should stretch it to fill the whole screen but each column of pixels is a single color.

    • @nivmiz0
      @nivmiz0  6 місяців тому

      I talk about that illusion later in the video! I left it as a thin line for a lot of the video because I feel it's probably more faithful to the book, but stretching them totally makes a really cool effect!

  • @ВладимирПетров-л8з
    @ВладимирПетров-л8з 6 місяців тому

    It's a cool project. I think you should make a game out of it. For example, a FPS with wall-like covers and AI enemies, that use pathfinding. I also recommend adding a multiplayer.

    • @Uni_974
      @Uni_974 6 місяців тому

      2D Doom 🔫

  • @holymonke2703
    @holymonke2703 6 місяців тому +2

    NEW NIVMIZ VIDEO LETS GOOO 🔥🔥🔥🔥I DONT GET HES TALKING ABOUT BUT LETS GOOOO 🗣🔥🗣🔥🗣🔥💯💯

  • @DaylightDev
    @DaylightDev 6 місяців тому

    Cool information illustation, and now I finally know of a way of doing that myself, thanks for the link

    • @nivmiz0
      @nivmiz0  6 місяців тому +1

      That's really cool to hear, good luck with your own implementation!

  • @m.hosseinmahmoodi
    @m.hosseinmahmoodi 6 місяців тому

    Did you fix the fisheye effect? Because of the perspective, it's hard to be sure, but there were a few times that it looked fisheye-ee.
    Without fixing the fisheye effect, it's possible to see a bright spot in the middle of an edge and think that there is a vertex in that bright spot.

  • @kyokajiro1808
    @kyokajiro1808 6 місяців тому

    id love to play a game like this, though i find it a bit strange that you cant really tell where vertices are, for example if you see a cube in a 3D world on a 2D plane its very clear where the edges n vertices are since theyre typically darkened or theres a significant change in brightness due to how shadows work, i think that wouldve been quite helpful to help visualize the surroundings

    • @nivmiz0
      @nivmiz0  6 місяців тому

      Implementing light and shadow properly in a world like this has its own issues, which I may go into in the follow up video. It has to do with the fact that if a light were to be obscured by a single object in flatland, it would cast a shadow behind it for the length of the entire world. Anyway I'm tackling the issue of differentiating between shades at the moment!

    • @kyokajiro1808
      @kyokajiro1808 6 місяців тому

      @@nivmiz0 oh that's true, and if the shadow of one object gets cast onto another object it makes it very hard to tell whether it's a shadow or an edge

  • @segganew
    @segganew 6 місяців тому

    "if you play any FPS games"
    *Shows footage of Minecraft*

  • @theneonbop
    @theneonbop 5 місяців тому

    You could actually do path traced lighting for a game like this, that would be pretty funny

  • @diegocolmenero8696
    @diegocolmenero8696 6 місяців тому

    This is crazy, loved the video

  • @Garfield_Minecraft
    @Garfield_Minecraft 6 місяців тому +7

    the line is too flat for our eyes but if you add some height it will just feel like Doom. and Doom is technically 2D first person it uses ray casting for rendering, the space itself is 2D but graphic looks 3D that's just illusion

    • @potolog101
      @potolog101 6 місяців тому +2

      the game shown is more like wolfenstein and not doom.
      doom while limited, and uses a 2d map, is still 3d, it renders floors and heights and stuff.

    • @cube2fox
      @cube2fox 5 місяців тому

      I think Carmack mentioned Wolfenstein 3-D is actually based on a top down ("2D") game with similar gameplay, Catacomb.

  • @flameofthephoenix8395
    @flameofthephoenix8395 6 місяців тому

    11:06 Ah, I just figured that you would have a strange fog look.