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

Поделиться
HTML-код
  • Опубликовано: 26 авг 2024

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

  • @z_0968
    @z_0968 6 месяцев назад +1138

    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 6 месяцев назад +124

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

    • @1234minecraft5678
      @1234minecraft5678 6 месяцев назад +7

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

    • @BooleanDev
      @BooleanDev 6 месяцев назад +24

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

    • @eveykhan
      @eveykhan 6 месяцев назад +10

      Palrio Kart 🤝

    • @ermilburn02
      @ermilburn02 6 месяцев назад +7

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

  • @anttihilja
    @anttihilja 6 месяцев назад +363

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

    • @gilgamesh9735
      @gilgamesh9735 6 месяцев назад +12

      *Flutter

    • @anttihilja
      @anttihilja 5 месяцев назад +1

      @toparamennoodles9652 Shut up, Remix is great

    • @wlockuz4467
      @wlockuz4467 5 месяцев назад +1

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

  • @spageen
    @spageen 6 месяцев назад +477

    Can react fix my broken marriage?

    • @t3dotgg
      @t3dotgg  6 месяцев назад +236

      Only if it can render to canvas

    • @svict4
      @svict4 6 месяцев назад +114

      Render me like one of your french girls

    • @erifetim
      @erifetim 6 месяцев назад +17

      Can you try to hot reload?

    • @boomshakalaka656
      @boomshakalaka656 6 месяцев назад +4

      Yes the compiler can

    • @jaspreetmaan121
      @jaspreetmaan121 6 месяцев назад +26

      Maybe your component didn't mount

  • @mohammadalrefaai4377
    @mohammadalrefaai4377 6 месяцев назад +159

    After 10y, React for quantum physics

  • @DaffyDuckTheWizzard
    @DaffyDuckTheWizzard 6 месяцев назад +44

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

    • @seeibe
      @seeibe 6 месяцев назад +2

      Wasn't that the .io games?

    • @ADarnSmore
      @ADarnSmore 5 месяцев назад +7

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

    • @Raidar29
      @Raidar29 5 месяцев назад

      @@ADarnSmore why is this worse?

  • @seb4690
    @seb4690 6 месяцев назад +54

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

  • @shomriddhosworld5587
    @shomriddhosworld5587 6 месяцев назад +106

    After 20y, A Os Built With React

    • @t3dotgg
      @t3dotgg  6 месяцев назад +41

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

    • @VivekYadav-ds8oz
      @VivekYadav-ds8oz 6 месяцев назад +1

      ​@@t3dotggW H A T

    • @xetera
      @xetera 6 месяцев назад +7

      Hey reactOS technically already exists

    • @lordbeerus9532
      @lordbeerus9532 6 месяцев назад +2

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

    • @user-gs3lm7gt5e
      @user-gs3lm7gt5e 6 месяцев назад +6

      m.ruclips.net/video/JLgsiOKhz9Q/видео.html
      This guy is a genius

  • @johnmagbag2711
    @johnmagbag2711 6 месяцев назад +186

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

    • @IHighscoredYourGirl
      @IHighscoredYourGirl 5 месяцев назад +13

      Don't worry, you won't

    • @Iamfafafel
      @Iamfafafel 5 месяцев назад

      @@IHighscoredYourGirl 😂

    • @J3R3MI6
      @J3R3MI6 5 месяцев назад +2

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

  • @ivanrenescorcia
    @ivanrenescorcia 6 месяцев назад +36

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

  • @alskidan
    @alskidan 6 месяцев назад +17

    I adore watching JS developers rediscovering scene graphs :-D

    • @mieszkogulinski168
      @mieszkogulinski168 5 месяцев назад

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

  • @dshappir
    @dshappir 6 месяцев назад +11

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

  • @cherubin7th
    @cherubin7th 6 месяцев назад +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.

  • @KaroLiul
    @KaroLiul 6 месяцев назад +10

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

  • @joshbedo8291
    @joshbedo8291 6 месяцев назад +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 6 месяцев назад +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.

  • @Hapkumdo
    @Hapkumdo 6 месяцев назад +26

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

    • @tangrumser
      @tangrumser 6 месяцев назад +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 6 месяцев назад +7

      "zsuständ" xd

    • @EvanEdrok
      @EvanEdrok 6 месяцев назад +1

      So it’s react-three-three?

    • @minhuang8848
      @minhuang8848 5 месяцев назад +1

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

  • @tanvirhasan4912
    @tanvirhasan4912 6 месяцев назад +17

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

  • @wlockuz4467
    @wlockuz4467 6 месяцев назад +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 6 месяцев назад +5

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

    • @wlockuz4467
      @wlockuz4467 5 месяцев назад

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

  • @James.Engineer
    @James.Engineer 6 месяцев назад +9

    Amazing open source idea!

  • @mieszkogulinski168
    @mieszkogulinski168 5 месяцев назад +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

  • @user-rp7nt1gi2i
    @user-rp7nt1gi2i 6 месяцев назад +2

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

  • @jerondiovis6128
    @jerondiovis6128 6 месяцев назад +15

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

  • @AndersonMancini
    @AndersonMancini 5 месяцев назад +1

    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.

  • @LajosHarangi
    @LajosHarangi 6 месяцев назад +2

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

  • @Roboprogs
    @Roboprogs 6 месяцев назад +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 5 месяцев назад

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

  • @ElLevidente
    @ElLevidente 6 месяцев назад +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

  • @FrostsorrowGaming
    @FrostsorrowGaming 6 месяцев назад +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.

  • @TheMASTERshadows
    @TheMASTERshadows 6 месяцев назад +13

    Now do it with htmx

  • @BennyS6502
    @BennyS6502 6 месяцев назад +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...

  • @DeusEx3
    @DeusEx3 5 месяцев назад +1

    Yes, Nintendo, this video right here.

  • @theavazov
    @theavazov 5 месяцев назад

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

  • @EEBDivyanshgupta
    @EEBDivyanshgupta 6 месяцев назад +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!!!!

  • @Nekroido
    @Nekroido 6 месяцев назад +3

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

  • @ricky2629
    @ricky2629 6 месяцев назад +5

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

    • @mattmmilli8287
      @mattmmilli8287 6 месяцев назад +3

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

  • @callibor3119
    @callibor3119 5 месяцев назад

    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.

  • @tormado
    @tormado 5 месяцев назад

    OH GOD IT'S ALL COMING TOGETHER 🤯

  • @tvwithtiffani
    @tvwithtiffani 4 месяца назад

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

  • @Destide
    @Destide 5 месяцев назад

    RIP the dev enjoy the Donkey Kong themed salt mines

  • @rotoozeki
    @rotoozeki 5 месяцев назад

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

  • @usame.cetinkaya
    @usame.cetinkaya 6 месяцев назад

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

  • @igoralmeida9136
    @igoralmeida9136 6 месяцев назад +4

    does this use WebGL or WebGPU?

  • @finn3163
    @finn3163 5 месяцев назад +1

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

  • @seeibe
    @seeibe 6 месяцев назад

    What incredible timing for this video 😂

  • @randerins
    @randerins 5 месяцев назад +1

    Oh nice, just like playing it on Yuzu 🙂

  • @UnitCodesChannel
    @UnitCodesChannel 5 месяцев назад

    Nintendo right now: Call The Lawyers

  • @tehArgento
    @tehArgento 5 месяцев назад +1

    Well, everybody fork it before it gets taken down XD

  • @user-vo1wt7hj1w
    @user-vo1wt7hj1w 5 месяцев назад +1

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

  • @gsayak
    @gsayak 5 месяцев назад

    Nintento Legal team gonna be all over it now :)

  • @shafiq_ramli
    @shafiq_ramli 6 месяцев назад +2

    JS ftw 🎉

  • @ewwitsantonio
    @ewwitsantonio 6 месяцев назад

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

  • @UnitCodesChannel
    @UnitCodesChannel 5 месяцев назад

    Nintendo: Hold my Lawsuit

  • @callibor3119
    @callibor3119 5 месяцев назад

    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.

  • @aleksd286
    @aleksd286 6 месяцев назад +1

    So we all just became game developers overnight

  • @LanceBryantGrigg
    @LanceBryantGrigg 5 месяцев назад

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

  • @DevGio
    @DevGio 5 месяцев назад

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

  • @hjewkes
    @hjewkes 5 месяцев назад

    Damn I just expected this to be an emscripten recompile

  • @totalpr0st
    @totalpr0st 6 месяцев назад +1

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

  • @anurag476
    @anurag476 6 месяцев назад +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

  • @user-uc5ow2rd9o
    @user-uc5ow2rd9o 6 месяцев назад

    can't wait to nintendo lawyers to sue all of the development team

  • @mcgjk
    @mcgjk 6 месяцев назад +1

    What VSCode theme is that? It looks nice :)

  • @IHighscoredYourGirl
    @IHighscoredYourGirl 5 месяцев назад +1

    Let's talk after you've added collision detection

  • @AnnasVirtual
    @AnnasVirtual 6 месяцев назад +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 6 месяцев назад +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.

  • @STaSHZILLA420
    @STaSHZILLA420 5 месяцев назад

    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.

  • @ParthaSarathylink
    @ParthaSarathylink 6 месяцев назад

    Incoming ninento lawyers in 3..2..

  • @rollinOnCode
    @rollinOnCode 6 месяцев назад

    that is hilariously awesome

  • @geralddd.g
    @geralddd.g 6 месяцев назад +1

    What theme are you using on vs code?

    • @xtanion
      @xtanion 5 месяцев назад

      ++

  • @wlockuz4467
    @wlockuz4467 5 месяцев назад

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

  • @benheidemann3836
    @benheidemann3836 6 месяцев назад

    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?

  • @AScribblingTurtle
    @AScribblingTurtle 6 месяцев назад +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.

  • @anonymouscommentator
    @anonymouscommentator 6 месяцев назад +4

    sorry im not a web dev and dont know react so probably im missing something but why is building a simple car game impressive? they have existed for literally decades and game engines like unity can export your game into a web environment as well for ages now.

    • @Fupicat
      @Fupicat 6 месяцев назад +5

      It's just fun! Front end web dev and game dev are usually very different technology-wise, so using React, a tool primarily used for websites, to make a 3D game, is a fun way to showcase what's possible with the technology, while also giving web devs a little peep into game dev using a language and concepts they understand. It's like when people make Doom run on stuff it's not supposed to, because it's a fun challenge.

    • @anonymouscommentator
      @anonymouscommentator 6 месяцев назад +1

      @@Fupicat i see, thanks for the explanation :)

  • @im9yro178
    @im9yro178 6 месяцев назад +1

    2050 : react phone

  • @mistersunday_
    @mistersunday_ 6 месяцев назад

    This is super cool

  • @pauloeduardo1461
    @pauloeduardo1461 5 месяцев назад

    In Bowser!

  • @MrSongib
    @MrSongib 3 месяца назад

    Better than Roller coaster Excel. xd

  • @NullPasha
    @NullPasha 5 месяцев назад

    I love this, but my brain hurts

  • @KnOtoUt
    @KnOtoUt 6 месяцев назад

    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

  • @LiberaMeFromH
    @LiberaMeFromH 6 месяцев назад

    Nintendo getting ready to lawyer up

  • @adrianscarlett
    @adrianscarlett 5 месяцев назад

    Just wait untill you see wasm with webgpu in action.

  • @RobertFletcherOBE
    @RobertFletcherOBE 6 месяцев назад

    Nintendo wants to know your location.

  • @Kaczucha888
    @Kaczucha888 6 месяцев назад +3

    Defining game world using JSX is just dumb. You have duplicated this one box 3 more times and now you read them top to bottom and may expect that their order in JSX will accually have a meaning when in fact you just position them trough prop and JSX structure has nothing to do with that. Nesting? Cool. Structuring? Dumb. Lets stick with react for 2D UIs

  • @tvwithtiffani
    @tvwithtiffani 4 месяца назад

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

  • @deadcrypt
    @deadcrypt 5 месяцев назад

    New age of “flash” games?

  • @patrickdevaney3361
    @patrickdevaney3361 5 месяцев назад

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

  • @IanBoyte
    @IanBoyte 6 месяцев назад

    In browser? More like Bowser.

  • @MaisieSqueak
    @MaisieSqueak 5 месяцев назад

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

  • @abdelazizlaissaoui9079
    @abdelazizlaissaoui9079 6 месяцев назад

    a good example to use react instead of htmx

  • @rkgkjr
    @rkgkjr 5 месяцев назад +1

    TBH, as someone with a games industry background... I don't see what's particularly impressive about this demo? The guy ripped some models from the mobile Mario Kart Tour game and threw them into a 3D library and added some janky cart controls on top - this is the kind of thing that even beginner gamedev students could throw together in an afternoon using Unity.
    The only mildly interesting thing here is using react-three-fiber for scenegraph management, but any game project codebase inevitably ends up as a spaghetti hellhole and I feel like that would only be exacerbated by bringing JSX into the mix.

  • @lost-prototype
    @lost-prototype 5 месяцев назад

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

  • @chrislanejones
    @chrislanejones 6 месяцев назад

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

  • @lancemarchetti8673
    @lancemarchetti8673 6 месяцев назад

    Very cool!

  • @alegwartney1962
    @alegwartney1962 6 месяцев назад +1

    God I give it three weeks to dcma.

  • @apptsx
    @apptsx 5 месяцев назад

    What font does theo uses in VSCODE? 3:40

  • @abui6914
    @abui6914 5 месяцев назад

    bet you can build time travel machine using react in future

  • @insu_na
    @insu_na 5 месяцев назад

    inb4 the developer is found hanged with his own entrails and a nintendo-goon-shaped hole in his door

  • @kyanhluong
    @kyanhluong 5 месяцев назад

    Great job
    Now quick !, archive this page

  • @rocksalt636
    @rocksalt636 5 месяцев назад

    Problem with browser games is if you ever need to crouch (ctrl) and move forward (W), well…

  • @soniablanche5672
    @soniablanche5672 6 месяцев назад

    Theo is playing with fire by posting nintendo fan games

  • @Cohors1316
    @Cohors1316 6 месяцев назад

    Cloning this and backing up offline before it gets DMCAd to hell.

  • @fayenotfaye
    @fayenotfaye 5 месяцев назад

    Which browser do you use

  • @wayne8797
    @wayne8797 5 месяцев назад

    Nintendo take down notice in 3...2...1.... but this is cool af