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 Жыл бұрын
The overlords have blessed you
@Alex_1A Жыл бұрын
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 Жыл бұрын
Really impresive
@ThatOneOddGuy Жыл бұрын
The game doesn't start when I tap play on my phone
@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 Жыл бұрын
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 Жыл бұрын
This comment made me feel like a lesser evolve monkey watching a caveman do caveman stuff.
@bluedog4754 Жыл бұрын
naw bro I feel the apposite, its like seeing a cave man making a good looking meatloaf while using primitive tools.
@foxyolk Жыл бұрын
I can't even make this in unity :(((
@defeatSpace Жыл бұрын
@@foxyolk that's because you're lazy
@tzebruh Жыл бұрын
with a programming language that compiles to sticks and stones
@bloxcarter Жыл бұрын
This confirms it. Doom could probably run on Desmos.
@FyterMakesMusic Жыл бұрын
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 Жыл бұрын
@@FyterMakesMusic I more just wanted to make the joke, truth be told
@ShadowWolf2508plays Жыл бұрын
Cmon, everyone knows DOOM will run on anything that has a screen
@Radian628 Жыл бұрын
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 Жыл бұрын
@@Radian628 I'm just going to nod my head and act like I understand
@7projected Жыл бұрын
This just keeps getting more impressive bro. HE LITERALLY MADE A PROGRAMMING LANGUAGE TO MAKE A GAME IN A GRAPHING CALCULATOR BRO.
@gorlix Жыл бұрын
nuh uh
@kenos911 Жыл бұрын
yuh uh!
@Red-yt2dk Жыл бұрын
He made a *compiler This is significantly different to making a programming language
@nonagonguy6121 Жыл бұрын
@@Red-yt2dkHe made a compiler and language. What do you think compilers do?
@7projected Жыл бұрын
@@Red-yt2dk 🤓
@sacrificialobama8786 Жыл бұрын
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 Жыл бұрын
All that and he's still a virgin
@bored.random Жыл бұрын
@@bigcrazycarboy672look whose talking
@idglet9565 Жыл бұрын
I think this pushed me over the edge into killing myself
@FlashAm Жыл бұрын
@@bigcrazycarboy672 Jealous?
@bigcrazycarboy672 Жыл бұрын
@@FlashAm tbh yeah that was dope asf
@JayFolipurba Жыл бұрын
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 Жыл бұрын
why is that the perfect metaphor for that feeling?
@nicetry9800 Жыл бұрын
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
@jojort13122 жыл бұрын
This is so impressive you should be way more popular
@FunMaker392 жыл бұрын
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 Жыл бұрын
9 months late but cute pfp
@iHeron_ Жыл бұрын
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 Жыл бұрын
yes i was thinking spu7nix's levels
@remyzk9424 Жыл бұрын
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
@bassguitarbill Жыл бұрын
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.
@MichaelUrocyon Жыл бұрын
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.
@solidtoco68962 жыл бұрын
Wow! This is trully impressive. You should be WAY more popular. Don't stop making videos!
@quin7et494 Жыл бұрын
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"
@TheBetterGamer Жыл бұрын
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
@krosskancelvlogs Жыл бұрын
i like how as the video goes on you talk faster and faster and the music speeds up
@AlexTuduran Жыл бұрын
You got me at "Desmos". This is absolutely insane. We'll done mate, we'll done.
@will1066 Жыл бұрын
the reveal of lispsmos was awesome, haha. great video and great work
@Xamarin491 Жыл бұрын
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.
@TheWizardGamez Жыл бұрын
I cry myself to sleep. Knowing I will never reach this level of autism
@DogeisCut Жыл бұрын
This is amazing, and learning about all the tools and process you used and created during this project was very entertaining and inspiring!
@FluffyFoxUwU Жыл бұрын
at 6:34, congrat you have explained how binary search works at its core in different way
@elaymelis97242 жыл бұрын
I just tried this method and it really works perfectly for me. Thank you.
@marvnch Жыл бұрын
Wow this is extremely impressive, great job on this insane project!
@j-maffe2 жыл бұрын
This is mindblowing! If I may ask, what pushed you to put so much time (I'm guessing days to weeks) into this project?
@Radian6282 жыл бұрын
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.
@funy0n583 Жыл бұрын
days to weeks??!! 🤣
@PotassiumLover33 Жыл бұрын
@@funy0n583 yeah this is all a couple days work 🥱
@a-bell Жыл бұрын
I'm speechless. Your work is insane man, keep it up! 👍
@HighFlyer96 Жыл бұрын
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!
@ahtenxevious Жыл бұрын
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 Жыл бұрын
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 Жыл бұрын
@@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 Жыл бұрын
@@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.
@vvill-ga2 жыл бұрын
That was absolutely insane you crazy mad lad.
@ghostmain15382 жыл бұрын
I guarantee you dude, after a few months or so ur channel is gonna blow up lmao. Keep it up friend =)
@callumvanheerden1530 Жыл бұрын
This is one of the most impressive things I've ever seen. Well done!
@Leowzc2 жыл бұрын
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
@Twisted_Code Жыл бұрын
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.
@kan807 Жыл бұрын
I love how the music gets more and more intense throughout the video as we fall deeper into the madness.
@Laxerot2 жыл бұрын
Awesome work
@Zooiest Жыл бұрын
I really want an expression-by-expression breakdown!
@nokhinsiu72105 ай бұрын
welp he probably won't do it
@MatejVancoCG Жыл бұрын
The dedication is insane. Cudos man
@lisalucas37232 ай бұрын
Ik a faster way of lighting. Make desmos run a polygon on top of the other, calculate the cosecant of the first sector integral to the polygon, make the N-Gon use hsv function, take down the v value, and saturation of the 2nd sector, 3rd sector more, over and over until all is gradient, and have it render time-based. EDIT: csc(theta_1_0)([1,2,4,8,16,32]) as sector works as a way to generate 32-bit highlights as the reciprocal of what sine.
@electronx5594 Жыл бұрын
was interested on making a self-made 3d game, this video is very valueble
@reptilejesus829 Жыл бұрын
This is awesome genuinely thank you for uploading this very inspiring
@AwesomeCadecraft Жыл бұрын
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 Жыл бұрын
That's correct! You're the first person who's noticed! (At least, the first person who's told me)
@1_and_only_Crjase Жыл бұрын
You have valuable knowledge my friend. As a fellow developer, Even I’m amazed.
@FeelsGoodman124 Жыл бұрын
Never used or even seen a Desmos Graphing Calculator, but damn, this is so impressive!
@stewpit391 Жыл бұрын
The music during the rendering engine section makes it sound like he’s going on some sort of villain monologue
@dasapples Жыл бұрын
The beginning eminds me of mattbatwings’ 3D renderer in Minecraft
@thecrazymoon6578 Жыл бұрын
Great video! I've been inspired!
@daegan_ftw Жыл бұрын
If only commercial software could have such genius behind it. What a world we could live in.
@arturobojaca56032 жыл бұрын
Thank you so much I’m making soft so fast now back then I was confused, thanks
@dynamic379 Жыл бұрын
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.
@kenzostaelens1688 Жыл бұрын
oh damn, never expected to see racket in the wild
@beginneratstuff Жыл бұрын
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!
@segnos Жыл бұрын
That is the most incredible thing I have ever witnessed
@thomasq75767 ай бұрын
One thing I learnt: YOU ARE A MATH & PROGRAMMING GOD
@FishStixy Жыл бұрын
you can tell the passion by how fast he speaks
@ArnaudMEURET Жыл бұрын
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. 😌
@turbosoggy8404 Жыл бұрын
I like your funny words, magic man
@Cubekid10. Жыл бұрын
Bro is gonna be the coolest kid in class
@1e10012 жыл бұрын
for shadows could you not just split the triangles at compile time?
@Radian6282 жыл бұрын
That's exactly what I did--- the process I described in the video was done at compile time. If you're wondering why I didn't go for a more "exact" method, I decided against doing so because at the time I wasn't sure how to do that, along with the fact that a more precise method would likely be significantly slower, as it would produce more triangles.
@1e10012 жыл бұрын
@@Radian628 ah yeah that makes sense i guess; interesting method for calculating shadows though
@ccf_1004 Жыл бұрын
You are a madman. I appreciate your work.
@Livanov2PR Жыл бұрын
I don't have words... You are a genius)
@MACKYBOY-41 Жыл бұрын
This is insane man. You should be proud.
@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 Жыл бұрын
@@Ivan8 Wrong reply?
@Ivan8 Жыл бұрын
@@MACKYBOY-41 KZbin has been placing my replies under wrong comments for a few weeks already, sorry
@avivagmon9315 Жыл бұрын
Finally a math video where i understand everything that is going on
@jumbledfox2098 Жыл бұрын
This is incredible, and I love the music, it goes with this craziness perfectly
@thevalarauka101 Жыл бұрын
I can do animations and 3d stuff in Desmos, but - how on earth does the tick cycle work in Desmos? still confused lol
@deathrobloxian Жыл бұрын
Looked in recent comments and the solution seems to be desmos actions. I would post link but reply gets auto deleted.
@thevalarauka101 Жыл бұрын
@@deathrobloxian ah I get it now
@KatSun3i6 ай бұрын
haha, I'm doing it by expression, got projection and vertex displaying done, just some more to go in terms of transformations and faces
@slurples149 Жыл бұрын
I thought I was intelligent before this video, now I feel like a neanderthal witnessing the moon landing.
@epicsandvich014 Жыл бұрын
This needs more views.
@mncreations28572 жыл бұрын
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.
@jlewwis1995 Жыл бұрын
So on the culling part would it not be faster to compare the camera vector to the face normal to see if the triangle should be rendered or not *before" projecting it? It seems like a waste of cpu time to try to project the triangle only to figure out you don't need to render it anyway
@Radian628 Жыл бұрын
I wouldn't be surprised if that's a bit faster. In fact I did use this approach in a more recent graph: www.desmos.com/calculator/efcdkbpkcu
@hextav2 жыл бұрын
Cool video, aswell how did you implement clipping for when polygons go behind the camera?
@Radian6282 жыл бұрын
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.
@Gunbudder Жыл бұрын
this is one of those projects that you have to love to complete lol
@rakaboy1619 Жыл бұрын
now thats what i call functional programming
@chronictimewasterdisease2 жыл бұрын
maybe it's because of the audio, but i can easily see this video having 1 million views
@Radian6282 жыл бұрын
lol i need to get a new mic
@toranaga-no-minowara9215 Жыл бұрын
Hey. I absolutely admire your work. Can i have just one question? I do not exactly know, how to make a collision detector in desmos. I, on my own am trying to make a game Pong in desmos and i still can not find out how should i do the collision detector. Would you be so kind and at least send me the code, I am really curious to know. Thank you :)
@grumpykitten4566 Жыл бұрын
i don't know it that's a correct way but I would compare if the co-ordinates of x&y of the ball are inside the stick by using and depending on which stick it hit the ball would bounce left or right.
@luna010 Жыл бұрын
for pong, the ball bounces back/forth and up/down at a constant speed, so the x/y coords of the ball over time just looks like a triangle wave. You know it will always collide with the ceiling/floor, so you only have to check the paddles' collision. Since the ball always takes the same amount of time to bounce, and the paddle has a constant x position, you can check collision at a regular interval, and you only have to check the y coords, since you already know the x position is touching. hopefully that made a little bit of sense..
@juicersLULE Жыл бұрын
I had to check whether the video was indeed playing in normal playback speed multiple times throughout lol
@TinyDeskEngineer Жыл бұрын
How in the world do you change what order things are drawn in with Desmos?
@Radian628 Жыл бұрын
Elements in a list are drawn in the order they are placed in the list. You can sort lists with the two-argument sort(A, B) function. This function sorts the first list (A) based on how the second list (B) would be sorted. In other words, it's as if it thinks it's sorting B, but it's actually sorting A. In terms of how this applies to draw order, if you sort a list of polygons based on their depths multiplied by -1, then the farthest polygons will appear first in the list and the closest polygons will appear last in the list. Thus, the farthest polygons will be drawn first and the closest will be drawn last, leading to closer polygons being drawn on top of farther ones. This is essentially an implementation of the painter's algorithm: en.wikipedia.org/wiki/Painter%27s_algorithm
@luna010 Жыл бұрын
desmos renders lists of polygons in order.
@NoahtheEpicGuy Жыл бұрын
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 Жыл бұрын
I've implemented the dda algo in desmos, but still can't find a way to actually use it for something
@redpanda89612 жыл бұрын
holy shit! This needs more views
@randomperson21983 Жыл бұрын
Literally have this graph downloaded and didn't realize you made it
@tehcrusher Жыл бұрын
What was that thing that came up at 12:08
@Radian628 Жыл бұрын
www.desmos.com/calculator/6zfr7ff3vj
@GameJam230 Жыл бұрын
I would have to assume Desmons doesn't allow alpha channels for polygon colors? Otherwise you could just use translucent black triangles to make shadows, and draw them after the surfaces those shadows cast on. Would probably be easier than slicing the polygons, but again only if you have access to the alpha channel.
@Radian628 Жыл бұрын
I would have wanted to do that, if not for a few issues. The first is that while polygons *do* have an alpha channel, it's per-expression, not per-polygon. This means that I'd have to have the black, translucent "shadow triangles" in a different expression, either below or above the regular triangles. This means that they'd have to be entirely on top of or entirely below the regular triangles. They can't be entirely below because they'd be invisible, and they can't really be entirely above either because then faraway shadow triangles would erroneously appear on top of close-by regular triangles. It's an interesting idea though, and if not for that limitation of alpha channels, it would have worked!
@GameJam230 Жыл бұрын
@@Radian628 oh, I see. I'm not all sure how the sorting of objects based on depth would work with Desmos, but would it not have been possible to just add the shadow triangles into the depth sorting system, simply setting their draw order to the depth of what they're cast on +1, effectively drawing them exactly after what they're cast on, but not after things between them and the camera? I assume that isn't possible because the depth is all handled in a single expression?
@Radian628 Жыл бұрын
@@GameJam230 That would be possible, and that way I could have saved one triangle per partially-shaded triangle. Yeah in hindsight that's really what I should've done instead of splitting them up into three triangles.
@enbyfishing Жыл бұрын
it's always the mfs with the god damn classic music that talk fast
@RealRenixGaming3 күн бұрын
I will beg on my knees for part 5 of raymarching fractals (the 10k list cap is killing me)
@AlexTrusk91 Жыл бұрын
Bugged for me, but I'm still impressed like hell. It's an awesome project
@tomo8433 Жыл бұрын
For performance reasons have u tried implementing frustrum culling? That way planes outside of the camera view isn’t rendered
@angzarrpsyco3 ай бұрын
Now to use this rendering engine to run SM64
@felicityc Жыл бұрын
this man can make a video game on a calculator i can barely use but he can't buy a good mic
@MaxKool5 Жыл бұрын
a beautiful game to play during geometry class
@themacbookgamer Жыл бұрын
*casually writes an entire graphics engine from scratch for fun*
@CrisFsp-k7j Жыл бұрын
Bro just created an entire game using pure math
@ant5389 Жыл бұрын
level 7 is gunna keep me up at night istg
@hashdankhog8578 Жыл бұрын
I need a expression by expression breakdown
@TegukiSix Жыл бұрын
How does that joystick in the middle update the game's internal state? Is Desmos able to record and store inputs over time?
@Radian628 Жыл бұрын
Sort of--- You can update a Desmos variable with this feature called "actions". Basically if you have the variable a = 3 and then you have the action a -> 6, if you click the action, a will be equal to 6 afterwards. There's a related feature in Desmos called the "ticker" which executes an action repeatedly. That's how I keep on updating the game's state.
@TegukiSix Жыл бұрын
@@Radian628 That's really neat!
@ming3706 Жыл бұрын
Bro creating languages just to make a game for desmos. That is dedication
@ian_b Жыл бұрын
I presume now that Doom in Desmos cannot be far away.
@nynirf9758 ай бұрын
can you tell how to sort order of displaying triangles?
@nynirf9758 ай бұрын
I figured out how to do it already, it's not necessary, but you can offer it if you want
@krishp1104 Жыл бұрын
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?
@qwarts9699 Жыл бұрын
next up, minecraft in desmos
@willguggn2 Жыл бұрын
Do the real-time lighting calculations come into play at some point? Or did you pre-bake the lighting in the described manner in blender or something?
@Radian628 Жыл бұрын
All lighting is baked ahead of time in a TypeScript layer I have that calculates it all before converting the data to Desmos expressions.