MarioKart.js Blew My Mind (Open Source + React + ThreeJS)

  Рет қаралды 205,237

Theo - t3․gg

Theo - t3․gg

Күн бұрын

I've been hyped about this one for awhile. Big React-three-fiber simp so I hope that makes sense. React, ThreeJS and all the tech around it might not be the most common choice for game dev compared to Unity, Unreal Engine, Phasor, etc, but that kinda makes this cooler imo.
SOURCES
/ 1757407914900242724
github.com/Lunakepio/Mario-Ka...
MY PREV R3F VIDS
• React Wasn't Built For...
• 3D GAMES in JAVASCRIPT??!
Check out my Twitch, Twitter, Discord more at t3.gg
S/O Ph4se0n3 for the awesome edit 🙏

Пікірлер: 300
@z_0968
@z_0968 2 ай бұрын
Nintendo is 100% going to DMCA this if/when they find out. My advice take a page from Palworld, instead of calling it MarioKart, with Mario the iconic Italian plumber. You call MasayoshiKart, and make him a japanese electrician.
@BooleanDev
@BooleanDev 2 ай бұрын
yeah, it was extremely dumb to use the mario kart name. its basically begging Nintendo to send a dmca
@1234minecraft5678
@1234minecraft5678 2 ай бұрын
Idk why ppl think they would cone thru. Maybe he wants the fuzz and changes it after dmca
@BooleanDev
@BooleanDev 2 ай бұрын
@@1234minecraft5678 if the dmca demands you shut it down, changing the name isnt gonna get you out of it
@eveykhan
@eveykhan 2 ай бұрын
Palrio Kart 🤝
@ermilburn02
@ermilburn02 2 ай бұрын
@@1234minecraft5678 Yes, because we saw how well that worked with Mario Royale
@anttihilja
@anttihilja 2 ай бұрын
Nintendo will take this down faster than theo can say he doesn't like Remix :)
@gilgamesh9735
@gilgamesh9735 2 ай бұрын
*Flutter
@toparamennoodles9652
@toparamennoodles9652 2 ай бұрын
Remix sucks lol
@anttihilja
@anttihilja 2 ай бұрын
@@toparamennoodles9652 Shut up, Remix is great
@wlockuz4467
@wlockuz4467 2 ай бұрын
I think they have a bigger fish to fry at the moment, Yuzu.
@mohammadalrefaai4377
@mohammadalrefaai4377 2 ай бұрын
After 10y, React for quantum physics
@spageen
@spageen 2 ай бұрын
Can react fix my broken marriage?
@t3dotgg
@t3dotgg 2 ай бұрын
Only if it can render to canvas
@svict4
@svict4 2 ай бұрын
Render me like one of your french girls
@erifetim
@erifetim 2 ай бұрын
Can you try to hot reload?
@boomshakalaka656
@boomshakalaka656 2 ай бұрын
Yes the compiler can
@jaspreetmaan121
@jaspreetmaan121 2 ай бұрын
Maybe your component didn't mount
@seb4690
@seb4690 2 ай бұрын
Missed opportunity to say, "MarioKart.js in the Bowser"
@FroztYcle4737
@FroztYcle4737 Ай бұрын
ha
@Comrade_Santos
@Comrade_Santos 2 ай бұрын
I believe we're on the cusp of a new "flash games" kinda of era
@seeibe
@seeibe 2 ай бұрын
Wasn't that the .io games?
@ADarnSmore
@ADarnSmore 2 ай бұрын
3d browser games have been a thing for a while. this is just worse.
@Raidar29
@Raidar29 Ай бұрын
@@ADarnSmore why is this worse?
@shomriddhosworld5587
@shomriddhosworld5587 2 ай бұрын
After 20y, A Os Built With React
@t3dotgg
@t3dotgg 2 ай бұрын
jQuery is getting an operating system soon so this checks out timeline wise (more context coming soon)
@VivekYadav-ds8oz
@VivekYadav-ds8oz 2 ай бұрын
​@@t3dotggW H A T
@xetera
@xetera 2 ай бұрын
Hey reactOS technically already exists
@lordbeerus9532
@lordbeerus9532 2 ай бұрын
​@@t3dotgg whaaat ? How? When ? Where ?
@user-gs3lm7gt5e
@user-gs3lm7gt5e 2 ай бұрын
m.kzbin.info/www/bejne/gH3KpJyFgM2tb7M This guy is a genius
@ivanrenescorcia
@ivanrenescorcia 2 ай бұрын
ThreeJS is really powerful, we should give it more visibility!
@johnmagbag2711
@johnmagbag2711 2 ай бұрын
Didn't expect I'd be a game dev in 11 minutes.
@IHighscoredYourGirl
@IHighscoredYourGirl 2 ай бұрын
Don't worry, you won't
@Iamfafafel
@Iamfafafel 2 ай бұрын
@@IHighscoredYourGirl 😂
@J3R3MI6
@J3R3MI6 2 ай бұрын
@@IHighscoredYourGirlyou’re right… with AI it will take 5 mins
@cherubin7th
@cherubin7th 2 ай бұрын
That this changes show up in the game imminently was so awesome. I just had to tried this in Godot too, and it does this too. I didn't know that.
@alskidan
@alskidan 2 ай бұрын
I adore watching JS developers rediscovering scene graphs :-D
@mieszkogulinski168
@mieszkogulinski168 2 ай бұрын
Uaing React to create any type of graph, not only HTML, is actually an awesome idea
@dshappir
@dshappir 2 ай бұрын
It's always worthwhile remembering that React JSX nesting is just functional composition.
@KaroLiul
@KaroLiul 2 ай бұрын
Everything that can be written in javascript, will be written in javascript
@James.Engineer
@James.Engineer 2 ай бұрын
Amazing open source idea!
@joshbedo8291
@joshbedo8291 2 ай бұрын
You can even take this a step further and run it in XR so you can play it on a quest in virtual reality. Could even add a new camera mode for VR so you are in the driver seat and can throw items 😄
@matt1988ish
@matt1988ish 2 ай бұрын
I'd love a polished game engine made out of this. As someone who dabbled in game dev for over a decade, I could get behind this architecture for small projects.
@Hapkumdo
@Hapkumdo 2 ай бұрын
Drei is german for Three - the more you know.... xD
@tangrumser8984
@tangrumser8984 2 ай бұрын
Zustand is also German for State. It’s super weird to hear non German speakers pronounce it like it’s just an English word 😄
@markflakezCG
@markflakezCG 2 ай бұрын
"zsuständ" xd
@EvanEdrok
@EvanEdrok 2 ай бұрын
So it’s react-three-three?
@minhuang8848
@minhuang8848 2 ай бұрын
@@tangrumser8984 thank God he showed the word, I would never in a million years made the leap susstend
@tanvirhasan4912
@tanvirhasan4912 2 ай бұрын
Nintendo would arm themselves with lawyers to go after 8 year olds pirating pokemon.
@wlockuz4467
@wlockuz4467 2 ай бұрын
Finally some good content that isn't about reinventing the same thing or AI. Really enjoyed this one, threejs never fails to blow my mind.
@SteelSkin667
@SteelSkin667 2 ай бұрын
I mean this is about reinventing the same thing, the novelty is that it's built with React.
@wlockuz4467
@wlockuz4467 2 ай бұрын
@@SteelSkin667 I was mainly talking about how JS frameworks have been lately lol
@mieszkogulinski168
@mieszkogulinski168 2 ай бұрын
Long time ago I made a project at work that uses react-three/fiber to display visualizations of scientific data. react-three/fiber is awesome, the idea of displaying 3D object as React components is great
@rotoozeki
@rotoozeki 2 ай бұрын
Clear explanation👏 Didn’t understand everything cuz I’m not familiar with coding but I was enjoyed hearing your explanation.
@FrostsorrowGaming
@FrostsorrowGaming 2 ай бұрын
this is a like a new era of "flash" style games. Yea i know its way more powerful then flash, but it was the only other thing that came to mind when it comes to browser based gaming that did have some neat games for its time out there. Having full 3D space and running so smoothly is pretty great. Also the openness of it is great as well.
@user-rp7nt1gi2i
@user-rp7nt1gi2i 2 ай бұрын
Nintendo should be proud of this fan as he made mario kart for the browser
@AndersonMancini
@AndersonMancini 2 ай бұрын
Funny to see my face and name during your code review 😅. I just worked with Fire glsl Shader but looks like I changed a lot of other things.
@EEBDivyanshgupta
@EEBDivyanshgupta 2 ай бұрын
I once read an article or something that riot games uses react to display splash screens in there games(ig it was about Valorant). Crazy to think about the potential React has!!!!
@seeibe
@seeibe 2 ай бұрын
What incredible timing for this video 😂
@ElLevidente
@ElLevidente 2 ай бұрын
Feel like it would be a lot more accurate just to say it's made with Three.JS -- React-three-fiber is really just a wrapper to provide Reacts delcarative syntax and components structure for Three
@jerondiovis6128
@jerondiovis6128 2 ай бұрын
Is this guy already in jail because Nintendo lawyers saw this?
@ewwitsantonio
@ewwitsantonio 2 ай бұрын
I love R3F. Working on a few R3F jobs right now. Super fun to work with.
@Roboprogs
@Roboprogs 2 ай бұрын
Trivia regarding long ternary operator chains: format them like else-if’s. Cuz that’s what they are. See also: (COND …) in Lisp, or if/else/… in Ruby.
@tgoyer
@tgoyer 2 ай бұрын
I always thought of them more like complicated switch statements. But yeah, "if" is probably a better mental model.
@mcgjk
@mcgjk 2 ай бұрын
What VSCode theme is that? It looks nice :)
@user-vo1wt7hj1w
@user-vo1wt7hj1w 2 ай бұрын
What's your VS code setup? Can you share? It's neat and I like it.
@BennyS6502
@BennyS6502 2 ай бұрын
Very impressive and a great showcase for React-three-fiber! To be fair though, this has nothing to do with React being fast or slow. At the end of the day, the whole thing is rendered in a canvas element on the GPU using WebGL. As you said in the video, React-three-fiber is a wrapper around Three.js, which is a wrapper around WebGL. However, the level of abstraction and ease of use makes React-three-fiber a good choice if you want to be productive. 3D programming is hard...
@theavazov
@theavazov 2 ай бұрын
I like the idea of recreating the most lovely games from our childhood, good thing is on browser)
@tormado
@tormado 2 ай бұрын
OH GOD IT'S ALL COMING TOGETHER 🤯
@ricky2629
@ricky2629 2 ай бұрын
Could something like this get used with Electron to make it behave more like a game with it's standalone executable?
@mattmmilli8287
@mattmmilli8287 2 ай бұрын
Yes. Many 2D games on steam are really headless browser games
@TheMASTERshadows
@TheMASTERshadows 2 ай бұрын
Now do it with htmx
@smthngsmthngsmthngdarkside
@smthngsmthngsmthngdarkside 2 ай бұрын
Please leave the internet
@benheidemann3836
@benheidemann3836 2 ай бұрын
I think a game engine built around React would be really cool and very approachable for a lot of web devs. Does something like this exist already?
@shafiq_ramli
@shafiq_ramli 2 ай бұрын
JS ftw 🎉
@chrislanejones
@chrislanejones 2 ай бұрын
I am in the process of learing Three.js, this is great, I wonder if they used Spline library to create it.
@LajosHarangi
@LajosHarangi 2 ай бұрын
Nintendo's lawyers are writing the DMCA as we speak.
@tvwithtiffani
@tvwithtiffani Ай бұрын
I can attest to Zustand being a good react state library to work with. increases confidence.
@finn3163
@finn3163 2 ай бұрын
btw "zustand" translates to state from German, so that might make it a little more clear to understand
@KnOtoUt
@KnOtoUt 2 ай бұрын
I had done some three with vanilla js when I was on a hackthon for Space Apps, It was a 3d scene to show eclipse. Didn't win anything but being able to make a browser 3d scene when I didn't even know js well tells me it is easy to get into but damn it is hard to master
@callibor3119
@callibor3119 2 ай бұрын
We need more open source projects to help us with language learning, programming language learning and help with basic living, even. Open source is the public domain of the internet and we need all the free things we need ti bring happiness abd unity back into our lives.
@usame.cetinkaya
@usame.cetinkaya 2 ай бұрын
It's important for children to know how the physics works. Well said.
@AnnasVirtual
@AnnasVirtual 2 ай бұрын
react component as objects? that's fun that's interesting that they can do SceneGraph with react components usually you do scene.AddChild(new ItemBox(position = new Vector3(1, 2, 3)));
@molesarecoming
@molesarecoming 2 ай бұрын
you do that with the dom as well: node.appendChild(createElement("div)). react expresses imperative systems declaratively. that's why react-dom is not named react-html, it is merely a form that instructs react about the dom: divs, spans, appendChild, insertChild etc. react-three-fiber is the same for threejs, a small form that instructs react about the platform. react itself remains platform independent.
@Nekroido
@Nekroido 2 ай бұрын
Nintendo's nukes the project in 3... 2... 1...
@idoblenderstuffs
@idoblenderstuffs 2 ай бұрын
the link on it is broken and i cant seem to find an upload of it
@hjewkes
@hjewkes 2 ай бұрын
Damn I just expected this to be an emscripten recompile
@DevGio
@DevGio 2 ай бұрын
"Devin, make Mario Kart 9 from Threejs and Reactjs"
@geralddd.g
@geralddd.g 2 ай бұрын
What theme are you using on vs code?
@xtanion
@xtanion 2 ай бұрын
++
@callibor3119
@callibor3119 2 ай бұрын
We need everything free that we can safely get to help us with basic living. We needed an open source-based community since the internet became so popular around the globe. I’m tired of prices on the internet being so expensive than when you are getting groceries. You don’t need a live service to groceries and cook your own foods.
@AScribblingTurtle
@AScribblingTurtle 2 ай бұрын
While the tech is impressive, it is unfortunate they didn't adapt something like Super Tux Kart instead. Nintendo will kill this inspiring thing before you know it. They went after someone remaking a terrible 30-year-old game, that barely anyone cared about, what makes you think remaking one of their greatest cash cows would be handled with less vigor? Heck, if the Devs would have gone for a Sonic variant, they may would have even gotten a Job from Sega. Now all this will get them is a DMCA Takedown, And we all lose yet another cool piece of tech.
@aleksd286
@aleksd286 2 ай бұрын
So we all just became game developers overnight
@STaSHZILLA420
@STaSHZILLA420 2 ай бұрын
Pokemon Revolution Online (fan-made pokemon mmo) made all their stuff from scratch. As a result, they can't be stopped. The same thing can happen here if they alter the name a bit.
@abdelazizlaissaoui9079
@abdelazizlaissaoui9079 2 ай бұрын
a good example to use react instead of htmx
@hgeldenhuys
@hgeldenhuys 2 ай бұрын
This is super cool
@Meaticus22
@Meaticus22 2 ай бұрын
Newb question: How did you get the react program to run via terminal and not browser?
@mieszkogulinski168
@mieszkogulinski168 2 ай бұрын
There's a library named Ink that allows using React to build CLIs
@Meaticus22
@Meaticus22 2 ай бұрын
thank u@@mieszkogulinski168
@Meaticus22
@Meaticus22 2 ай бұрын
wait but how did he get the mario kart program to run via terminal instead of the browser? @@mieszkogulinski168
@randerins
@randerins 2 ай бұрын
Oh nice, just like playing it on Yuzu 🙂
@anurag476
@anurag476 2 ай бұрын
Theo - camera as an object is a very common construct in most game dev languages (or engines?) - gamemaker studio, unity, unreal, etc all have cameras as controllable objects that you can program. But yeah, seeing it in a web dev project is quite refreshing
@tehArgento
@tehArgento 2 ай бұрын
Well, everybody fork it before it gets taken down XD
@LanceBryantGrigg
@LanceBryantGrigg 2 ай бұрын
This is legit proof that eventually everything will be written with Javascript.
@rollinOnCode
@rollinOnCode 2 ай бұрын
that is hilariously awesome
@ifscho
@ifscho 2 ай бұрын
So can I write a whole game and somehow compile it to a Steam deliverable? 😄(Into a native build I mean, obviously could just run it in a WebView.)
@Destide
@Destide 2 ай бұрын
RIP the dev enjoy the Donkey Kong themed salt mines
@apptsx
@apptsx 2 ай бұрын
What font does theo uses in VSCODE? 3:40
@DeusEx3
@DeusEx3 2 ай бұрын
Yes, Nintendo, this video right here.
@ua420
@ua420 2 ай бұрын
❤Amazing🎉
@UnitCodesChannel
@UnitCodesChannel 2 ай бұрын
Nintendo right now: Call The Lawyers
@pauloeduardo1461
@pauloeduardo1461 2 ай бұрын
In Bowser!
@shujaa
@shujaa 2 ай бұрын
I don't know if @theo has heard of the new "dom in canvas" package by the pmndrs team 🤔. Game dev in react is about to explode.
@igoralmeida9136
@igoralmeida9136 2 ай бұрын
does this use WebGL or WebGPU?
@liquidsnake6879
@liquidsnake6879 2 ай бұрын
It's Three.js, so WebGL
@lancemarchetti8673
@lancemarchetti8673 2 ай бұрын
Very cool!
@fayenotfaye
@fayenotfaye 2 ай бұрын
Which browser do you use
@pwall
@pwall 2 ай бұрын
something totally almost unrelated but it would be very cool if you could do a video on version fox (vfox) very cool go project for managing utils versions, the plugins are written in lua.
@Gahlfe123
@Gahlfe123 2 ай бұрын
i fucking love this
@marcpanther8515
@marcpanther8515 2 ай бұрын
Is my assessment correct: things still look clean and declarative because most of the game logic is probably in another repo? This feels like just "initialization" codes for the game.
@sayakghosh9247
@sayakghosh9247 2 ай бұрын
Nintento Legal team gonna be all over it now :)
@MaisieSqueak
@MaisieSqueak Ай бұрын
Well I'm sure this with do wonders for Nintendo's already smashed street cred. Going for the low hanging fruit I guess.
@UnitCodesChannel
@UnitCodesChannel 2 ай бұрын
Nintendo: Hold my Lawsuit
@aeronwolfe7072
@aeronwolfe7072 2 ай бұрын
SO cool
@deadcrypt
@deadcrypt 2 ай бұрын
New age of “flash” games?
@ParthaSarathylink
@ParthaSarathylink 2 ай бұрын
Incoming ninento lawyers in 3..2..
@IHighscoredYourGirl
@IHighscoredYourGirl 2 ай бұрын
Let's talk after you've added collision detection
@Fanaro
@Fanaro 2 ай бұрын
Imagine this in SolidJS...
@neociber24
@neociber24 2 ай бұрын
Is using the canvas, I don't think it will make much different
@tvwithtiffani
@tvwithtiffani Ай бұрын
This would be a great time for Nintendo to allow a single pass in this instance. This project is much more than M***o K***
@im9yro178
@im9yro178 2 ай бұрын
2050 : react phone
@totalpr0st
@totalpr0st 2 ай бұрын
zustand es heißt ZUSTAND.. good video and very cool project tho
@abui6914
@abui6914 2 ай бұрын
bet you can build time travel machine using react in future
@wlockuz4467
@wlockuz4467 2 ай бұрын
I can't wait until people optimize the heck out of it.
@kyanhluong
@kyanhluong 2 ай бұрын
Great job Now quick !, archive this page
@DrJohn123
@DrJohn123 2 ай бұрын
Fables of Faubus
@MrSongib
@MrSongib 22 күн бұрын
Better than Roller coaster Excel. xd
@netking767
@netking767 2 ай бұрын
#wow!
@LiberaMeFromH
@LiberaMeFromH 2 ай бұрын
Nintendo getting ready to lawyer up
@Cohors1316
@Cohors1316 2 ай бұрын
Cloning this and backing up offline before it gets DMCAd to hell.
@Oscaragious
@Oscaragious 2 ай бұрын
Does this make React a game engine?
@user-uc5ow2rd9o
@user-uc5ow2rd9o 2 ай бұрын
can't wait to nintendo lawyers to sue all of the development team
@patrickdevaney3361
@patrickdevaney3361 2 ай бұрын
This is really cool. But I think it would be more practical to do Rust and WASM for a browser game.
You Need React Query Now More Than Ever
11:04
Theo - t3․gg
Рет қаралды 137 М.
How To Choose Ramen Date Night 🍜
00:58
Jojo Sim
Рет қаралды 58 МЛН
didn't want to let me in #tiktok
00:20
Анастасия Тарасова
Рет қаралды 12 МЛН
Who Can Find the Weirdest PC Parts on AliExpress?
19:03
Linus Tech Tips
Рет қаралды 963 М.
ChatGPT Can Now Talk Like a Human [Latest Updates]
22:21
ColdFusion
Рет қаралды 379 М.
Next.js Auth Tutorial with RSCs and Server Actions
14:45
WorkOS
Рет қаралды 2,3 М.
I found more incredible 3D personal portfolios!!!
19:12
Developer Filip
Рет қаралды 148 М.
UI Libraries Are Dying, Here's Why
13:28
Theo - t3․gg
Рет қаралды 260 М.
Every React Concept Explained in 12 Minutes
11:53
Code Bootcamp
Рет қаралды 329 М.
How To Create Beautiful Ambient Sounds For A Game
14:02
Marshall McGee
Рет қаралды 9 М.
How I would learn game dev (If I could start over)
7:50
Andrzej Gieralt Creative
Рет қаралды 80 М.
I don’t want to clean this.
11:42
Linus Tech Tips
Рет қаралды 1,1 МЛН
Build a Game with JavaScript and HTML Canvas [RPG Kit series]
2:34:30
СЛОМАЛСЯ ПК ЗА 2000$🤬
0:59
Корнеич
Рет қаралды 2,5 МЛН
Переходник для IPhone • 181649538                         Делюсь обзорами в профиле @lykofandrei
0:15
#miniphone
0:18
Miniphone
Рет қаралды 2,7 МЛН
IPad Pro fix screen
1:01
Tamar DB (mt)
Рет қаралды 2,8 МЛН
СЛОМАЛСЯ ПК ЗА 2000$🤬
0:59
Корнеич
Рет қаралды 2,5 МЛН
Introducing the all-new iPad Pro | Apple
1:29
Apple
Рет қаралды 37 МЛН