I Tried Making an FPS Game in JavaScript

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

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

  • @simondev758
    @simondev758  2 года назад +47

    Everything in the video, the effects, even the graphs and animations, were all done with GLSL shaders. Learn how to do them yourself with my course: simondev.teachable.com/p/glsl-shaders-from-scratch
    Support me on Patreon: www.patreon.com/simondevyt

    • @crowbr
      @crowbr 2 года назад +1

      nice!

    • @c0nsumption
      @c0nsumption 2 года назад +2

      Would you be willing to make a course around this? I’m interested in the GLSL course as well but crafting all this FPS project with an in-depth tutorial is most def something in extremely interested in. Willing to pay and all.
      You’re literally the only person I’m finding whose documenting three.JS experiments this in depth 🥺

    • @simondev758
      @simondev758  2 года назад +7

      @@c0nsumption Yep, really depends on interest. I'd be happy to make a multi-hour version available.

    • @c0nsumption
      @c0nsumption 2 года назад +1

      @@simondev758 👏🏽 awesome. If you end up going for it please make an announcement as I’m for sure signing up!!!

    • @thechanglongwang
      @thechanglongwang 2 года назад

      voice sounds like text to speech

  • @Retrofire-47
    @Retrofire-47 2 года назад +496

    this guy makes me feel like the label "beginner" is far too generous for my current skill level

    • @socio637
      @socio637 2 года назад +29

      yeah hes a wizard. dont be dejected though, you could be too

    • @somefin3322
      @somefin3322 2 года назад +29

      Do be reminded that this is probably all in many days of work, we don't see his actual process of studying to get something working. We see the process of it WORKING, not fully being worked on.

  • @programmingjobesch7291
    @programmingjobesch7291 Год назад +38

    You have me fully convinced I can build a "quicky" game engine from scratch in javascript to rival unreal- and I just learned how arrays work...😂

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

    This is one of the few of the most impressive game design videos I've ever seen! Please, carry on! You. Are. Amazing!

  • @SuperPicolin0
    @SuperPicolin0 2 года назад +123

    I'm amazed once again, why are you making this look so easy, like others mentioned, I would definitely pay for a detailed course on all this with threejs. Do I have to separately learn game development and threejs because the info on making games with three is very limited?

    • @simondev758
      @simondev758  2 года назад +24

      Possibly. Game development is it's own thing, and three.js is a nice little 3d graphics library, but if you have 3d experience, then learning three.js specifically isn't required.

    • @SuperPicolin0
      @SuperPicolin0 2 года назад +14

      @@simondev758 I almost figured from the wiki pages you're looking up sometimes, I should leave threejs alone for a bit and focus on actual game dev concepts first, thank you for replying and the good content you're creating for us.

    • @Desopolis
      @Desopolis 2 года назад +6

      I’d say use a more solid, game focused engine for a bit to learn and understand the fundamentals.
      It’s like learning to be a racing driver…
      you can go out and get a focused team and pre-built car and focus on driving, or you can buy a kit car online and build it in your garage..
      Threejs serves a super wide set of use cases, so i needs to be a flexible as possible, where a game engine knows a lot of the core requirements before you’ve even start.
      I’d push yourself beyond any cordless game ends, “gamemaker” type things, and try at least Unity.
      If you want a less intense engine there’s stuff like Godot (which has more code requirements)
      There are good web based game engines too, Pixi and phaser will make EXCELENT 2d games and have a strong legacy and community.
      For 3D there’s PlayCanvas which is a game engine built on three, it does a lot of the heavy lifting for you but I’m not sure how I feel about it yet..
      Lastly there’s BabylonJS which wasn’t burdened by all the outdated shit three has so support and is honestly a pretty great rendering engine.
      They have an excellent Node system and a good community, although pretty isolated from the rest of the JS world…
      TLDR: get Unity, buy the stuff you can’t figure out, and go deeper on game #2, or 3 or 4 etc…

    • @werrutkyupnext
      @werrutkyupnext 2 года назад

      damn I wanna learn javascript this is like really really hard?

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

      @@werrutkyupnext how is it going?

  • @baguette2652
    @baguette2652 2 года назад +9

    Ever since I discovered your channel, I became super motivated by your creations. Thank you for bringing such awesome content to us! 🔥

  • @ViciousViscount
    @ViciousViscount 2 года назад +4

    That's pretty much Quake III Arena. I LOVE it.

  • @jchaloupka007
    @jchaloupka007 2 года назад +5

    Damn, that’s amazing, love it!

  • @crowbr
    @crowbr 2 года назад +3

    Nice!! Amazing work, pls make a video about customize characters, like put armor or clothes in character.

  • @kosa-tv
    @kosa-tv 2 года назад +5

    Great idea dude. Like always, not disappointing content.

  • @unicornsteroids
    @unicornsteroids 2 года назад +5

    The shaders on this video makes your course my next purchase.
    Amazing video!

  • @NaiyoGames
    @NaiyoGames 2 года назад +5

    Everything sucks event me. *proceeds to create a masterpiece.*

  • @kasali2739
    @kasali2739 2 года назад +6

    impressiv!
    Those spiders brought me to fresh idea for next tutorial, how is about coding on skeletal meshes? (procedural animation, equipment using local matrices of bones for position etc.)
    This thing can be found for unity but there is nothing for threjs out there

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

    bro my ass is still making black scenes with cubes 💀

  • @TurtleFul
    @TurtleFul 2 года назад +5

    Love your videos! Keep up the good work. Your experements are always interesting to watch.
    I would love to see a video about the performance difference between a JS/web based game like this and an in engine one like in Gdot or Unity.

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

    Tip of the hat top you, truly. well done. you truly are a great online tutor.

  • @PotatoGodzilla
    @PotatoGodzilla 2 года назад +3

    I love those three js videos keep it up dude you're awesome! :)

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

    I was quite hesitant on the artistic choice of placing random bleak large blocks on the map until you added those effects, dang those were cool!

  • @chamonmath7688
    @chamonmath7688 2 года назад +2

    Simon dev always has great explanation while going through his process, and I always get a good laugh at some of his dialogue. Lol, stay awesome

  • @swoorp
    @swoorp 2 года назад +4

    Yay it's finally out!

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

    Woowww, this looks amazing 😍! Wish I had those skills or at least half of them 😅 - you make complicated things look so easy

  • @Di4Fourr
    @Di4Fourr 2 года назад +2

    hanks lot Sir.. You helping us..

  • @oaksBFL
    @oaksBFL 2 года назад +2

    This tutorial is amazing and you are really good at teaching !! great job sir !

    • @oaksBFL
      @oaksBFL 2 года назад +1

      hackers in my acc i did not comment this sorry bro

  • @KamranWali
    @KamranWali 2 года назад +4

    This is super kool. Really like how you made the game and never knew using Javascript and Browser would give such detailed game. The movement looks good. The shader is spot on. Also the UI are on point. This looks like a really good game. keep it up! :)

  • @LuisCassih
    @LuisCassih 2 года назад +1

    Every time you do something it's like those Minecraft videos when they said "I did some mining off camera" and comes with an entirely new scene.
    Anyways, amazing video, I would like to see a more detail explanation on the skybox, looks really good.

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

    I would title the video “I Tried Making an FPS Game in Java script”

  • @loun.exXe3
    @loun.exXe3 2 года назад +2

    Awesome video! Thank you!

  • @danser_theplayer01
    @danser_theplayer01 8 дней назад

    This dude made a first person viewed 3d scene in javascript AT THE VERY BEGINNING and called it *easy.*

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

    Im going to point out and draw focus to how he canadianly says deckulls for decals... only because im jealous of how casual he makes this whole thing feel.. for real though I love watching your dev progress it's next level

  • @martinemanuel8239
    @martinemanuel8239 2 года назад +3

    It's f#$- awesome!!!

  • @ionutrosca6326
    @ionutrosca6326 2 года назад +2

    TNice tutorials comnt from you is legendary. Uncomplicated like your video!!!

  • @Mohta69
    @Mohta69 2 года назад +3

    That's dope dude

  • @giorgijankhoteli5803
    @giorgijankhoteli5803 2 года назад +1

    damn that sky looks so amazing great job with that

  • @GregoryTheGr8ster
    @GregoryTheGr8ster 2 года назад +2

    Also, I really dig your tutorials. The only downside is that I learn how far behind I am in algorithms and whatnot. That has been my problem in game development since I started.

    • @simondev758
      @simondev758  2 года назад

      Game development takes a lonngggg time to because of the breadth of knowledge required. The nice thing is, it makes it fun to learn all of it.

    • @GregoryTheGr8ster
      @GregoryTheGr8ster 2 года назад

      @@simondev758 Oh yes, modern 3D games are so much more complex than when I first started in 1989. Those games are now known as "pixel art" games. How funny!

    • @GregoryTheGr8ster
      @GregoryTheGr8ster 2 года назад

      @@simondev758 Also, did you ever see Ultima Underworld? It was the first.

  • @IxZOMBxI
    @IxZOMBxI 2 года назад +1

    You are very good at explaining things. keep it up thank u

  • @amestresys9175
    @amestresys9175 2 года назад +2

    WHAAAT A SKILL ... incredible

  • @cyrusguest4975
    @cyrusguest4975 2 года назад +3

    the way you pronounced decal makes me want to cry

  • @d0c_dev
    @d0c_dev 2 года назад +3

    Wow you make this look easy even though it is not, got no idea how to write JS though

  • @cabelogold6687
    @cabelogold6687 2 года назад +2

    Very well explained!

  • @chonkydog6262
    @chonkydog6262 2 года назад +3

    Wow! This is so cool! I would love to use this codebase as a beginning for a multiplayer FPS game. Running around and destroying people online would be so cool

  • @nurazizalimustofa5087
    @nurazizalimustofa5087 2 года назад +1

    Thank you man for sharing this stuff

  • @Fallen_Ninja
    @Fallen_Ninja 2 года назад +2

    Missed you bro

  • @billcolak5253
    @billcolak5253 2 года назад +2

    absolutely unreal!

  • @TecnicalGamer35874
    @TecnicalGamer35874 2 года назад +2

    Will stay tuned to your channal! Cheers!

  • @nikkossta
    @nikkossta 2 года назад +1

    "I'm not a violent guy" "I used Doom Ethernal as inspiration". Nice

  • @bruniomhars
    @bruniomhars 2 года назад +3

    Man tNice tutorials is on of the best tutorial in general on youtube. Clear, simple, constant, good to listen. Thank you for sharing.

  • @WalmartVaxei
    @WalmartVaxei 2 года назад +2

    grandpa of gamedev

    • @simondev758
      @simondev758  2 года назад

      Aw man, I'm not that old yet.

  • @minayoussef5730
    @minayoussef5730 2 года назад +1

    works, keep up the good work man

  • @rodrigofernandes6449
    @rodrigofernandes6449 2 года назад +4

    Wow. Can you make a full tutorial on this?

  • @FaislQurishi
    @FaislQurishi 7 месяцев назад

    I still await the "I make a third person shooter" lol, miss your videos Simon hope life isnt getting too busy

  • @TheAwesomeTrunk
    @TheAwesomeTrunk 2 года назад +2

    How cool! Good job.

  • @atharvkumar2564
    @atharvkumar2564 2 года назад +2

    It's cool as hell

  • @cmcdonough2
    @cmcdonough2 2 года назад +1

    Amazing content. Thanks for sharing your knowledge.

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

    Incredible

  • @andrewallbright
    @andrewallbright 2 года назад +2

    Finite state machines... The every man's crude game entity AI.

  • @mulualemtekle6094
    @mulualemtekle6094 2 года назад +2

    much respect as always, :)

  • @davidmurphy563
    @davidmurphy563 2 года назад +11

    Ok, that was really impressive. JS did a surprisingly good job. Maybe I shouldn't be so mean to it all the time.

    • @Retrofire-47
      @Retrofire-47 2 года назад +2

      everyone knocks JavaScript for no reason... js can literally create Skyrim... if you had an overzealous game dev at the helm

    • @TopBagon
      @TopBagon 2 года назад +4

      @@Retrofire-47 so can assembly. it's just not a great choice

    • @Retrofire-47
      @Retrofire-47 2 года назад +3

      @@TopBagon What would be your suggestion for "high-production web" game development? WebGL/WebGPU, Canvas, something else entirely? Or do you just dislike the entire JavaScript language for game dev?

    • @TopBagon
      @TopBagon 2 года назад +3

      @@Retrofire-47 nah I think JS (or TS in particular) can be great for 2D web game development but it's way better to create 3D games in unity/ue5

  • @Skeffles
    @Skeffles 2 года назад +1

    Looks fantastic!

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

    How did you go from having a single main.js file handling mostly everything in the first two minutes, then suddenly have an entire tree of controllers and stuff like that !?!?

  • @yresze2885
    @yresze2885 2 года назад +2

    So perfect

  • @tutosrive
    @tutosrive 2 года назад +1

    thank you so much , it worked

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

    "The nice thing about JS is that I can do this all in HTML and CSS" - says noone and never :D

  • @MegalithicEnt
    @MegalithicEnt 2 года назад +1

    NICE!

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

    With javascript you can make an online multiplayer , since it's for the web ,I'm sure it would be like a native language for such workload . Cool tutorial though!

  • @godbibo
    @godbibo 2 года назад +2

    wow what a nice video !

  • @Variapolis
    @Variapolis 2 года назад +5

    More and more engines and frameworks for games seem to be slowly moving to CSS and HTML for UI. It's pretty neat IMO.
    Some examples include:
    CS:GO
    Source 2 Engine
    Unity's Upcoming UI Toolkit (UXML)
    S&Box
    Escape from Tarkov

  • @eftifeev
    @eftifeev 2 года назад +2

    very good

  • @drawmaster77
    @drawmaster77 2 года назад +1

    incredible.

  • @spaceymen
    @spaceymen 2 года назад +1

    Excellent stuff

  • @robertocarlosfarfansanchez6111
    @robertocarlosfarfansanchez6111 2 года назад

    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.

  • @VirSpectabilis
    @VirSpectabilis 11 месяцев назад

    "The doc suck, the example suck, everythings sucks..." Haha) This is how I felt when I was working with React Native)

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

    You just earned a sub Could you make a tutorial or share the code??

  • @baoleizhao4614
    @baoleizhao4614 2 года назад +1

    amazing

  • @rizoscreativosofficial8
    @rizoscreativosofficial8 2 года назад +1

    It's just awesome

  • @realfl495
    @realfl495 8 месяцев назад

    Let's do a game in javascript
    >proceeds to write shader code

  • @LikezYou
    @LikezYou 2 года назад +1

    Love your videos, keep it up! :D

  • @zxc3387
    @zxc3387 2 года назад +2

    It's so cool, dude!
    Looking forward to the source code for educational purposes.

  • @Nubbley
    @Nubbley 2 года назад +1

    im sooo thankful for blueprints lol.

    • @simondev758
      @simondev758  2 года назад +1

      I dabbled in UE4 a bit. Blueprints are nice but man it takes forever to do anything with them.

  • @oxygen_uz
    @oxygen_uz 2 года назад +2

    Please make this game multiplayer or online

  • @SchweinchenHorst
    @SchweinchenHorst 8 месяцев назад +1

    Wow!

  • @AX-fedy
    @AX-fedy 2 года назад +1

    so sNice tutorialt like that

  • @g_a_b_b_o-gabbopower5134
    @g_a_b_b_o-gabbopower5134 2 года назад

    willing to learn. Unless you already understand setups, then I gues sit's gonna be easier, but as a classically trained pianist I was blown

  • @Okyo01
    @Okyo01 2 года назад +1

    thank u helped me a lot

  • @danielfirminovillaverde7794
    @danielfirminovillaverde7794 2 года назад +1

    Works good, tnx

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

    You probably get this all the time but…… You did a great job for JavaScript mate well done 5⭐️

  • @robertonome2448
    @robertonome2448 2 года назад +2

    you sound like Saul Goodman if he was a gamedev

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

    Great video as usual!
    Have you tried Rapier and React-three-fiber?

  • @wesleytiago4121
    @wesleytiago4121 2 года назад

    Worked smoothly, tysm

  • @rajsonu3156
    @rajsonu3156 2 года назад

    Oh.. these are really good

  • @julianeprado9691
    @julianeprado9691 2 года назад

    I hope you post a video with all the adobe cracks. As always, you are the best, the crack works great

  • @primestryker
    @primestryker 2 года назад

    ITS WORK, its really helpful

  • @Alice_Longinuse
    @Alice_Longinuse 2 года назад +2

    Have you try webgpu ? You should make video about it !

    • @simondev758
      @simondev758  2 года назад +1

      Yeah it's 100% on my list :)

  • @mikaelprevitera9552
    @mikaelprevitera9552 2 года назад

    this is going to be great!

  • @FPdesignfab
    @FPdesignfab 2 года назад

    Awesome. Can you do this with a Rally Car Racing game? Where the player can actually control 4 wheel drive power slides around corners?

  • @GregoryTheGr8ster
    @GregoryTheGr8ster 2 года назад +2

    To be a true FPS, it's godda have a *shotgun*

    • @simondev758
      @simondev758  2 года назад

      I really missed an opportunity there.

  • @goncalopereira1456
    @goncalopereira1456 2 года назад +1

    Mind blown by the way you make 3d game dev look easy when it is not. Could you please share the github repo so I can try to make it multiplayer with websockets? Thank you so very much!!

    • @simondev758
      @simondev758  2 года назад +2

      I've just gotta remember to clean it up a bit and it'll be up on github.

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

    You deserve much more recognition. Great video

  • @wirten69
    @wirten69 2 года назад

    working fine thank you

  • @Desopolis
    @Desopolis 2 года назад +1

    Can’t wait to see the code, your first person player controller has evolved into probably the best around so I actually gasped when you said you started from scratch instead of copy pasting your old world like in other videos…

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

    Great video. You mentioned sharing the repo on twitter? Either I'm looking at the wrong twitter post or it wasn't there. Would you mind sharing a link?