Hey, mate favourite mate, awesome to see you on here, great vid!
@brnheavymetal4 жыл бұрын
I miss Brad on videos but the guests are doing a great job, many of the guest channels I didn't know and started to follow
@FlorinPop4 жыл бұрын
Great job buddy!! 💜
@Weibenfalk4 жыл бұрын
Thanks man! =)
@TheGitGuild4 жыл бұрын
I like the way he explains things, also it would be amazing if you guys make super simple one level Street Fighter next :D
@mandihaase27444 жыл бұрын
I am SOOOO excited to create this project. This was one of the first games I was ever introduced to. Thank you Brad and friends for all of this amazing content.
@Dev3ATX4 жыл бұрын
Excellent work Thomas. I'm definitely going to enjoy working on this. Thank you Brad for introducing us to all of these new channels and programmers. Can't wait to see all your new stuff. I hope you are doing well.
@codeguppy4 жыл бұрын
Love seeing the classic games re-implemented in JavaScript
@andrewiglinski1484 жыл бұрын
Awesome video dude. I just checked out your channel as well... I haven't had a chance to watch much but from clicking through it it seems like you have awesome content. I can't believe i haven't found your channel yet. Definitely a new sub.
@Webcrunch4 жыл бұрын
This is great! Love the addition of audio 🔥
@djdankmemes92574 жыл бұрын
Great tutorial! Helped me understand js logic and program architecture much, much better. Thanks!
@bitoffabyte4 жыл бұрын
This series is amazing!!!!! I'm discovering many amazing web dev KZbinrs
@Geomaverick1244 жыл бұрын
Cool! I love this guy :) He has some of the best React tutorials!
@kamrankhanofficials4 жыл бұрын
i love Brad's way of Talking and Engaging others..
@A1996ARP20754 жыл бұрын
Thanks Brad love Ur efforts Ur channel is best source for web developers
@manaskhandelwal4 жыл бұрын
I miss you brad...😭😭
@TraversyMedia4 жыл бұрын
I know 😞 a lot of people are saying that. I will continue to make youtube stuff after i get my courses settled. I just dont have it in me to do courses and think of and execute 1 or 2 projects every week on yt right now. I will be making videos here in the near future though I promise
@bhatnagarcapital4 жыл бұрын
@@TraversyMedia We need a podcast , Brad .My heart aches to hear your voice man .Dont code .Maybe just come and ramble .Tell us stories .Start a podcast .We are in love with you man !
@engineerhealthyself4 жыл бұрын
@@bhatnagarcapital Seconded on the podcast wouldn't even have to be overly structured or anything even just a Brad Rambles series I'd watch the hell out of
@sahilvig224 жыл бұрын
@@bhatnagarcapital bro, he has done so much for us. He deserves all the rest. The least we can do is not put pressure on him❤️.
@danielbark4 жыл бұрын
Oooo the excitement is real!
@MostafaMekawy4 жыл бұрын
This guy is amazying the only thing I miss is brad's way but thanks man for this really.
@MarcoEmm3 жыл бұрын
Awesome ! Simply the best I've seen so far.
@Infinitude4 жыл бұрын
Its awesome to see you in Traversy Media.
@victorolvera4 жыл бұрын
Nice job Sir, I may get back to programming thanks to you
@Hungryturtledev4 жыл бұрын
Amazing! Great job
@muhammadzaakirmungrue31462 жыл бұрын
Thanks nice Tutorial, understanding how the css classes change dynamically inside the game loop is the hardest part. I will add levels and make the edges of the corners of the walls curved where their corners do not touch another wall. And I want to change the animation for when the ghost gets eaten. Also I will check if there is an error when Pac-Man eats two pills in less than 10 seconds and fix any other bugs. One more thing the game has no Secret Track where Pac-Man can go trough the side and enter on the next side, this should be easy to add 😉
@programmingwithdipayan72804 жыл бұрын
Brad.! My lord. You makes my dream come true. I was working on how to make pacman game with JavaScript. Hopefully you posted a video on it ! 👍🙏
@sachinsharma-bj2sc4 жыл бұрын
{ You are awesome love from India }
@luistroche70714 жыл бұрын
Awesome Project. 🤯
@caseybeavers4974 жыл бұрын
Cool tutorial! I tried to implement in nodeJs and ran into issue with getting and creating dynamic HTML elements and passing information back to server. I guess node js is not good at that so I learned a lot about node. Also tried to implement without parcel and babel plugins and just run with line Server. I got everything to work but was getting a mime type error getting sound resource from java script file to HTML. So I just used parcel and everything worked fine. Great tutorial learned alot. I want to create Donkey Kong but with my own music and effects!
@danimusbar4 жыл бұрын
its awesome, create game in javascript, i think make game only using unity3d, construct2d, unrealengine or game maker, the guest totally give another way create game, thankyou Brad this is great tutorial.. keep up, the guests i subscribe too
@muhammadzaakirmungrue31462 жыл бұрын
I did it I added 3 lives, 256 levels, a PHP high scores API, ghost scatter and run when pacman eats a pill , ghost take shortest path to pacman when he did not eat a pill, apple and cherry when pacman eats a random dot. It is so cool I also made the corners of walls rounded and changed the look . I also added the secret track 🤓
@spencerhill2 жыл бұрын
I would be interested in seeing your source code if you're willing to share. Im trying to wrap my head around non-random ghost movement.
@muhammadzaakirmungrue31462 жыл бұрын
// Get shortest path to pacman then set the //position and direction. export function randomMovement142(position, direction, objectExist) { let dir = direction; let nextMovePos = position + direction.movement; if( isBlocked(position + 1, objectExist) && isBlocked(position - 1, objectExist) && isBlocked(position + GRID_SIZE, objectExist) && isBlocked(position - GRID_SIZE, objectExist) ) { nextMovePos = position; return { nextMovePos, direction }; } if((position > 187 && position < 192) || (position > 207 && position < 212) || (position > 227 && position < 232) || (position > 247 && position < 252) ) { if(!isBlocked(position-GRID_SIZE, objectExist)) { nextMovePos = position-GRID_SIZE; return { nextMovePos, direction: DIRECTIONS.ArrowUp }; } if(!isBlocked(position+1, objectExist)) { nextMovePos = position+1; return { nextMovePos, direction: DIRECTIONS.ArrowRight }; } if(!isBlocked(position-1, objectExist)) { nextMovePos = position-1; return { nextMovePos, direction: DIRECTIONS.ArrowLeft }; } } let pacX = this.pacmanPos % 20; let pacY = Math.floor(this.pacmanPos / 20); let minD = Number.MAX_VALUE; let theDirs = [-GRID_SIZE, -1, GRID_SIZE ,1]; let minDir = 0; for(let i=0; i 167 && position < 172 && i === 0) { d = Number.MAX_VALUE; } if(minD >= d) { minD = d; minDir = i; } } } if(minD < Number.MAX_VALUE) { nextMovePos = position + theDirs[minDir]; if(minDir === 0){ dir = DIRECTIONS.ArrowUp; } if(minDir === 1){ dir = DIRECTIONS.ArrowLeft; } if(minDir === 2){ dir = DIRECTIONS.ArrowDown; } if(minDir === 3) { dir = DIRECTIONS.ArrowRight; } if(!isBlocked(nextMovePos, objectExist)) return { nextMovePos, direction: dir } } nextMovePos = position + direction.movement; dir = direction; const keys = Object.keys(DIRECTIONS); while ( objectExist(nextMovePos, OBJECT_TYPE.WALL) || objectExist(nextMovePos, OBJECT_TYPE.GHOST) || (nextMovePos > 167 && nextMovePos < 172 && dir.movement === GRID_SIZE) ) { // Get a random key from that array const key = keys[Math.floor(Math.random() * keys.length)]; dir = DIRECTIONS[key]; nextMovePos = position + dir.movement; } return { nextMovePos, direction: dir }; } function dist2(x1, y1, x2, y2){ return ((x2-x1)*(x2-x1))+((y2-y1)*(y2-y1)); }
@muhammadzaakirmungrue31462 жыл бұрын
@@spencerhill I also added an int variable to the Ghost class called pacmanPos. Then I had to do ghosts.forEach((ghost) => { ghost.pacmanPos = pacman.pos; gameBoard.moveCharacter(ghost); }. But you dont need to add this variable you can use the objectExist function to search for pacman inside the randomMovement142 function instead. I added the variable for performance.
@muhammadzaakirmungrue31462 жыл бұрын
@@spencerhill One more thing, you need to watch this video kzbin.info/www/bejne/l6XEeKKqhpycqJo it is very cool and it is what I used to make my algorithm as sometimes there are two shortest paths to pacman which is a problem that is solved by choosing left, right, up or down in an order.
@spencerhill2 жыл бұрын
@@muhammadzaakirmungrue3146 Wow, thank you so much for sharing; this is fantastic! I think I understand how the next ghost position is calculated, but I don't see where the function isBlocked is defined. Seems like its a check if the ghost is about to collide with a wall/other ghost? Is this correct? Can you share this function too? I appreciate it!
@dangerzone-1364 жыл бұрын
Need more big real projects with javascript. Thanks
@CognitiveSurge4 жыл бұрын
1:25:53 - "Now Pacman is angry and he's going to eat the ghost" 😂
@oscaranahuac744 жыл бұрын
Miss you Brad
@vartikasinghania97234 жыл бұрын
Great tutorial... I super excited to do this by myself ☺
@beyondtourismbeyondtourism72424 жыл бұрын
I will certainly visit your shannel
@srivatsajoshi4 жыл бұрын
Awesome video🔥 . Which font is that?
@Weibenfalk4 жыл бұрын
thanks! Operator Mono
@kirabee41344 жыл бұрын
Hey Brad, ever tought about starting a twitch channel? Idk if you have time but, it would be nice to code along with you. You don't even need to make elaborate tutorials, just coding stuff live and talking with twitch chat could teach us a lot
@StrangeIndeed4 жыл бұрын
I love the tutorial. The pacing is perfect. But I there is a one thing I'm not 100% sure about. (Around 29:14 for reference) In the gameBoard class, you made a static method acting as a sort of wrapper around the gameBoard's constructor. Why did you do it this way? Why not cut the middle man by slightly altering the constructor and calling it directly? Btw English is not my native tongue, so I'm sorry for the grammar mistakes c:
@sandy30284 жыл бұрын
Yes, very good tutorial! Miss Brad though 😭
@phichau904 жыл бұрын
Just sub to the dude channel. Cant wait to learn
@thomasgooch48704 жыл бұрын
Your code editor's styling makes your pipes look like forward slashes. But otherwise, I like the italics.
@andrewgarcia31363 жыл бұрын
i wasted 20 minutes trying to figure this out. honestly, this kinda typset really should not be used for tutorials. there is too much potential for confusion.
@iUmerFarooq4 жыл бұрын
I'm curious to know when the Gatsby project is coming. I'm really excited about that. Thank you Brad.
@BackWoodsWisco4 жыл бұрын
I realize I'm being pedantic so sorry for that, but aren't classes in javascript syntactic sugar for functions, not objects? I realize functions themselves are a kind of object, but it seems a bit of a difference because you can't create an instance or copy of a plain object with the new keyword like you can with a function/class with a constructor. Either way, this is a great tutorial! Still watching so sorry if this stuff is addressed later
@WannaTalkToSamson4 жыл бұрын
You can create an instance with the new keyword without using the class syntax. An example: --- function Animal(name, age) { this.name = name; this.age = age; } const sally = new Animal('Sally', 4); --- The syntactic sugar part is where Javascript assigns the class name & any given methods to the new object's prototype implicitly. Before ES6 class syntax, you'd have to manually add methods to the prototype like this: --- Animal.prototype.bark = function() { console.log('Woof!'); } ---
@hassaneoutouaya2 жыл бұрын
Thank you so much !
@0mdshuvo04 жыл бұрын
awesome video
@joemtz84784 жыл бұрын
Cool.
@emmanuelnwabuodafi64154 жыл бұрын
I commented first today, I love you boss brad❤️
@ahmedboutaraa87714 жыл бұрын
well done
@thefreeze60234 жыл бұрын
Hey Brad, could you please cover one of these game-development projects but in Typescript? Thanks.
@JS-pf4ed3 жыл бұрын
Can anyone pls tell me why I there's no response after I clicked the "start game" button? I've run the npm command like the How to said.
@motomono11 ай бұрын
Shannel? Let’s sheck it out! 😂
@karthikk77904 жыл бұрын
Brad Sir I have opted for your Javascript course from udemy can you please tell me how many days it would take to learn the content , keeping in mind I know complete html5 n css? Kindly reply :) love from India ❤️
@williamernest59093 жыл бұрын
Great tutorial Thomas. I want to pause the game at a certain point. Any idea on how can we do that?
@chromefirefox88964 жыл бұрын
I saved this video I shall SHeck it out later :)
@mm88video4 жыл бұрын
Great job! Please tell us VSC theme you are using...
@Weibenfalk4 жыл бұрын
It's One Monokai 80s with Operator Mono font
@awekeningbro12074 жыл бұрын
Which way is efficient for building pacman? Canvas or DOM manipulation?
@herimandimbyandrianina65464 жыл бұрын
Please can I have the whole CSS code, my Pac Man is not showing, even though I've been following the tutorial, pleaseeee
@harratreco4 жыл бұрын
Hi guys, does anyone have links to resources on how to create a web app, add plugin functionality and ability for devs to develop plugins for it? Like how wordpress has it's plugins OR shopify & it's plugin. Thanks
@optymystyc4 жыл бұрын
8th! Looks fun!
@DevsLikeUs4 жыл бұрын
Yes!
@judeokagu67574 жыл бұрын
nice
@3211235804 жыл бұрын
Cool game!
@rizvanyputri22153 жыл бұрын
hello! I still don't really know how to install the npm, can you help me to do it?
@herbertk92664 жыл бұрын
Thank you
@noquarter19834 жыл бұрын
Can someone help me with deploying this to the web for testing? I've tried using Heroku and it gives me errors. I want to be able to access it on either Heroku or netlify but I am not sure how to go beyond the npm start version we used in this tutorial
@Steve-Richter4 жыл бұрын
Really miss Brad.
@ilyasoloveychik45044 жыл бұрын
Thanks for the video. But I have a strange problem: I have actually the same code (I had even compared), but my browser freezes on the webpage after some time. Original code does not freeze! What could it be? UPD: No, it is all OK with the code. There is smth with my Browser (Opera Game Edition), I tried another one (Chrome).
@Kevin-ou1zg2 жыл бұрын
it crashes a lot for me - usually playing after for about 45 seconds. anybody figure out how to fix that? or also how to get the ghosts to change directions not only when they hit a wall, but also when there are optional other routes?
@Enoch_The_Gent4 жыл бұрын
Hey can you show how to do p2p networking with this game? Great content,
@muhammadainuddin46504 жыл бұрын
Anyone have any idea which theme he is using?
@awekeningbro12074 жыл бұрын
operator mono
@thebombsauce4 жыл бұрын
What if the ghost gets stuck in between two ghosts, will the random movement loop run forever?
@thebombsauce4 жыл бұрын
Yeah when it freezes you can see that theres always a ghost stuck between two ghosts and a wall. I think you need something in the while loop to give a ghost the option of making no move
@abrarmansouri27464 жыл бұрын
I've finished javascript courses and but I feel like I still can't make any project like this my own as I have to google and search on youtube like urs watching others coding it. Is it normal? Feel disappointed.
@Weibenfalk4 жыл бұрын
It's normal to google stuff. There's so much going on in the dev field today so can't keep everything in memory. Especially in the front end field.
@BLACKSTAR-iy8wb2 жыл бұрын
I have a glitch cannot use import statement outside a module
@sachinsingh-lg6cv3 жыл бұрын
Where are you doing java script pls tell
@AshwinSKumar Жыл бұрын
How would you link it to the images.
@AngelOfDeath9434 жыл бұрын
What is that visual studio code theme he is using?
@Weibenfalk4 жыл бұрын
It's One Monokai 80s with Operator Mono font.
@mohammedsayeed3304 жыл бұрын
Hey brad..Are You planning for new courses on udemy ? is that the reason you have taken break from KZbin?
@vijaynavale39194 жыл бұрын
Hey which theme are you using ?
@Weibenfalk4 жыл бұрын
One Monokai 80s with Operator Mono font
@goldfishbrainjohn24624 жыл бұрын
Stored in my video list first.
@sujithathangadurai5 ай бұрын
what is the font?
@nightmarenova67484 жыл бұрын
When i read pacman i tought it was Pacman as in Arch linux package manager lol
@BOTS93914 жыл бұрын
What italic font is that?
@gholler09 Жыл бұрын
Can you add the code to the comments?
@hanscesa56784 жыл бұрын
This is nodeJS, right? Or is this front end JS?
@aleb6874 жыл бұрын
this is just plain vanilla javascript. No backend involved at all
@CodeInsighter3 жыл бұрын
make one in React...
@rb36944 жыл бұрын
What font is that?
@zackzahar28264 жыл бұрын
what software do you use?
@davidconnelly17934 жыл бұрын
May I ask a technical question? Happy for anyone to answer. Why do JavaScript developers avoid using 'var'?
@Weibenfalk4 жыл бұрын
"var" is the "old" way of doing it. Now when we have let and const there's no real use for var if you don't like to use it of course. Const creates an immutable variable (not really true cause you can still change properties on objects) and let has a different scoping than var ... So I never use var anymore. But there's of course nothing wrong in using var if you want. =)
@oussamaothmaine94852 жыл бұрын
not very well made video for beginners. big lack of comments and console logging like i have to watch 20 min of code before i even know what that code does to the game. iknow it would make the video longer but yea. i dont see another choice. this wasnt really helpful
@ronakJvanpariya4 жыл бұрын
Looks like he's speaking my native language , "Kathiyavadi"
@tilakmadichettitheappdeveloper4 жыл бұрын
his accent is cute
@harihar49194 жыл бұрын
please update some ecommerce video tutorials or if its uploaded give me the link please
@cleofaspintolimalima16274 жыл бұрын
Please subtitles English,because I am Studying english too please
@sinabeyraghdar62924 жыл бұрын
I think subtitles will be added after some time!
@oz27704 жыл бұрын
How is this free? Thanks
@eswarkrishnamaganti64094 жыл бұрын
First view and like
@AnasandAmmar4 жыл бұрын
Hey
@jameskulu4 жыл бұрын
please bring some python project
@AleksandarIvanov694 жыл бұрын
that poor "j" letter... got no respect.
@rakib178744 жыл бұрын
20th
@MaxProgramming4 жыл бұрын
I saw Thomas for the first time.on Freecodecamp. He is great!!!