How I made a 3D GAME in Desmos Graphing Calculator

Поделиться
HTML-код
  • Опубликовано: 5 сен 2022
  • Try it here: www.desmos.com/calculator/l7n...
    Desmoscript, Desmos programming lang and successor to LISPsmos: github.com/radian628/desmoscript
    LISPsmos: github.com/radian628/lispsmos
  • НаукаНаука

Комментарии • 475

  • @Radian628
    @Radian628  Год назад +313

    If you'd like to write code to make your own Desmos graphs, check out Desmoscript, my new Desmos programming language and successor to LISPsmos: github.com/radian628/desmoscript
    It comes with actual IDE (Visual Studio Code) support--- you can run the compiler, get syntax highlighting, view errors, format desmoscript files, and even run Desmos itself all within VSCode.
    Setup instructions are in the README.

    • @Lenevor
      @Lenevor Год назад +4

      The overlords have blessed you

    • @Alex_1A
      @Alex_1A Год назад +7

      If you ever need a job, you got stuff to show, not many can say they made a game with their own language and compiler, and then made a sequel language.

    • @liaaaaaaaaaaaaaaaaaaaaaaav
      @liaaaaaaaaaaaaaaaaaaaaaaav Год назад

      Really impresive

    • @ThatOneOddGuy
      @ThatOneOddGuy Год назад

      The game doesn't start when I tap play on my phone

    • @liaaaaaaaaaaaaaaaaaaaaaaav
      @liaaaaaaaaaaaaaaaaaaaaaaav Год назад

      @@ThatOneOddGuy there is phone mode but it does't really work but what you can do is play this game on you're pc and i also found ways to break the game by holding the point directly up and thats where it breaks

  • @arthurspohr
    @arthurspohr Год назад +5235

    I've heard people say "I feel like a caveman" when seeing very smart people explain stuff, but considering you're using something as "primitive" as a graphing calculator to make a 3D game, I feel like I'm a caveman watching another caveman use sticks and stones to make a jet engine, which is even more amazing. You're a wizard.

    • @creatroyer2701
      @creatroyer2701 Год назад +202

      This comment made me feel like a lesser evolve monkey watching a caveman do caveman stuff.

    • @bluedog4754
      @bluedog4754 Год назад +35

      naw bro I feel the apposite, its like seeing a cave man making a good looking meatloaf while using primitive tools.

    • @foxyolk
      @foxyolk Год назад +19

      I can't even make this in unity :(((

    • @defeatSpace
      @defeatSpace Год назад +1

      @@foxyolk that's because you're lazy

    • @tzebruh
      @tzebruh Год назад +8

      with a programming language that compiles to sticks and stones

  • @bloxcarter
    @bloxcarter Год назад +2751

    This confirms it.
    Doom could probably run on Desmos.

    • @fyter2738
      @fyter2738 Год назад +236

      I mean, yeah, you could probably remake Doom, but doing something like a source port? Probably a little more different.
      The main difference is that Doom doesn't use a modern-day rendering engine - it uses raycasting. A more primitive version obviously, but still. Which means that using polygons is pretty much out of the question unless you want to somehow create a loose shape of what Desmos sees. The other way of doing this would be the boring way: just create a grid of points that change color depending on which ray hits what.
      But yes I do think it would be very possible, just very different from what he did.

    • @bloxcarter
      @bloxcarter Год назад +115

      @@fyter2738 I more just wanted to make the joke, truth be told

    • @ShadowWolf2508plays
      @ShadowWolf2508plays Год назад +62

      Cmon, everyone knows DOOM will run on anything that has a screen

    • @Radian628
      @Radian628  Год назад +694

      It would certainly be difficult, and I'd have to take a rather unorthodox approach as opposed to just writing a VM and running the binary in it. According to this old Reddit post (yes, very good source, I know), DOOM required at least an Intel i386 processor to run: i.redd.it/vtswj6s8wh321.jpg
      And according to wikipedia (another very good source!) the i386--- at the low end--- had a clock speed of 12 MHz: en.wikipedia.org/wiki/I386 . The article mentions that the 20 MHz version executed roughly 5 million instructions per second. If we take this 5 MIPS benchmark and compare it to Desmos's performance, we can get a good estimate of whether Desmos would be up to the task.
      The main difficulty is that Desmos cannot really emulate a traditional computer because it cannot do any kind of generalized recursion/looping aside from the "action" system, which can only loop as fast as the screen can refresh (i.e. 60 FPS, 144 FPS, etc.). I could cram many instructions into a single "action cycle" by "unrolling" the loop and nesting many function calls together, but even that has limits--- Desmos has a limit built in where it'll simply refuse to nest any further, presumably to prevent stack overflow and/or people inadvertently creating unbelievably slow graphs. However, the larger problem is that Desmos is atrocious at handling memory. Presumably I'd use a Desmos list to store memory, but these are extremely slow when updated with actions (which, again, I'd need to do)--- roughly one second per 10000-element list. With 60 action steps per second and--- as a rough, upper bound--- 100 instructions per action step, that's 6000 instructions per second, less than a hundredth of the 5 million I'd presumably need to get DOOM running. Another issue is the sheer amount of memory I'd actually need: The reddit post states that DOOM requires 4 MB. In theory I can cram 10000 elements * 8 bytes/element = 80 kB. I'd need 50 of these lists to get the required 4 MB.
      The only thing I could probably do here is try to write my own C compiler and compile DOOM from source. I'd probably have to make a lot of changes here and there and make my own implementations of many standard library functions to take advantage of Desmos's built-in functionality. Loops would be particularly difficult (again, no generalized looping). I'd also probably have to replace the entire graphics system to use Desmos polygons because a pixel grid would be really slow.
      Anyway those are my preliminary thoughts on running DOOM in Desmos.

    • @bloxcarter
      @bloxcarter Год назад +313

      @@Radian628 I'm just going to nod my head and act like I understand

  • @7projected
    @7projected Год назад +883

    This just keeps getting more impressive bro. HE LITERALLY MADE A PROGRAMMING LANGUAGE TO MAKE A GAME IN A GRAPHING CALCULATOR BRO.

    • @gorlix
      @gorlix Год назад +11

      nuh uh

    • @kenos911
      @kenos911 Год назад +18

      yuh uh!

    • @Red-yt2dk
      @Red-yt2dk Год назад +13

      He made a *compiler
      This is significantly different to making a programming language

    • @nonagonguy6121
      @nonagonguy6121 Год назад +15

      @@Red-yt2dkHe made a compiler and language. What do you think compilers do?

    • @7projected
      @7projected Год назад

      @@Red-yt2dk 🤓

  • @sacrificialobama8786
    @sacrificialobama8786 Год назад +382

    Okay so to summarize, this guy
    a) decided to make a fun little plane game for an art contest
    b) developed an entire language and translation layer to convert code in text format into MATHEMATICAL FORMULAS that a browser-based graphic calculator can interpret
    c) created his own graphics and physics engines within said language
    d) 3D modeled the entire game and wrote an original plugin to export multiple 3d files at the same time as well as translate those files into vertices that his language could read (and then translate into desmos)
    e) implemented complex rendering systems such as lighting, backface culling, color, and position-based rendering occlusion
    f) made a fun and compelling game that plays and runs well all while looking good
    g) wrote, recorded, and edited an extremely well-produced 12 minute video on the entire process.
    wow. just wow

    • @bigcrazycarboy672
      @bigcrazycarboy672 Год назад +2

      All that and he's still a virgin

    • @bored.random
      @bored.random Год назад +28

      @@bigcrazycarboy672look whose talking

    • @idglet9565
      @idglet9565 Год назад

      I think this pushed me over the edge into killing myself

    • @FlashAm
      @FlashAm Год назад +2

      @@bigcrazycarboy672 Jealous?

    • @bigcrazycarboy672
      @bigcrazycarboy672 Год назад +3

      @@FlashAm tbh yeah that was dope asf

  • @JayFolipurba
    @JayFolipurba Год назад +340

    This is such a weird feeling. After using 3D software for a while I know all this stuff instinctively but seeing the maths behind it is foreign to me. It's like visiting the factory where your favourite food is made and seeing the ingredients come together for the first time, whereas before you simply ate.

    • @johnadam7476
      @johnadam7476 Год назад +20

      why is that the perfect metaphor for that feeling?

    • @rkjhblatt
      @rkjhblatt Год назад +6

      its the same w/ music. once u start making it yourself, u can never listen to music the same way again

  • @nicetry9800
    @nicetry9800 Год назад +55

    I understood none of what you said in this video but the fact you made an entire coding language to make a 3D game in desmos is mindblowing

  • @jojort1312
    @jojort1312 Год назад +92

    This is so impressive you should be way more popular

  • @FunMaker39
    @FunMaker39 Год назад +281

    Awesome! Lispmos reminds me of SPWN language for geometry dash. It's nice to see people working on DSLs to accomplish these crazy challenges using tools that were totally not designed for it.
    PS: you seriously need more exposure, hope the algorithm will bless you one day

    • @nepnep2053
      @nepnep2053 Год назад +4

      9 months late but cute pfp

    • @iHeron_
      @iHeron_ Год назад +2

      i was thinking of SPWN the whole video too, this stuff is actually mindboggling to imagine. and for things as deceptively simple as desmos and geometry dash, too, no less

    • @user-ug2ty8rh9f
      @user-ug2ty8rh9f Год назад

      yes i was thinking spu7nix's levels

  • @remyzk9424
    @remyzk9424 Год назад +4

    Back in high school I used to mess around with making my own 3d rendering thing in desmos, It's very cool to see that I'm both not the only one and also nowhere near the best at it

  • @krosskancelvlogs
    @krosskancelvlogs Год назад +3

    i like how as the video goes on you talk faster and faster and the music speeds up

  • @AlexTuduran
    @AlexTuduran 9 месяцев назад +1

    You got me at "Desmos". This is absolutely insane. We'll done mate, we'll done.

  • @j-maffe
    @j-maffe Год назад +278

    This is mindblowing! If I may ask, what pushed you to put so much time (I'm guessing days to weeks) into this project?

    • @Radian628
      @Radian628  Год назад +165

      Thank you! This project took me roughly two months of on-and-off work. As for what drove me to make Desmos plane, I can think of a few reasons:
      - I find game dev interesting and wanted to develop (and actually finish) a game at some point. This was the perfect excuse to do so.
      - I wanted to make an entry for the Desmos Art Contest.
      - The gameplay was mainly inspired by the Minecraft Elytra. I always found it fun to mess around with the Elytra and fly through self-imposed obstacle courses. From what I've seen, a sure sign of a well-designed game mechanic is when players just mess around with and fidget with it even when they don't have any specific goal to accomplish with it. So when I realized this was the case for the elytra, I knew a game based around a similar mechanic would be effective.

    • @king6530
      @king6530 Год назад

      Adderall + autism obviously

    • @funy0n583
      @funy0n583 Год назад +49

      days to weeks??!! 🤣

    • @PotassiumLover33
      @PotassiumLover33 Год назад +12

      ​@@funy0n583 yeah this is all a couple days work 🥱

  • @solidtoco6896
    @solidtoco6896 Год назад +28

    Wow! This is trully impressive. You should be WAY more popular. Don't stop making videos!

  • @marvnch
    @marvnch Год назад +2

    Wow this is extremely impressive, great job on this insane project!

  • @quin7et494
    @quin7et494 Год назад +7

    You got me at "sorry this isn't opengl" lmao. If I had to listen to another youtuber explain projection matrix to me Ima lose my mind. I was like "finally someone that dont give a shit about z buffer"

  • @a-bell
    @a-bell Год назад +2

    I'm speechless. Your work is insane man, keep it up! 👍

  • @Xamarin491
    @Xamarin491 Год назад +8

    Impressive! It runs pretty slowly on my 4790K w/ 1600hz ddr3 ram, but the fact it runs at all on Desmos is more than I would have expected.

  • @DogeisCut
    @DogeisCut Год назад +7

    This is amazing, and learning about all the tools and process you used and created during this project was very entertaining and inspiring!

  • @MichaelUrocyon
    @MichaelUrocyon Год назад +2

    I wasn't expecting what I got when I clicked on this, this is really impressive work!
    I nearly choked on my drink at LISPmos, I have done some (very rudimentary) work in LISP and knew it was good for math, but it still came out of left field for me lol.

  • @elaymelis9724
    @elaymelis9724 Год назад +6

    I just tried this method and it really works perfectly for me. Thank you.

  • @callumvanheerden1530
    @callumvanheerden1530 Год назад

    This is one of the most impressive things I've ever seen. Well done!

  • @HighFlyer96
    @HighFlyer96 Год назад +2

    Hearing about those vortices give me flashbacks to Electrical engineering 1 and linear algebra x.x Great way of explaining without going to deep into the matter!

  • @will1066
    @will1066 Год назад +1

    the reveal of lispsmos was awesome, haha. great video and great work

  • @Zooiest
    @Zooiest Год назад +7

    I really want an expression-by-expression breakdown!

  • @vvill-ga
    @vvill-ga Год назад +3

    That was absolutely insane you crazy mad lad.

  • @TheBetterGamer
    @TheBetterGamer Год назад +49

    math is a programming language by nature
    the fact that all this can be done in a graphing calculator comes at no surprise as programming inherently is based off of mathematical principles.
    still
    always cool to see
    and your work is appreciated

  • @reptilejesus829
    @reptilejesus829 Год назад +1

    This is awesome
    genuinely thank you for uploading this
    very inspiring

  • @Twisted_Code
    @Twisted_Code Год назад +5

    I'm going to remember this video next time I would otherwise complain about a game's rendering bugs. This shit is so much more complex than I thought and I'm going to need to watch this a few times to even start to understand it.

  • @slurples149
    @slurples149 10 месяцев назад +1

    I thought I was intelligent before this video, now I feel like a neanderthal witnessing the moon landing.

  • @kan807
    @kan807 Год назад

    I love how the music gets more and more intense throughout the video as we fall deeper into the madness.

  • @MatejVancoCG
    @MatejVancoCG Год назад

    The dedication is insane. Cudos man

  • @bassguitarbill
    @bassguitarbill Год назад +1

    You could have easily named your language "LISPmos" and it would have been easily pronounceable, but you instead made the extremely courageous choice to go with "LISPsmos" which I greatly respect.

  • @AwesomeCadecraft
    @AwesomeCadecraft Год назад +52

    While watching this, the whole editing style (specifically the text) felt familiar, then I realized--if I'm not mistaken--you're using the Blender video editor!
    Can't believe I found someone else who uses it, it's severely underrated

    • @Radian628
      @Radian628  Год назад +32

      That's correct! You're the first person who's noticed! (At least, the first person who's told me)

  • @ghostmain1538
    @ghostmain1538 Год назад +3

    I guarantee you dude, after a few months or so ur channel is gonna blow up lmao. Keep it up friend =)

  • @Laxerot
    @Laxerot Год назад +8

    Awesome work

  • @thecrazymoon6578
    @thecrazymoon6578 Год назад +2

    Great video! I've been inspired!

  • @CrjaseMechaEngr
    @CrjaseMechaEngr Год назад +1

    You have valuable knowledge my friend. As a fellow developer, Even I’m amazed.

  • @robotv56
    @robotv56 Год назад

    Never used or even seen a Desmos Graphing Calculator, but damn, this is so impressive!

  • @arturobojaca5603
    @arturobojaca5603 Год назад +2

    Thank you so much I’m making soft so fast now back then I was confused, thanks

  • @ahtenxevious
    @ahtenxevious Год назад +50

    Firstly I just want to say that this is a really impressive project, and props to you for making it, well done. Really it doesn't matter how good or bad the game is, because that's not the point, the point is trying and succeeding to do something that seems impossible.
    Now that that's out of the way, I have to say that, as someone who completed the game, this game is absolute horseshit. Pitch we make constant, great. Yaw and roll, though? Those are both controlled by left and right and depends on the pitch of the plane. Alright, fine we don't need roll for most things anyways, and it doesn't really come up at all in the game just so long as we don't have any sections that feature much vertical movement... Level 6 is tough but fair, that vertical section at the start isn't too bad, and at this point I'm still trying to figure out which lines are fastest and cutting corners, not bad. Level 7 I should've quit. When you go nearly vertical and suddenly the controls you've relied on no longer work as yaw left suddenly turns into pitch left and you begin crashing into walls, the drop itself nearly killing you by forcing you to give plenty of leadup to the drop. The rest of the level is nothing in comparison. There's a part of me that wants to finish this game due to the admiration I have for being able to create such a thing in an online graphing calculator.
    Then level 8 hits and you realize that you're no longer fighting the level, you're fighting the game mechanics themselves. Everything that didn't bother you before is now fighting you at every corner. Resetting requiring you to leave the dead-zone in the middle of the screen, which then requires you to recenter your mouse quickly due to the final drop requiring you to pitch down within maybe a half a second of resetting at the checkpoint. Then the drop itself revoking your yaw controls, meaning that you have to either roll and pitch to avoid obstacles or just trial and error find the correct lead-up so that you only need to change your pitch in order to make it through, the latter of which you eventually do. All that this leads you to, though, is a corkscrew, which maybe wouldn't be so bad if the controls didn't feel so inconsistent. You suddenly go from roll to yaw, which takes a shifting of your mentality on what the controls do. Sometimes you crash into the left wall because turning is so sensitive, sometimes you have the controls all the way to the left and still crash into the right wall. Maybe turning becomes more or less sensitive as you pitch up and down due to controls affecting yaw rather than roll? It relies on you being able to center yourself in this space so you can get the correct line to have enough turning to not crash into the right wall. Centering yourself in this dark, textureless cave is another thing entirely, though. Crashing into walls you didn't think were there due to not being able to tell what's a polygon 50 ft away or 5 ft away. Then once you *do* see the incoming polygon, being able to dodge it at 1 frame per second is another challenge entirely. These were all slight issues a few times in other levels, but this level amplifies every small annoyance this game has into a burning resentment. You hate this game and the game hates you too. The only thing that brought me to the finish is the thought of coming back to this video and posting a comment of my grievances.
    Anyways, it's impressive that a flight simulator can be made in Desmos, and it's likely the worst flight simulator I've ever played. 7.7/10 fuck you.

    • @Radian628
      @Radian628  Год назад +24

      Thank you! These are my favorite kinds of comments--- I genuinely do appreciate the feedback! Yeah, in hindsight, there were a lot of things I would have done differently if I were to make something like this again. The sudden jump in difficulty (starting around level 7) was mainly due to me switching computers halfway through development from an old laptop that ran it at ~7 FPS to a beefy PC that ran it at ~15 FPS. Suddenly, everything became easy so I bumped up the difficulty a ton.
      As for the physics, that's another area I definitely could have improved upon. This was a combination of laziness and me wanting to try to leverage the wonky physics for gameplay (which, in hindsight, was probably a strange disconnect for players who expected the physics to, yknow, actually make sense!). If I were to do this again I'd definitely simulate torque and control surfaces properly instead of just automatically pitching and yawing the craft. That would resolve the weird gimbal locking issue during vertical flight and would also add a bit of realism.
      The controls, weirdly, I felt I could never get right. I started off with them being linear--- i.e. if the joystick is shifted x units away from the center then the plane turns at a rate of mx radians/sec (where m is a constant). Later I think I switched to some kind of power law to give a feeling of more control, but I honestly forgot what I settled on.

    • @overseersmight
      @overseersmight Год назад +6

      @@Radian628 As a software engineer, I am impressed. I do not know nearly enough about math to do this at my current skill level, but I hope to one day be able to do what you can do.

    • @ahtenxevious
      @ahtenxevious Год назад +9

      @@Radian628 Thanks for the reply! It answered a lot of thoughts I had (especially about the difficulty jump) and gave some cool insight, I appreciate it.

  • @ccf_1004
    @ccf_1004 Год назад

    You are a madman.
    I appreciate your work.

  • @kenzostaelens1688
    @kenzostaelens1688 Год назад +1

    oh damn, never expected to see racket in the wild

  • @beginneratstuff
    @beginneratstuff Год назад +1

    I can't imagine the amount of time and effort it would take to develop the skills to even think about creating something like this... wow!

  • @electronx5594
    @electronx5594 Год назад

    was interested on making a self-made 3d game, this video is very valueble

  • @ProDocentify
    @ProDocentify Год назад

    I don't have words... You are a genius)

  • @daegan_ftw
    @daegan_ftw Год назад

    If only commercial software could have such genius behind it. What a world we could live in.

  • @rakaboy1619
    @rakaboy1619 Год назад +2

    now thats what i call functional programming

  • @Leowzc
    @Leowzc Год назад +2

    year for all of us, for so- it's still ongoing. i respect you for being honest as that's what's been keeping a bit sane recently, just being

  • @jumbledfox2098
    @jumbledfox2098 Год назад +2

    This is incredible, and I love the music, it goes with this craziness perfectly

  • @segnos
    @segnos Год назад

    That is the most incredible thing I have ever witnessed

  • @Cubekid10.
    @Cubekid10. Год назад +1

    Bro is gonna be the coolest kid in class

  • @chronictimewasterdisease
    @chronictimewasterdisease Год назад +8

    maybe it's because of the audio, but i can easily see this video having 1 million views

    • @Radian628
      @Radian628  Год назад +8

      lol i need to get a new mic

  • @FishStixy
    @FishStixy Год назад

    you can tell the passion by how fast he speaks

  • @dynamic379
    @dynamic379 Год назад +1

    When people make games or machines in programs that weren't created to make games or machines I like to believe it's the same feeling cavemen had rubbing two sticks together and discovering fire.

  • @maxdon2001
    @maxdon2001 Год назад

    Great video!

  • @Gunbudder
    @Gunbudder Год назад

    this is one of those projects that you have to love to complete lol

  • @nigguh
    @nigguh Год назад +1

    woah, never seen that before, nice job dude! also recommended lol.

  • @avivagmon9315
    @avivagmon9315 Год назад

    Finally a math video where i understand everything that is going on

  • @FluffyFoxUwU
    @FluffyFoxUwU Год назад +1

    at 6:34, congrat you have explained how binary search works at its core in different way

  • @thomasq7576
    @thomasq7576 2 месяца назад

    One thing I learnt: YOU ARE A MATH & PROGRAMMING GOD

  • @epicsandvich014
    @epicsandvich014 Год назад

    This needs more views.

  • @TheWizardGamez
    @TheWizardGamez Год назад +4

    I cry myself to sleep. Knowing I will never reach this level of autism

  • @MaxKool5
    @MaxKool5 Год назад

    a beautiful game to play during geometry class

  • @stewpit391
    @stewpit391 Год назад

    The music during the rendering engine section makes it sound like he’s going on some sort of villain monologue

  • @JavaScripting64
    @JavaScripting64 Год назад

    Really amazing!!

  • @randomperson21983
    @randomperson21983 Год назад

    Literally have this graph downloaded and didn't realize you made it

  • @dasapples
    @dasapples Год назад +1

    The beginning eminds me of mattbatwings’ 3D renderer in Minecraft

  • @turbosoggy8404
    @turbosoggy8404 Год назад +1

    I like your funny words, magic man

  • @MACKYBOY-41
    @MACKYBOY-41 Год назад +1

    This is insane man. You should be proud.

    • @Ivan8
      @Ivan8 Год назад

      Ah yes, such doctrines of devils as... being respectful and asking the opponent to be respectful..? Copy pasting Bible verses blindly where they do not belong does not prove your point, it makes people confused, it makes them think you're insane and stray further from God.

    • @MACKYBOY-41
      @MACKYBOY-41 Год назад

      @@Ivan8 Wrong reply?

    • @Ivan8
      @Ivan8 Год назад

      @@MACKYBOY-41 RUclips has been placing my replies under wrong comments for a few weeks already, sorry

  • @MuradBeybalaev
    @MuradBeybalaev Год назад

    Marvellous!

  • @redpanda8961
    @redpanda8961 Год назад +1

    holy shit! This needs more views

  • @user-nf2ms7mn8u
    @user-nf2ms7mn8u Год назад +1

    Bro just created an entire game using pure math

  • @krishp1104
    @krishp1104 Год назад +2

    As a software developer, this is very impressive stuff! Just wondering what you do for work? Are you in a math or game dev job?

  • @mcjiprock
    @mcjiprock Год назад

    Something with the thumbnail unconsciously caught my attention.

  • @ant5389
    @ant5389 Год назад +1

    level 7 is gunna keep me up at night istg

  • @8064goldenstar
    @8064goldenstar Год назад

    this is a really cool video but i hope you could add subtitles in future episodes since i can't keep up with the explanations lol😅

  • @luna010
    @luna010 Год назад

    hell yeah, good video

  • @AlexTrusk91
    @AlexTrusk91 Год назад

    Bugged for me, but I'm still impressed like hell. It's an awesome project

  • @mncreations2857
    @mncreations2857 Год назад

    where I’d record one track of the soft and than use a second Edison to record scrubbing through the soft to mimic a wave table.

  • @MDMAviation
    @MDMAviation Год назад

    Gotta love it

  • @nokiasnakes
    @nokiasnakes Год назад

    this is so sick

  • @hextav
    @hextav Год назад +7

    Cool video, aswell how did you implement clipping for when polygons go behind the camera?

    • @Radian628
      @Radian628  Год назад +5

      Thank you! As for polygon clipping, those polygons have negative z-values, which cause the resulting 2D point's x- and y-values to be on the opposite side of the screen compared to where they should be. To fix this, I multiply those vertices' x- and y-values by -1 so that they're on the correct side, and also force them to be a large distance away from the origin by normalizing their position and then multiplying by a large number. This way, partially-clipped polygons look fairly normal. This isn't perfect and does occasionally produce artifacts, but it worked well enough for Desmos Plane. Finally, if all points of a triangle are negative, I just filter it out before it can even be rendered.

  • @servercraft17
    @servercraft17 Год назад +1

    bro is more than a math god

  • @ThatMS
    @ThatMS Год назад

    Makes me feel a little bit smarter. And actually helps me understand geometry a bit more. Somehow.

  • @ArnaudMEURET
    @ArnaudMEURET Год назад +5

    Great job!
    Quick terminology note: the player is not in the game, the character or driver or rover or plane is.
    The player is the person sitting in front of the screen. 😌

  • @rickro2878
    @rickro2878 Год назад +1

    bro's gonna make the next TempleOS

  • @ming3706
    @ming3706 Год назад

    Bro creating languages just to make a game for desmos. That is dedication

  • @Cool_Bungle
    @Cool_Bungle Месяц назад

    When are you going to upload? I really like all of your videos and you have inspired me to make my own projects like this.

  • @qi1mu78
    @qi1mu78 Год назад

    didn't know dream was so good at desmos coding

  • @headphones_guy777
    @headphones_guy777 Год назад +1

    Well goddamn, I guess I'm subscribing

  • @pxlfzz
    @pxlfzz Год назад

    this is an astounding project, i just speedran it lol

  • @milicabogdanov7979
    @milicabogdanov7979 Год назад

    youre insane bro

  • @felicityc
    @felicityc Год назад +1

    this man can make a video game on a calculator i can barely use but he can't buy a good mic

  • @KatSun3i
    @KatSun3i Месяц назад

    haha, I'm doing it by expression, got projection and vertex displaying done, just some more to go in terms of transformations and faces

  • @juicersLULE
    @juicersLULE Год назад

    I had to check whether the video was indeed playing in normal playback speed multiple times throughout lol

  • @gingeral253
    @gingeral253 Год назад

    Amazing

  • @gavinmccann9081
    @gavinmccann9081 Год назад

    bro this legend

  • @NoahtheEpicGuy
    @NoahtheEpicGuy Год назад +2

    It's cool seeing high-level single-color polygon-based 3D rendering in desmos, because I did a lot of that in Java using Swing, so seeing all those Z issues for polygons with their Z relatively behind the camera was oddly nostalgic. I mean, who even needs a 3D graphics API? Actually, it shows you how 3D is really just simple math, and the only black box part about it is crazy optimizations (just look at the rendering for Wolf3D or Doom, hell, even quake). Actually, speaking of, how viable would a simple raycasting engine be in desmos? We're talking DDA then drawing columns rather than polygons, perhaps with wall texture mapping. That would be cool.

    • @molybd3num823
      @molybd3num823 10 месяцев назад

      I've implemented the dda algo in desmos, but still can't find a way to actually use it for something

  • @idiotnepty
    @idiotnepty Год назад +1

    amazing