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

แชร์
ฝัง
  • เผยแพร่เมื่อ 4 มิ.ย. 2024
  • 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 🙏
  • วิทยาศาสตร์และเทคโนโลยี

ความคิดเห็น • 298

  • @z_0968
    @z_0968 3 หลายเดือนก่อน +1125

    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 3 หลายเดือนก่อน +124

      yeah, it was extremely dumb to use the mario kart name. its basically begging Nintendo to send a dmca

    • @1234minecraft5678
      @1234minecraft5678 3 หลายเดือนก่อน +6

      Idk why ppl think they would cone thru. Maybe he wants the fuzz and changes it after dmca

    • @BooleanDev
      @BooleanDev 3 หลายเดือนก่อน +22

      @@1234minecraft5678 if the dmca demands you shut it down, changing the name isnt gonna get you out of it

    • @eveykhan
      @eveykhan 3 หลายเดือนก่อน +10

      Palrio Kart 🤝

    • @ermilburn02
      @ermilburn02 3 หลายเดือนก่อน +7

      @@1234minecraft5678 Yes, because we saw how well that worked with Mario Royale

  • @anttihilja
    @anttihilja 3 หลายเดือนก่อน +359

    Nintendo will take this down faster than theo can say he doesn't like Remix :)

    • @gilgamesh9735
      @gilgamesh9735 3 หลายเดือนก่อน +12

      *Flutter

    • @toparamennoodles9652
      @toparamennoodles9652 3 หลายเดือนก่อน +1

      Remix sucks lol

    • @anttihilja
      @anttihilja 3 หลายเดือนก่อน +1

      @@toparamennoodles9652 Shut up, Remix is great

    • @wlockuz4467
      @wlockuz4467 3 หลายเดือนก่อน +1

      I think they have a bigger fish to fry at the moment, Yuzu.

  • @spageen
    @spageen 3 หลายเดือนก่อน +472

    Can react fix my broken marriage?

    • @t3dotgg
      @t3dotgg  3 หลายเดือนก่อน +232

      Only if it can render to canvas

    • @svict4
      @svict4 3 หลายเดือนก่อน +112

      Render me like one of your french girls

    • @erifetim
      @erifetim 3 หลายเดือนก่อน +17

      Can you try to hot reload?

    • @boomshakalaka656
      @boomshakalaka656 3 หลายเดือนก่อน +4

      Yes the compiler can

    • @jaspreetmaan121
      @jaspreetmaan121 3 หลายเดือนก่อน +25

      Maybe your component didn't mount

  • @mohammadalrefaai4377
    @mohammadalrefaai4377 3 หลายเดือนก่อน +156

    After 10y, React for quantum physics

  • @seb4690
    @seb4690 3 หลายเดือนก่อน +53

    Missed opportunity to say, "MarioKart.js in the Bowser"

  • @Comrade_Santos
    @Comrade_Santos 3 หลายเดือนก่อน +42

    I believe we're on the cusp of a new "flash games" kinda of era

    • @seeibe
      @seeibe 3 หลายเดือนก่อน +2

      Wasn't that the .io games?

    • @ADarnSmore
      @ADarnSmore 2 หลายเดือนก่อน +7

      3d browser games have been a thing for a while. this is just worse.

    • @Raidar29
      @Raidar29 2 หลายเดือนก่อน

      @@ADarnSmore why is this worse?

  • @shomriddhosworld5587
    @shomriddhosworld5587 3 หลายเดือนก่อน +105

    After 20y, A Os Built With React

    • @t3dotgg
      @t3dotgg  3 หลายเดือนก่อน +40

      jQuery is getting an operating system soon so this checks out timeline wise (more context coming soon)

    • @VivekYadav-ds8oz
      @VivekYadav-ds8oz 3 หลายเดือนก่อน +1

      ​@@t3dotggW H A T

    • @xetera
      @xetera 3 หลายเดือนก่อน +7

      Hey reactOS technically already exists

    • @lordbeerus9532
      @lordbeerus9532 3 หลายเดือนก่อน +2

      ​@@t3dotgg whaaat ? How? When ? Where ?

    • @user-gs3lm7gt5e
      @user-gs3lm7gt5e 3 หลายเดือนก่อน +6

      m.th-cam.com/video/JLgsiOKhz9Q/w-d-xo.html
      This guy is a genius

  • @ivanrenescorcia
    @ivanrenescorcia 3 หลายเดือนก่อน +36

    ThreeJS is really powerful, we should give it more visibility!

  • @johnmagbag2711
    @johnmagbag2711 3 หลายเดือนก่อน +186

    Didn't expect I'd be a game dev in 11 minutes.

    • @IHighscoredYourGirl
      @IHighscoredYourGirl 2 หลายเดือนก่อน +13

      Don't worry, you won't

    • @Iamfafafel
      @Iamfafafel 2 หลายเดือนก่อน

      @@IHighscoredYourGirl 😂

    • @J3R3MI6
      @J3R3MI6 2 หลายเดือนก่อน +2

      @@IHighscoredYourGirlyou’re right… with AI it will take 5 mins

  • @KaroLiul
    @KaroLiul 3 หลายเดือนก่อน +11

    Everything that can be written in javascript, will be written in javascript

  • @alskidan
    @alskidan 3 หลายเดือนก่อน +17

    I adore watching JS developers rediscovering scene graphs :-D

    • @mieszkogulinski168
      @mieszkogulinski168 3 หลายเดือนก่อน

      Uaing React to create any type of graph, not only HTML, is actually an awesome idea

  • @dshappir
    @dshappir 3 หลายเดือนก่อน +11

    It's always worthwhile remembering that React JSX nesting is just functional composition.

  • @cherubin7th
    @cherubin7th 3 หลายเดือนก่อน +15

    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.

  • @James.Engineer
    @James.Engineer 3 หลายเดือนก่อน +9

    Amazing open source idea!

  • @joshbedo8291
    @joshbedo8291 3 หลายเดือนก่อน +8

    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 3 หลายเดือนก่อน +4

    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.

  • @wlockuz4467
    @wlockuz4467 3 หลายเดือนก่อน +14

    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 3 หลายเดือนก่อน +5

      I mean this is about reinventing the same thing, the novelty is that it's built with React.

    • @wlockuz4467
      @wlockuz4467 3 หลายเดือนก่อน

      @@SteelSkin667 I was mainly talking about how JS frameworks have been lately lol

  • @tanvirhasan4912
    @tanvirhasan4912 3 หลายเดือนก่อน +17

    Nintendo would arm themselves with lawyers to go after 8 year olds pirating pokemon.

  • @rotoozeki
    @rotoozeki 2 หลายเดือนก่อน

    Clear explanation👏 Didn’t understand everything cuz I’m not familiar with coding but I was enjoyed hearing your explanation.

  • @Hapkumdo
    @Hapkumdo 3 หลายเดือนก่อน +26

    Drei is german for Three - the more you know.... xD

    • @tangrumser8984
      @tangrumser8984 3 หลายเดือนก่อน +18

      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 3 หลายเดือนก่อน +7

      "zsuständ" xd

    • @EvanEdrok
      @EvanEdrok 3 หลายเดือนก่อน +1

      So it’s react-three-three?

    • @minhuang8848
      @minhuang8848 3 หลายเดือนก่อน +1

      @@tangrumser8984 thank God he showed the word, I would never in a million years made the leap
      susstend

  • @mieszkogulinski168
    @mieszkogulinski168 3 หลายเดือนก่อน +1

    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

  • @mcgjk
    @mcgjk 3 หลายเดือนก่อน +1

    What VSCode theme is that? It looks nice :)

  • @FrostsorrowGaming
    @FrostsorrowGaming 3 หลายเดือนก่อน +1

    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 3 หลายเดือนก่อน +2

    Nintendo should be proud of this fan as he made mario kart for the browser

  • @user-vo1wt7hj1w
    @user-vo1wt7hj1w 3 หลายเดือนก่อน +1

    What's your VS code setup? Can you share? It's neat and I like it.

  • @apptsx
    @apptsx 3 หลายเดือนก่อน

    What font does theo uses in VSCODE? 3:40

  • @geralddd.g
    @geralddd.g 3 หลายเดือนก่อน +1

    What theme are you using on vs code?

    • @xtanion
      @xtanion 3 หลายเดือนก่อน

      ++

  • @AndersonMancini
    @AndersonMancini 3 หลายเดือนก่อน

    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.

  • @igoralmeida9136
    @igoralmeida9136 3 หลายเดือนก่อน +4

    does this use WebGL or WebGPU?

  • @idoblenderstuffs
    @idoblenderstuffs 2 หลายเดือนก่อน +1

    the link on it is broken and i cant seem to find an upload of it

  • @ElLevidente
    @ElLevidente 3 หลายเดือนก่อน +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

  • @ewwitsantonio
    @ewwitsantonio 3 หลายเดือนก่อน

    I love R3F. Working on a few R3F jobs right now. Super fun to work with.

  • @Roboprogs
    @Roboprogs 3 หลายเดือนก่อน +1

    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 3 หลายเดือนก่อน

      I always thought of them more like complicated switch statements. But yeah, "if" is probably a better mental model.

  • @Meaticus22
    @Meaticus22 3 หลายเดือนก่อน

    Newb question: How did you get the react program to run via terminal and not browser?

    • @mieszkogulinski168
      @mieszkogulinski168 3 หลายเดือนก่อน

      There's a library named Ink that allows using React to build CLIs

    • @Meaticus22
      @Meaticus22 3 หลายเดือนก่อน

      thank u@@mieszkogulinski168

    • @Meaticus22
      @Meaticus22 3 หลายเดือนก่อน

      wait but how did he get the mario kart program to run via terminal instead of the browser? @@mieszkogulinski168

  • @seeibe
    @seeibe 3 หลายเดือนก่อน

    What incredible timing for this video 😂

  • @ricky2629
    @ricky2629 3 หลายเดือนก่อน +5

    Could something like this get used with Electron to make it behave more like a game with it's standalone executable?

    • @mattmmilli8287
      @mattmmilli8287 3 หลายเดือนก่อน +3

      Yes. Many 2D games on steam are really headless browser games

  • @fayenotfaye
    @fayenotfaye 3 หลายเดือนก่อน

    Which browser do you use

  • @BennyS6502
    @BennyS6502 3 หลายเดือนก่อน +1

    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...

  • @EEBDivyanshgupta
    @EEBDivyanshgupta 3 หลายเดือนก่อน +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!!!!

  • @jerondiovis6128
    @jerondiovis6128 3 หลายเดือนก่อน +15

    Is this guy already in jail because Nintendo lawyers saw this?

  • @tormado
    @tormado 2 หลายเดือนก่อน

    OH GOD IT'S ALL COMING TOGETHER 🤯

  • @hgeldenhuys
    @hgeldenhuys 3 หลายเดือนก่อน

    This is super cool

  • @theavazov
    @theavazov 3 หลายเดือนก่อน

    I like the idea of recreating the most lovely games from our childhood, good thing is on browser)

  • @KnOtoUt
    @KnOtoUt 3 หลายเดือนก่อน

    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

  • @chrislanejones
    @chrislanejones 3 หลายเดือนก่อน

    I am in the process of learing Three.js, this is great, I wonder if they used Spline library to create it.

  • @haifarn7351
    @haifarn7351 3 หลายเดือนก่อน

    what os does he use?

  • @LajosHarangi
    @LajosHarangi 3 หลายเดือนก่อน +2

    Nintendo's lawyers are writing the DMCA as we speak.

  • @usame.cetinkaya
    @usame.cetinkaya 3 หลายเดือนก่อน

    It's important for children to know how the physics works. Well said.

  • @lancemarchetti8673
    @lancemarchetti8673 3 หลายเดือนก่อน

    Very cool!

  • @rollinOnCode
    @rollinOnCode 3 หลายเดือนก่อน

    that is hilariously awesome

  • @ifscho
    @ifscho 3 หลายเดือนก่อน

    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.)

  • @TheMASTERshadows
    @TheMASTERshadows 3 หลายเดือนก่อน +13

    Now do it with htmx

  • @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.

  • @DeusEx3
    @DeusEx3 2 หลายเดือนก่อน +1

    Yes, Nintendo, this video right here.

  • @aeronwolfe7072
    @aeronwolfe7072 3 หลายเดือนก่อน

    SO cool

  • @AnnasVirtual
    @AnnasVirtual 3 หลายเดือนก่อน +1

    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 3 หลายเดือนก่อน +1

      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.

  • @finn3163
    @finn3163 2 หลายเดือนก่อน +1

    btw "zustand" translates to state from German, so that might make it a little more clear to understand

  • @tvwithtiffani
    @tvwithtiffani หลายเดือนก่อน

    I can attest to Zustand being a good react state library to work with. increases confidence.

  • @Nekroido
    @Nekroido 3 หลายเดือนก่อน +3

    Nintendo's nukes the project in 3... 2... 1...

  • @benheidemann3836
    @benheidemann3836 3 หลายเดือนก่อน

    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?

  • @randerins
    @randerins 3 หลายเดือนก่อน +1

    Oh nice, just like playing it on Yuzu 🙂

  • @shafiq_ramli
    @shafiq_ramli 3 หลายเดือนก่อน +2

    JS ftw 🎉

  • @ua420
    @ua420 3 หลายเดือนก่อน

    ❤Amazing🎉

  • @chuschuschus
    @chuschuschus 3 หลายเดือนก่อน

    Did you ditch zed?

  • @hjewkes
    @hjewkes 3 หลายเดือนก่อน

    Damn I just expected this to be an emscripten recompile

  • @pencilcheck
    @pencilcheck 3 หลายเดือนก่อน

    Cool

  • @aleksd286
    @aleksd286 3 หลายเดือนก่อน +1

    So we all just became game developers overnight

  • @Gahlfe123
    @Gahlfe123 3 หลายเดือนก่อน

    i fucking love this

  • @Oscaragious
    @Oscaragious 3 หลายเดือนก่อน

    Does this make React a game engine?

  • @Destide
    @Destide 2 หลายเดือนก่อน

    RIP the dev enjoy the Donkey Kong themed salt mines

  • @abdelazizlaissaoui9079
    @abdelazizlaissaoui9079 3 หลายเดือนก่อน

    a good example to use react instead of htmx

  • @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.

  • @pwall
    @pwall 3 หลายเดือนก่อน

    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.

  • @UnitCodesChannel
    @UnitCodesChannel 3 หลายเดือนก่อน

    Nintendo right now: Call The Lawyers

  • @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.

  • @netking767
    @netking767 3 หลายเดือนก่อน

    #wow!

  • @tehArgento
    @tehArgento 3 หลายเดือนก่อน +1

    Well, everybody fork it before it gets taken down XD

  • @totalpr0st
    @totalpr0st 3 หลายเดือนก่อน +1

    zustand es heißt ZUSTAND.. good video and very cool project tho

  • @anurag476
    @anurag476 3 หลายเดือนก่อน +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

  • @sayakghosh9247
    @sayakghosh9247 3 หลายเดือนก่อน

    Nintento Legal team gonna be all over it now :)

  • @UnitCodesChannel
    @UnitCodesChannel 3 หลายเดือนก่อน

    Nintendo: Hold my Lawsuit

  • @DevGio
    @DevGio 2 หลายเดือนก่อน

    "Devin, make Mario Kart 9 from Threejs and Reactjs"

  • @pauloeduardo1461
    @pauloeduardo1461 3 หลายเดือนก่อน

    In Bowser!

  • @marcpanther8515
    @marcpanther8515 3 หลายเดือนก่อน

    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.

  • @ParthaSarathylink
    @ParthaSarathylink 3 หลายเดือนก่อน

    Incoming ninento lawyers in 3..2..

  • @shujaa
    @shujaa 3 หลายเดือนก่อน

    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.

  • @lost-prototype
    @lost-prototype 3 หลายเดือนก่อน

    Oddly inspiring! React devs have a cozy option for tinkering with their game ideas!

  • @MrSongib
    @MrSongib หลายเดือนก่อน

    Better than Roller coaster Excel. xd

  • @IHighscoredYourGirl
    @IHighscoredYourGirl 2 หลายเดือนก่อน +1

    Let's talk after you've added collision detection

  • @im9yro178
    @im9yro178 3 หลายเดือนก่อน +1

    2050 : react phone

  • @LiberaMeFromH
    @LiberaMeFromH 3 หลายเดือนก่อน

    Nintendo getting ready to lawyer up

  • @LanceBryantGrigg
    @LanceBryantGrigg 3 หลายเดือนก่อน

    This is legit proof that eventually everything will be written with Javascript.

  • @abui6914
    @abui6914 3 หลายเดือนก่อน

    bet you can build time travel machine using react in future

  • @patrickdevaney3361
    @patrickdevaney3361 3 หลายเดือนก่อน

    This is really cool. But I think it would be more practical to do Rust and WASM for a browser game.

  • @MaisieSqueak
    @MaisieSqueak 2 หลายเดือนก่อน

    Well I'm sure this with do wonders for Nintendo's already smashed street cred.
    Going for the low hanging fruit I guess.

  • @Fanaro
    @Fanaro 3 หลายเดือนก่อน

    Imagine this in SolidJS...

    • @neociber24
      @neociber24 3 หลายเดือนก่อน +3

      Is using the canvas, I don't think it will make much different

  • @kyanhluong
    @kyanhluong 2 หลายเดือนก่อน

    Great job
    Now quick !, archive this page

  • @wlockuz4467
    @wlockuz4467 3 หลายเดือนก่อน

    I can't wait until people optimize the heck out of it.

  • @IanBoyte
    @IanBoyte 3 หลายเดือนก่อน

    In browser? More like Bowser.

  • @AScribblingTurtle
    @AScribblingTurtle 3 หลายเดือนก่อน +3

    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.