Let's build an RPG with JavaScript - Part 1: Project Beginnings

แชร์
ฝัง
  • เผยแพร่เมื่อ 20 ม.ค. 2025

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

  • @DrewConley
    @DrewConley  3 ปีที่แล้ว +53

    New episodes published every few days as we build this thing!

    • @trongph.animation
      @trongph.animation 3 ปีที่แล้ว +2

      I'm waiting every single day pal !

    • @ensignwilliampittsjr5216
      @ensignwilliampittsjr5216 2 ปีที่แล้ว +1

      what engine are you using for this?

    • @4KAII5
      @4KAII5 ปีที่แล้ว +1

      @@ensignwilliampittsjr5216 vs code

  • @Griot-Guild
    @Griot-Guild 3 ปีที่แล้ว +38

    This is exactly what i was looking for, everytime i look up how to make an Rpg i get pseudo advice articles like "you have to work really hard" or "start making a cardboard game" thank you for showing how to literally make a game

    • @DrewConley
      @DrewConley  3 ปีที่แล้ว +4

      Lol, hopefully this will help out a little more than the bits of advice you mentioned. That said, it definitely calls for you to step in and make it your own 🤘

    • @RandalfElVikingo
      @RandalfElVikingo 2 ปีที่แล้ว +1

      Well, I bet you need those advices because I dare you to make an RPG game. I will be the first to play it.

    • @RandalfElVikingo
      @RandalfElVikingo 2 ปีที่แล้ว +1

      @@Griot-Guild Yeah! That's what I like.

    • @KaletheQuick
      @KaletheQuick 2 ปีที่แล้ว +1

      I'll play your game :)
      I came here for the same reason as you :)

  • @maseyeet313
    @maseyeet313 3 ปีที่แล้ว +12

    I started making a game with an entire team just because of your videos and now you are making an entire series of making one, keep it up!

  • @pcakeypopp
    @pcakeypopp 5 หลายเดือนก่อน +1

    started working on a game with a team of people and this series is the absolute perfect resource for learning what it takes to make a game from scratch, thank you

  • @haydengalyean3704
    @haydengalyean3704 ปีที่แล้ว +2

    Ive been struggling with js for so long and this one video opened my eyes to everything Ive been missing, The way you explain things as you're doing it is what makes you a great teacher! thank you for broadening my horizon and giving me motivation and inspiration!

  • @skeletor1447
    @skeletor1447 6 หลายเดือนก่อน +1

    Thanks, I'm about to start a project to teach programming in C++ through a game and your series of videos on how to create an RPG game for the web will help me a lot.

  • @liuchuanyuan4301
    @liuchuanyuan4301 2 ปีที่แล้ว +32

    Timestamps:
    1:12 setup
    5:39 css intro
    8:11 javascript intro
    14:30 render image to canvas
    16:26 scale canvas
    21:49 render image to canvas (advance)
    Note:
    * VScode have live server extension if you don't have python version 2 as shown in the setup

  • @pakuman5358
    @pakuman5358 3 ปีที่แล้ว +13

    Dude I am so glad you are doing this. Danger Crew inspired me to use my react skills to start working on my own turn based RPG. So excited to watch this whole series! You are an inspiration :)

  • @sgtJA
    @sgtJA 3 ปีที่แล้ว +10

    Such an underrated channel. Really excited to see you posting rpg game dev stuff again. The Danger Crew vids were the best. I really hope you get lots of new subs!

  • @emmettcrass3133
    @emmettcrass3133 2 ปีที่แล้ว +1

    I've been struggling with building games in JS for months but you explained it in a way that is finally making sense. Thanks a bunch for sharing these tutorials!

  • @glaydsonp
    @glaydsonp 3 ปีที่แล้ว +2

    God dammit man, that's some GREAT content! I'm a webdev interested on learning how to build games and I wasn't sure I wanted to learn right now how to use Unity or something else. I'm loving to see that it's not only posible to create a game with JS but it's a good way to get started.

  • @fingersnap
    @fingersnap 2 ปีที่แล้ว +2

    Just started and finished this part one of this tutorial today. You explained everything great. I'm excited to continue this project!

  • @YMRGUITAR
    @YMRGUITAR 3 ปีที่แล้ว

    I was pretty hyped up when I saw this notification pop up, I’ve left it for a while so I’ve got a little backlog to work through. Thanks for this Drew, I’m excited to start coding along!

  • @stevecastaneda
    @stevecastaneda 3 ปีที่แล้ว +1

    Subbed! Going to watch your series, please don't stop making them!

  • @rickruizdana
    @rickruizdana ปีที่แล้ว

    Thank you Drew!!! This is my first on javascript ever, and it all worked perfectly! I was somehow lost when you started using Visual Studio Code, as I thought it was the same as the Visual Studio used with Unity, but made the switch right away. Anyway, I just wanted to make this comment to remind me (and encourage me) that I was able to finish part one. I know that for now I'm just copying your code, and that my results are because of your great work explaining us, but is a start. Lets dig into the javascript world! Thanks again, glad I found your channel!

  • @EmiliaKaida
    @EmiliaKaida 3 ปีที่แล้ว +9

    I love these tutorial series about RPG games! Please keep them coming.

  • @TheNZKorean
    @TheNZKorean 2 ปีที่แล้ว +1

    Great channel! Deserves way more attention.

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

    Finally I found a video that the guy just don't throw up the codes to my face. You are simply explaining are you doing. I just being to watch and thx for this content

  • @cyantheepic2869
    @cyantheepic2869 ปีที่แล้ว +3

    27:36 Overload resolution failed

  • @miho9453
    @miho9453 ปีที่แล้ว

    Absolutely loved this. So clear and engaging. Thank you!

  • @fleanardnimoy6555
    @fleanardnimoy6555 2 ปีที่แล้ว

    Feeling pretty dumb never thought to use the image editor to get the scaling... always spent 100 hrs trying to figure out the mathematicals... this is a great tutorial by the way. You got my Sub!

  • @spifet
    @spifet 2 ปีที่แล้ว +1

    Great video! This was exactly what I was looking for! I will definitely go through this tutorial to learn the basics about this original way of game dev, and I hope to get the time eventually and add more functionality and content to share in the Discord community for this game. I will definitely follow your tutorial until the end. BTW, the media queries to make it completely responsive is:
    .game-container{
    position: relative;
    width: 352px;
    height: 198px;
    margin: 0 auto;
    outline: 1px solid white;
    transform: scale(3) translateY(50%);
    }
    /* Resizing for all screens up until 1278px */
    @media (max-width: 1072px){
    .game-container{
    transform: scale(2.75) translateY(50%);
    }
    }
    @media (max-width: 978px){
    .game-container{
    transform: scale(2.5) translateY(50%);
    }
    }

    @media (max-width: 891px){
    .game-container{
    transform: scale(2.25) translateY(50%);
    }
    }
    @media (max-width: 802px){
    .game-container{
    transform: scale(2) translateY(50%);
    }
    }
    @media (max-width: 714px){
    .game-container{
    transform: scale(1.75) translateY(50%);
    }
    }
    @media (max-width: 626px){
    .game-container{
    transform: scale(1.5) translateY(50%);
    }
    }
    @media (max-width: 537px){
    .game-container{
    transform: scale(1.25) translateY(50%);
    }
    }
    @media (max-width: 447px){
    .game-container{
    transform: scale(1) translateY(50%);
    }
    }
    @media (max-width: 360px){
    .game-container{
    transform: scale(0.75) translateY(50%);
    }
    }

  • @ZeroZiltch
    @ZeroZiltch 2 ปีที่แล้ว

    I was looking for something like this, appreciated Drew o/
    This will help me tons in getting started o/

  • @SaptadeepDutta_Ex-Xerox
    @SaptadeepDutta_Ex-Xerox ปีที่แล้ว

    Amazing how you explain at 15:30 and at 18:32.
    Thank you.
    BTW: I didn't know Michael Ross of Suits was such a rad JS dev🤣.

  • @DelPieroJoga10
    @DelPieroJoga10 2 ปีที่แล้ว

    as a front-end developer, I love so much this channel, mainly this playlist

  • @NickTorius
    @NickTorius 5 หลายเดือนก่อน +1

    Can someone please explain to me from 4:21 - 5:02 , i'm completely lost, can I just use live server instead of the one that you used?

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

      Any news?

    • @NickTorius
      @NickTorius 4 หลายเดือนก่อน +1

      @@Altazas I used live server on vs code and it worked fine. I just skipped all that stuff in the beginning

  • @gregoryedwards9097
    @gregoryedwards9097 3 ปีที่แล้ว

    Bro, I'm just getting started with coding, started about two weeks ago, and coming across this is a Godsend. Thank you Drew! Earned a new sub!

  • @danyelofair
    @danyelofair ปีที่แล้ว

    This is exactly what I was looking for. Thanks a lot for the efforts you put on this, really appreciate it!

    • @JNYTwastaken
      @JNYTwastaken ปีที่แล้ว

      Whre can i find the images

  • @MadameCocotte23
    @MadameCocotte23 3 ปีที่แล้ว +1

    Exactly what I needed !!! I'm so excited !!!

  • @milacherry6738
    @milacherry6738 3 ปีที่แล้ว

    Your Content is The best I Ever came across

  • @Vurrzey
    @Vurrzey 3 ปีที่แล้ว +1

    the first bit at around 15:30 is not working for me i have to go in the html and put in the demo lower thing its just not working for me in the javascript which is weird so i was wondering if you could help

  • @nickhatboecker
    @nickhatboecker 3 ปีที่แล้ว +1

    I'm very excited for this series, because I'm also currently developing a top down adventure in JS with Phaser3 Framework. I hope I can learn some things from this

  • @uh_vinia
    @uh_vinia 3 ปีที่แล้ว

    Wow this honestly is really interesting, detailed, and just really helpful and fun!! Thank you for this!

  • @angelap.8160
    @angelap.8160 2 ปีที่แล้ว

    So excited for this series! the scaling with css and pixelated blew my mind! awesome channel!😁

  • @kyleareich
    @kyleareich 2 ปีที่แล้ว

    Dude I just stumbled upon your videos and your channel. Great tutorials man. Really well done.

  • @khoanguyen3044
    @khoanguyen3044 3 ปีที่แล้ว

    the other day i was thinking of playing overcooked on browser and found that there isn't anything like that at the moment so i thought i should learn to create it
    thank you for making this series

  • @ahmedez5113
    @ahmedez5113 3 ปีที่แล้ว +1

    I'm very excited for this series

  • @CASMANWHAT
    @CASMANWHAT 3 ปีที่แล้ว

    Loving this series!

  • @lethiakx
    @lethiakx 3 ปีที่แล้ว

    Thanks for actually explaining the why's behind everything!

  • @sneddengonsalves9320
    @sneddengonsalves9320 3 ปีที่แล้ว

    this is great, this should have more views

  • @pavelerokhin1512
    @pavelerokhin1512 3 ปีที่แล้ว

    continue this series man! I like it a lot!

  • @eboatwright_
    @eboatwright_ 3 ปีที่แล้ว

    This is super cool! I loved the demo for Danger Crew, so it's gonna be really exciting to see this one! :D

  • @MRVDOG
    @MRVDOG 3 ปีที่แล้ว +7

    I know this was a month ago, but when scaling your canvas, you could use transform-origin instead of translating 50% on the Y :) or you can use display flex on the body with align and justify to center the canvas :)

  • @zacharyshifrel9107
    @zacharyshifrel9107 2 ปีที่แล้ว

    Awesome video! I'm watching and converting the vanilla js/html to React code

  • @hideinbush0
    @hideinbush0 2 ปีที่แล้ว

    Great series, learning lots from part 1!

  • @namaefumei
    @namaefumei ปีที่แล้ว

    This is gold please make more!

  • @xxe0nxx1
    @xxe0nxx1 3 ปีที่แล้ว

    I'm only 7 mins in but God Bless you man this is awesome

  • @jaycutter5372
    @jaycutter5372 3 ปีที่แล้ว +3

    So, i ran in to a problem, that my hero sprite got placed behind the map. For everyone who has the same problem, here is how I solved it. My map had 200KB while my hero sprite had around 4KB, which caused the map to load longer and place it after my hero sprite. Tried to work around this with z Index settings, didn't work either. I rendered the map down to about 30KB and it worked how intended.
    Great tutorial btw, keep it up!

  • @industrialhomestead4028
    @industrialhomestead4028 3 ปีที่แล้ว

    i'm loving this series!

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

    just awesome!!! thank you very much!!!

  • @R_E_Sofficial
    @R_E_Sofficial 2 ปีที่แล้ว

    This is the best tutorial!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
    all the other tutorials were not as cool as this or they were all in one super long video ;)

  • @geminii.german
    @geminii.german 2 ปีที่แล้ว +1

    thanks a lot for that.... i started learning and this is gold ❤

  • @lebrongoated23
    @lebrongoated23 3 ปีที่แล้ว +1

    Where we you all my life. I am excited to creating a game using html, also thanks for answering my questions In the video.

  • @seanpaul93
    @seanpaul93 2 ปีที่แล้ว

    thanks for this, explain everything in detail which is great

  • @sanjeevmaharjan9795
    @sanjeevmaharjan9795 3 ปีที่แล้ว

    very excited for this series !!

  • @gibsonwall7230
    @gibsonwall7230 2 ปีที่แล้ว

    Hello I am very new to programming and I am lost in the live web server starting at 4:14. I do not know how to do this at all. If anyone could help that would be great! I did see the comment from Liu Chaunyuan about VScode having a live server extension but I do not understand how to do that either.

  • @형수김-b3u
    @형수김-b3u 3 ปีที่แล้ว

    Thank you for this wonderful video! Love it!!!!!

  • @BGNewsReporter
    @BGNewsReporter 3 ปีที่แล้ว

    Just found this channel. Really excited to try the project!

  • @kalx6588
    @kalx6588 3 ปีที่แล้ว

    thank you drew!!! loving it.

  • @c.rberyl3759
    @c.rberyl3759 3 ปีที่แล้ว

    Exactly what I was looking for, thanks!

  • @treifeske2077
    @treifeske2077 ปีที่แล้ว

    Awesome project!

  • @jakechen4020
    @jakechen4020 3 ปีที่แล้ว

    Thank you for these tutorials, help me a lot!

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

    And so my adventure begins

  • @kirbbeans9583
    @kirbbeans9583 2 ปีที่แล้ว +1

    idk if you know this, but there is a vscode extension called "Live Server," and it makes a server that will also update in real time when you save, its very good, 10/10 reccomend

  • @mitejmadan8672
    @mitejmadan8672 3 ปีที่แล้ว

    Please don't stop this series. Please. I love RPG games. I am a big fan of pokemon games.

  • @SarthakGamer
    @SarthakGamer 3 ปีที่แล้ว +1

    Just discovered this channel. I have to say this project playlist is amazing. Keep it up 👊

  • @kristorres3551
    @kristorres3551 ปีที่แล้ว

    Great video series so far! I'm having a issue with the whole init process, specifically getting the expected results from 12:50. When changing the function to the overworld.init(); , I don't get the message proving connectivity. Any suggestions?

    • @DrewConley
      @DrewConley  ปีที่แล้ว

      Hmm, there must be a mismatch somewhere. Try comparing your code to the download code in this one. Often it’s a little forgotten or misspelled thing

  • @callmejobson
    @callmejobson 3 ปีที่แล้ว

    12/27/21 Part one finished! Thank you Drew!! I and trying to slowly get back into game programming I hope to try and finish one part each day!!

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

    glad I found this channel

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

    Im lost where you opened the code in a browser, not sure what you did to get there

  • @ReuelTeodoro
    @ReuelTeodoro 3 ปีที่แล้ว

    This is awesome can’t wait for more

  • @CV-ec6mk
    @CV-ec6mk 3 ปีที่แล้ว

    Glad i found this just what I was looking for

  • @noname-mw7oy
    @noname-mw7oy 3 ปีที่แล้ว

    You explain things soooooo well ty! 😁

  • @solidboko
    @solidboko 2 ปีที่แล้ว

    This is so brilliant, thanks a lot !!!

  • @highernowama5765
    @highernowama5765 3 ปีที่แล้ว

    thank you for golden content!

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

    how do you run the web server in this directory? Im totatlly lost

  • @jersmith1486
    @jersmith1486 2 ปีที่แล้ว

    any links to a video that explains whats going on at 4:26? I'm stuck there.

  • @milacherry6738
    @milacherry6738 3 ปีที่แล้ว

    8k? subs? Your completely underrated!

  • @thayscasado255
    @thayscasado255 3 ปีที่แล้ว

    Wowwww, I can't wait for the next one.

  • @donbroughton149
    @donbroughton149 3 ปีที่แล้ว +4

    I'm excited to see how this series develops - Do you have plans to package inside of Electron at the end ?

    • @DrewConley
      @DrewConley  3 ปีที่แล้ว +4

      I am considering it! There may be a bonus section at the end that covers basics of electron

  • @omidniqht7626
    @omidniqht7626 2 ปีที่แล้ว +1

    nice tutorial, but my browser won´t draw the image

  • @warsawcat2041
    @warsawcat2041 2 ปีที่แล้ว +1

    Is there a way to put the character sprite infront of the background? I can't figure it out.

  • @NicoM137
    @NicoM137 3 ปีที่แล้ว

    Such an awesome tutorial! As someone aspiring to dabble in developing small games this is truly inspiring and makes the whole process feel in reach. I have to say there’s probably ~25% of this that was still over my head - any recommendations for additional resources to brush up on the basics?

    • @azrulnautx
      @azrulnautx 2 ปีที่แล้ว

      I would recommend freecodecamp. Their focus is on html css and js so it's great for front end stuff like these!

  • @carlcolisson4293
    @carlcolisson4293 2 ปีที่แล้ว +1

    Hello ! I have a problem, my character is going sometimes under the background probably because my character is loaded faster than my background, do you have an idea how can I fix that ?

  • @c.rberyl3759
    @c.rberyl3759 3 ปีที่แล้ว +1

    The favicon.ico file is missing in this drive folder (same thing with part 2)

  • @mookiecodes
    @mookiecodes 3 ปีที่แล้ว

    I made it!!!! i love pizza :) can't wait to see where this goes!😁

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

    hi
    how do i cd into the project directory ?? thank you !
    using python3.12

  • @sunnylady
    @sunnylady ปีที่แล้ว

    Thanks!! This was great!! I'm coding while my pinky is broken!!

  • @raiden-va
    @raiden-va ปีที่แล้ว

    Thanks for great lesson

  • @aaronh920
    @aaronh920 2 ปีที่แล้ว +1

    This is so helpful. I'm learning a lot! Especially researching every step to make it work the same as yours. Such as hosting a simple http server.
    On my system, the command is: python3 -m http.server
    Who knew!?

  • @ricardochiodini9743
    @ricardochiodini9743 2 ปีที่แล้ว

    Hey there,
    I checked my code is exactly the same as the video but when I launch it in the browser, I get this error:
    Uncaught SyntaxError: Unexpected token '.' (at init.js:4:13)
    I am not sure how I could fix it. I appreciate your help!

  • @namenlos4374
    @namenlos4374 3 ปีที่แล้ว

    i'm getting lots of "Failed to load resource: net::ERR_FILE_NOT_FOUND" errors when i lunch the html file. any ideas what could fix it? (everything's the same like in the video)

  • @arcei5726
    @arcei5726 3 ปีที่แล้ว

    no issues found, just the console.log ''it's working!'' doesn't show...

  • @CpMiko2005pl
    @CpMiko2005pl 2 ปีที่แล้ว

    very good job!

  • @fabisafsten-suarez7921
    @fabisafsten-suarez7921 2 ปีที่แล้ว

    I downloaded the png file for the DemoLower and I copied the code and it doesnt upload the png file any tips?

  • @supersquirrel7340
    @supersquirrel7340 2 ปีที่แล้ว

    i keep getting this error "SyntaxError: Unexpected identifier
    at /init.js:5:5"

  • @thisbunnyquestionspsychiatry
    @thisbunnyquestionspsychiatry 2 ปีที่แล้ว

    Im really confused about the running a web server thing. Cant we just open the file of our game into a test offline web browser already by just clicking it open?

    • @LorewithAttenborough
      @LorewithAttenborough ปีที่แล้ว

      You could but it wouldn't update live on saving a change, so it's not ideal. Also you're on localhost which means you're not technically online

  • @ufzero0080
    @ufzero0080 2 ปีที่แล้ว

    My man... why I got a white screen when running the html and js code

  • @GeryTeague
    @GeryTeague 3 ปีที่แล้ว

    Your videos are fantastic man. I just wanted to note that instead of pushing the game-container down after scaling, you can use the css property transform-origin, and set it to transform-origin: center 0; which keeps the horizontal scaling centered and vertical scaling top down.

  • @MohamedAhmed-bo2vb
    @MohamedAhmed-bo2vb 11 หลายเดือนก่อน

    A legend ❤