Making my web game engine

Sdílet
Vložit
  • čas přidán 1. 03. 2021
  • someone free me from the javascript based hell
    TECH: TypeScript & WebGL
    TOOLS: Visual Studio Code, BFXR (www.bfxr.net), Tiled Map Editor (www.mapeditor.org)
    THEME: Gruvbox Material Dark
    MUSIC: Empty Road by [ocean jams] (from epidemicsound.com)
  • Věda a technologie

Komentáře • 394

  • @nopupils261
    @nopupils261 Před 3 lety +873

    Really like your style. I feel like a lot of people on youtube have fallen for this 'overediting' trend, where a thousand things are shown every single second to keep the viewer's attention. Your videos are chill, interesting, and absolutely hilarious in spite of not causing epilepsy. I love it.

    • @dsi-films1264
      @dsi-films1264 Před 3 lety +6

      So true, me too

    • @joshuarowe8410
      @joshuarowe8410 Před 3 lety +8

      like randall?

    • @InsaRem
      @InsaRem Před 3 lety +1

      *Also right now I'm writing my game in the style of Horror RPG, there is also a system for crafting and pumping character stats, the game already weighs 183MB) if interested, come in and see*

    • @theapplechapel
      @theapplechapel Před 3 lety +5

      @@joshuarowe8410 randall used to be funny now he's tryhard and ott.

    • @HikeYegiyan
      @HikeYegiyan Před 3 lety +8

      @@joshuarowe8410 Randall's charm wore off incredibly quickly when the small quirks and gags started to completely overtake his videos.

  • @snailcheeserulez
    @snailcheeserulez Před 3 lety +340

    That was the best ‘a few moments later’ transition I have ever seen!

  • @A76noname
    @A76noname Před 3 lety +40

    I randomly found you today during my monthly "let's get inspired to make a game and look up gamedev videos for inspiration before losing motivation again" -phases and you managed to earn a sub. I really like your style and I'm honestly interested in seeing how this game develops.

  • @rewrittenbytes1616
    @rewrittenbytes1616 Před 3 lety +146

    2:29 You call that a *LITTLE* problem?
    Dear god save us from whatever you think is large-

    • @AckYes
      @AckYes Před 3 lety +4

      LMAO

    • @F3Ibane
      @F3Ibane Před 3 lety +13

      RIP this guy's partner 👀

    • @AckYes
      @AckYes Před 3 lety

      @@F3Ibane even more lmao

    • @rewrittenbytes1616
      @rewrittenbytes1616 Před 3 lety +1

      @@MuhammadHosny0 teach us the way of the gods, for we are mere mortals

  • @isaacturner7495
    @isaacturner7495 Před 3 lety +12

    Great quality videos dude. I actually remember seeing your first minecraft video like 6 months ago and then being sad that it was your only video and totally forgot you existed until I had this recommended. I just finished up watching all your videos you've got so far and just wanted to share how much i enjoyed them. Keep it up, you're gonna grow in no time my friend. Subbed

  • @BooIScaredYou-cw7pn
    @BooIScaredYou-cw7pn Před 3 lety +7

    Dude. CZcamsrs like you give me so much inspiration to make my own games! Keep up the awesome work!!

  • @theocrob
    @theocrob Před 2 lety

    I always find myself coming back to this video and just enjoying the show. Keep up the good work!

  • @arandomboredindividual7855
    @arandomboredindividual7855 Před 3 lety +55

    everytime i hear or see javascript i get war flashbacks

    • @IxMeTutorials
      @IxMeTutorials Před 3 lety +4

      I only see typescript here...

    • @arandomboredindividual7855
      @arandomboredindividual7855 Před 3 lety +5

      ​@@IxMeTutorials typescript is a superset of javascript so they're eeeeeeeeh

    • @IxMeTutorials
      @IxMeTutorials Před 3 lety +2

      @@arandomboredindividual7855 Typescript being a superset only means that every valid JS is also valid Typescript. Typescript is still a different language than vanilla JS, even if it's compiled to JS for browsers to understand it.

    • @sluigi
      @sluigi Před 3 lety +2

      @@IxMeTutorials You basically said Typescript has Javascript but different. I mean it still has Javascript so basically you proved his point yourself

  • @akashbobba5341
    @akashbobba5341 Před 3 lety

    dude i love your format. you explain just enough, hitting that balance between underexplaining and over

  • @dsi-films1264
    @dsi-films1264 Před 3 lety

    I love your videos man they’re so nice to watch and It’s so calming, its rare to see calming videos like the ones you make, and as a ts developer I can feel your hardship. I love your style, keep creating great content and one day you’ll completely destroy the CZcams game dev community.

  • @stormstudios1
    @stormstudios1 Před 3 lety +31

    very cool but i think you should change the torch texture cause i can't even tell where it is

  • @makailyric1128
    @makailyric1128 Před 3 lety +17

    Editing is top notch. GOOD JOB!

  • @bufkinsmith7650
    @bufkinsmith7650 Před 3 lety +22

    Love the stuff you've done but I think WebAssembly would be a great technology for you given your background. It would allow you to write this code in C and then have it run natively in the browser

  • @x32asm28
    @x32asm28 Před 3 lety +1

    Praise the youtube algorithm for showing your Tetris OS video in my recommended!
    Really though, I absolutely love your content. Each video is incredibly well-made, entertaining, and hilarious. I can't wait to see what you've got in store!

  • @skullkidbenn
    @skullkidbenn Před 3 lety +1

    I'm always so happy to see you post another video I really enjoy your content. Cant wait to see more!

  • @rm2kdev
    @rm2kdev Před 3 lety +1

    Love it, I've been working in typescript lately too and its quirks are lovely.

  • @soruh2767
    @soruh2767 Před 3 lety +1

    I’m learning how to code and make games right now so these videos are super informative and interesting, much love :)

  • @Magnogen
    @Magnogen Před 3 lety +6

    Epic video as always! Looking forward to seeing more!

  • @ladflaver4008
    @ladflaver4008 Před 3 lety +5

    This is amazing. One thing I do know is that many game engines like Unity run very inefficiently so it's great to see that it's possible to make your own.

  • @WZDRIP
    @WZDRIP Před 3 lety +36

    jdh then: making minecraft in 2 days with no game engine
    jdh now: *game engine*

  • @charleswiseman5727
    @charleswiseman5727 Před 3 lety +6

    actually 24-bit 48000 kHz is the HQ audio standard but sick video dude! You really inspire me to take programming more seriously

  • @scaffus
    @scaffus Před 2 lety +1

    Men, I'm rewatching your vids again and again, good quality chill, with some big brain coding and a 1ch 16-bit integer 48,0 kHz killer voice

  • @prophaleous7427
    @prophaleous7427 Před 3 lety

    Great videos man, of course found you for your Minecraft vid but I loved all of them! Keep it up looking pretty cool for the game.

  • @max2themax
    @max2themax Před 3 lety +2

    Those bubbles really surprised me in the "a few moments later" transition... neat.

  • @oxey_
    @oxey_ Před 3 lety +3

    these videos are great, a rare case of the youtube algorithm suggesting something I'd actually keep watching :)

  • @64jcl
    @64jcl Před 2 lety +1

    Usually making the engine is the fun part... the actual game... not so much, as I see this video series also stranded on. :)

  • @mrlucky974
    @mrlucky974 Před 3 lety +2

    Like always, great video! Keep it up, love your work :)

  • @user-om8jh2lb8q
    @user-om8jh2lb8q Před 3 lety

    Bro, your videos are epic. Keep up the good work man, you're doin' some real cool stuff.

  • @vados_w1n7er
    @vados_w1n7er Před 3 lety +2

    Nice! Timing of your video is perfect, thanks dude

  • @ytnone7397
    @ytnone7397 Před 3 lety +10

    Just found this channel, it was amazing
    Keep up the good work

  • @nextProgram
    @nextProgram Před 3 lety +7

    Looking good!

  • @veracruz3878
    @veracruz3878 Před 2 lety +1

    I too like to blink to make myself look just a little bit more lively

  • @Makeroni100
    @Makeroni100 Před 3 lety

    Most awaited game for me in 2021! Also great devlog!

  • @MrHamof
    @MrHamof Před 10 měsíci

    I like how he swaps which hand he's holding the torch in when moving horizontally.

  • @ntPingu
    @ntPingu Před 3 lety

    Yo, your videos are pure quality. Love 'em. Wish to be a good as you someday. Started as a fullstack dev some months ago and "fighting against your browser" is like 90% of my worktime well spent :D

  • @Krzztl
    @Krzztl Před 3 lety

    imma support as much as i can!

  • @SageThyme23
    @SageThyme23 Před 3 lety

    That's incredibly simple and beautiful dithering

  • @guillermogarciamanjarrez8934

    And the continuation never came, guess this man ended up killing it's browser, anyway obligatory comment if I just found your channel today and now I love you

  • @ztoogemcducc6360
    @ztoogemcducc6360 Před 3 lety +1

    I really like watching these videos I just started learning to code two days ago. I don't understand what 90% of the stuff in these videos mean. But I'm excited to return when I do!

  • @goji5887
    @goji5887 Před 3 lety

    Dude, keep going with this channel! You blow most other devloggers right out the water!

  • @netocian475
    @netocian475 Před 3 lety +1

    Juicy handwork.

  • @Josuh
    @Josuh Před 3 lety

    Your channel's gonna grow so big in the next months, congrats!

  • @user-nj1qc7uc9c
    @user-nj1qc7uc9c Před 3 lety +1

    Dude this is incredible, this guy is gonna be famous in the future and i found him when he was just at 21k subs

  • @peacefuldeityspath
    @peacefuldeityspath Před 3 lety +1

    Ah yes. Type Script
    Gotta love it!
    Ur syntax highlighting hurts my eyes lmao
    One more thing awesome! Keep it up man =))

  • @NootNooter
    @NootNooter Před 3 lety

    Thank you for existing

  • @igrb
    @igrb Před 3 lety

    I'm just speechless
    keep the good work man

  • @RaphaBaruffi
    @RaphaBaruffi Před 3 lety +1

    Really cool video! Just maybe a heads up at 3:50, the reason typescript cannot check types during runtime is that it compiles to javascript, which is a dynamically typed language. The only way to get compile time type-checking in web dev is if you use something written to WebAssembly

  • @sumitpoudel729
    @sumitpoudel729 Před 2 měsíci

    damn. An old video by jdh. What an absolute GEM!

  • @mnemot
    @mnemot Před 3 lety

    really fun video! may your engine be robust enough for your dreams and may your tiles not bleed into each other.

  • @Skeffles
    @Skeffles Před 3 lety

    Great progress on the game!

  • @SimonBuchanNz
    @SimonBuchanNz Před 3 lety +3

    io-ts is the package if you want type checking at runtime. Even if it has a pretty crazy interface. (You can create a mini version real easily yourself if you don't like it)
    Typescript is pretty weird, actually! It's not too unusual that it only has compile time type checking, C doesn't either for pretty much the same reason: what you write is exactly what you get when you run it.
    No, Typescript is weird because it offloads all the normal language design things like semantics, module systems, library design, etc, to the JavaScript ecosystem, and dedicates all it's efforts on a ludicrously expressive static type system. It's honestly the most powerful type system I've seen, modulo some weird bugish things, able to programmatically rewrite types, contextual and inferred typing (simultaneously!) handle both disjoint and overlapping type algebra, generics with inferred variance, circularly dependant constraints and all sorts of other craziness, variadic parameters and tuples, and way more. Probably there are some more research-ey languages that are similar or better, but this is a language that's on the top language lists and rising. I think it easily deserves the name.

  • @dev_reign
    @dev_reign Před 3 lety

    That lighting looks great! It was very clever how you implemented it in minicraft with your own renderer. I'm surprised you used Tiled and didn't make your own map editor like the engine.

  • @chimichuflis
    @chimichuflis Před 3 lety

    Nice! I'm actually doing a similar project but decided to make it in isometric perspective... this kind of projects are so rewarding even if they are hard! Good luck, just subscribed, looking forward yo seing this complete

  • @HypherNet
    @HypherNet Před 3 lety +1

    Java and TypeScript, games from scratch? Other than not using Kotlin, what's not to love? Subbed. Oh btw, `thing as SomeType` is also an allowed cast syntax instead of ` thing"

  • @paulo0651
    @paulo0651 Před 3 lety +58

    Love ya

  • @kaesegulasch6202
    @kaesegulasch6202 Před 3 lety +1

    Bro... just discovered your channel and I already love it!
    Regarding your last video: Safari is the new IE (just talked about that with a co-worker yesterday lol)

  • @smiley_1000
    @smiley_1000 Před 3 lety +1

    really cool visual effects

  • @barmetler
    @barmetler Před 3 lety

    One thing about runtime type checking: One thing that I sometimes do is this:
    The constructor for class A takes an instance of A, and populates itself. That way, you can pass in any jsonobject that has the fields of A (since typescript doesn't care if it's actually an instance of A, it just needs to have at least the same interface), but then you actually have an instance of A. (instance of A means that A is somewhere along the prototype chain.)
    I mean what you also could do is this: `obj._proto_ = A.prototype` that way you don't need to copy the object, but the `instanceof` keyword would detect this as an instance of A.

  • @Povilaz
    @Povilaz Před 3 lety

    Hell yeah! Episode 2 finally. You love to see it.

  • @Ben-ss7lc
    @Ben-ss7lc Před 3 lety

    I love your videos!! You're a cool guy.

  • @hironichu
    @hironichu Před 3 lety +3

    Thanks for sharing ! I am myself working on a web based game engine, in javascript (:

  • @laustkreibergfricke4707
    @laustkreibergfricke4707 Před 3 lety +16

    Wow, you are a God

  • @nekrugderzweite8298
    @nekrugderzweite8298 Před 3 lety

    WOAH i didnt knew u just have sooo few videos!! GREAT WORK

  • @superfeuji9261
    @superfeuji9261 Před 3 lety

    Hey man love your vids keep up the great work

  • @badpiggy4177
    @badpiggy4177 Před 3 lety +2

    This is the first video of yours I've seen and it's already an instant subscribe lol. Can't wait for more

  • @velocipede5877
    @velocipede5877 Před 3 lety

    Great content brother!

  • @kabinet0
    @kabinet0 Před 3 lety +1

    the legend returns!

  • @francescobittasi
    @francescobittasi Před 3 lety

    One thing I'm noticing is that the character it seems is olding the torch with his left hand at the start, but when it walks left or right the position of the torch is inverted

  • @vio5683
    @vio5683 Před 3 lety

    awesome, dont stop making these vids

  • @Kubalopl
    @Kubalopl Před 3 lety +1

    this gives me the minicraft vibes

  • @flamestats3534
    @flamestats3534 Před 3 lety +13

    Dang, all that code seems so complicated. lol seems like a cool game that I would play~~ :P

  • @ross9263
    @ross9263 Před 3 lety

    lol the confidence, undisputed king

  • @ollie-d
    @ollie-d Před 3 lety +1

    Props to you for torturing yourself with ts/js. I learned Godot and Rust so I could export to wasm to avoid js as much as possible

  • @_buffer
    @_buffer Před 3 lety

    Very interesting!

  • @kimaji
    @kimaji Před 3 lety +2

    every youtuber that gets a new mic "lets crank the bass to max"

  • @cobbcoding
    @cobbcoding Před 3 lety

    Your videos are awesome!

  • @Minecraftpecake
    @Minecraftpecake Před 3 lety

    Nice video bro!

  • @LogicEu
    @LogicEu Před 3 lety

    Great work, keep it up!

  • @millankumar9245
    @millankumar9245 Před 3 lety +1

    I have been watching all of your videos, they are really entertaining, but as someone who is no where near this advanced in programming, I would love a guide on how to set up the the graphics thing, because I don't even know where to start.

  • @rockedsocks4613
    @rockedsocks4613 Před 3 lety +1

    Nice job bro

  • @SpacEagle17
    @SpacEagle17 Před 3 lety +6

    Yay new video!

  • @nirmaltheprogrammer510

    Just found your channel . Your channel is underrated . Subscribed 🙂

  • @plaidev
    @plaidev Před 3 lety

    Just built different

  • @alexkizer639
    @alexkizer639 Před 3 lety

    You've got talent!

  • @ZooHair
    @ZooHair Před 3 lety

    What can I say! that voice is exquisite!

  • @alperalkan2000
    @alperalkan2000 Před 3 lety

    Underrated Channel af

  • @RafeTVGaming
    @RafeTVGaming Před 3 lety

    i like the simple but well made stile kind of like the game celeste

  • @aqzp.
    @aqzp. Před 3 lety

    wow, thats awesome. I HAVE TO USE IT.

  • @jeffreyfuller1187
    @jeffreyfuller1187 Před 2 lety +1

    this guy needs to be more popular

  • @TrojanLube69
    @TrojanLube69 Před 3 lety

    You are a long way to overcome the current kings like Cherno and ChillitomatoNoodle.

  • @betafish995
    @betafish995 Před 2 lety

    the king is here

  • @beeplove7
    @beeplove7 Před 3 lety +1

    Perfect timing

  • @justsomedude333
    @justsomedude333 Před 3 lety

    Very cool! I've played around with making my own Javascript game engine a few times. My animationFrame loops never feel as smooth as other people's examples that I find online. I've given up because of it a few times. It would be awesome if you could show how you handled it!

  • @procrastinatingcartoonstm5130

    I think your art is cool

  • @pokekid912
    @pokekid912 Před 3 lety

    Where it says "keep it safe" you should
    Say "or you won't" thought that sounds pretty cool

  • @HLD202
    @HLD202 Před 3 lety

    Hope you grow up faster bro

  • @mitch_dev
    @mitch_dev Před 3 lety +1

    Web dev here! Typescript is simply a superset for JavaScript, so that is the reason it only checks types at compile time. Once compiled, it’s straight JS so you don’t have the same type checking at runtime

  • @Spartan322
    @Spartan322 Před 3 lety

    I'm pretty sure Dart is the only typed frontend web script language that actually has runtime checking. I don't recall any other web design script languages that do that. Typescript from what I can recall only ever converts itself into Javascript anyway, even when interpreted directly, and while technically Dart can do the same thing (if you force it to with the dev tools) it will attempt to include runtime management in JS code.

  • @franciscopontes4243
    @franciscopontes4243 Před 3 lety

    This is too cool omg

  • @sveisvei
    @sveisvei Před 3 lety +5

    3 weeks later, just Wonder what bug is keeping you «occupated»