Dude! I have to say every time I watch your videos, even if I know most of it, I learn new stuff! It's fun, and pretty well done! Thanks for these "lessons". This is a great way to learn Javascript and games. And it's always entertaining! You're da best! :D
@tonywhite447614 сағат бұрын
Your videos would be better if you included the code.I know you want people to learn it and maybe sell some courses but I don't know how many times I've followed your videos and get an error or something doesn't work and I have to search the video for that section or start all over.
@aritzolaba16 сағат бұрын
Thanks a lot for this excellent content!!
@dmkanz23 сағат бұрын
Hi Frank
@atharv4408Күн бұрын
u r awesome
@FrankslaboratoryКүн бұрын
Thank you 😊
@fdorsmanКүн бұрын
I have learned so much from you, thanks for the clear explanation. Some Idea's for future subject I would like to see are creating and using hexagon and/or isometric maps and characters
@FrankslaboratoryКүн бұрын
Hi Francisco, yes that would be fun to make. Probably more math would be involved. I haven't checked for a while what are the best practices in that area. Will do some research.
@markus44372 күн бұрын
As always a really well explained and easy to follow tutorial of you. I really like the idea of creating a Pixel Art RPG Game and im looking forward to see more videos of you, expanding our project :)
@FrankslaboratoryКүн бұрын
Hey Markus, happy to see you think it was well explained. I want this to be beginner friendly.
@darkryudaniel2 күн бұрын
excelent video, very educative, The video is very well explained, easy to follow.I want you to go deeper in another video about how to implement small sprites. There is something in my code that I did wrong because the character's movement is not coordinated with the grid, it stops between the grids
@Frankslaboratory2 күн бұрын
If the hero stops between cells, check it's starting position, it's probably there. You can figure out what's wrong by console logging values related to positioning, and it should be clear what's wrong.
@akashvanionwards9122 күн бұрын
let hero let upbtn,downbtn,leftbtn,rightbtn let isCollided=false let cols=20 let rows=20 let tileSize=20 let gameWidth=rows*tileSize let gameHeight=cols*tileSize let moveDelay=5 let scale=4 function seting(button,name){ button.elt.ontouchstart=()=>{ if(name=="up"){ hero.vly=tileSize/scale } if(name=="down"){ hero.vry=tileSize/scale } if(name=="left"){ hero.vlx=tileSize/scale } if(name=="right"){ hero.vrx=tileSize/scale } } button.elt.ontouchend=()=>{ if(name=="up"){ hero.vly=0 } if(name=="down"){ hero.vry=0 } if(name=="left"){ hero.vlx=0 } if(name=="right"){ hero.vrx=0 } } } function setup() { createCanvas(400, 400); hero=new Hero() upbtn=createButton("up") downbtn=createButton("down") leftbtn=createButton("left") rightbtn=createButton("right") seting(upbtn,"up") seting(downbtn,"down") seting(leftbtn,"left") seting(rightbtn,"right") } class Hero{ constructor(){ this.x=100 this.y=200 this.vlx=0 this.vly=0 this.vrx=0 this.vry=0 } update(){ this.x+=this.vrx this.x-=this.vlx this.y+=this.vry this.y-=this.vly } show(){ rect(this.x,this.y,20,20) } stop(){ this.vly=0 } } function mousePressed(){ console.log(hero.x,hero.y) } function checkCollision(x1, y1, s1, x2, y2, s2) { return (x1 < x2 + s2 && x1 + s1 > x2 && y1 < y2 + s2 && y1 + s1 > y2); } function drawGrid(){ stroke("red") fill(0) for(let x=0;x<gameWidth;x+=tileSize){ for(let y=0;y<gameHeight;y+=tileSize){ rect(x,y,tileSize,tileSize) } } } function draw() { background(2); drawGrid() fill(255) hero.update() hero.show() rect(100,100,20) if(checkCollision(hero.x,hero.y,20,100,100+1,20)){ hero.stop() } } Frank , can u help me to fix the code, i want the player will stop after colliding but its not working 😢
@FrankslaboratoryКүн бұрын
Hi Akash, you are only stopping vertical movement so far so I assume you are giving me code in progress, not the final code. I would love to help but if I start debugging and rewriting custom code for people I will upload even less videos :D It's quite simple code, should be easy to fix. If you are completely stuck I would advise you to follow more tutorials and do exactly what people are doing and eventually it will become very easy to create your own solutions like you are trying to do here. I don't think what you are giving me is my code, I never used this collision technique in any of my tutorials. I do it differently.
@northstrider98632 күн бұрын
Thank you Frank, I always learn a lot from your videos! As you mentioned in this one, it would be great if we could learn to implement a more complex sprite animation system :D
@FrankslaboratoryКүн бұрын
Thanks for letting me know. I will do that in one of the follow up classes.
@Nikhil-gm8ks2 күн бұрын
Would love if you could explore more RPG ( Stardew valley, Graveyard Keeper etc. ) , something one could build upon after tutorial and publish it too. That would enable us to convert that base game to something bigger based on story/scenario we can think of. Lot of tutorials present on YT explore similar types of games ( Tetris, puzzle based etc. ) , but very few tutorials like yours enable beginners to explore more ready to publish, story based games.
@Frankslaboratory2 күн бұрын
Thank you for the suggestion. I would really like to do that. I have to teach a few important individual pieces first. Probably I will do it in separate videos so I can properly explain each technique. Still planning where to take this series of projects. I don't think beginners should worry too much about publishing. The first few games are not going to be great but they will be important learning experiences. But I guess the idea gives people the goal to work towards.
@Nikhil-gm8ksКүн бұрын
@@Frankslaboratory Thanks, would be really helpful. For anyone aspiring to be Indie developer, your channel is really helpful. Hoping for more such content ..........
@ChicoPiranha2 күн бұрын
Nice video Frank! Thanks! The dot JS thing in VSC is really annoying. I think for the first import, VSC doesn't know the type of the file you are importing, that's why it leaves it blank. After the first import, it uses the already known file type - unless, the new import, because of the auto sort, becomes the first line again, than VSC forgets the file type once more. As I said: very annoying!
@Frankslaboratory2 күн бұрын
Ah. Finally an explanation. It makes sense now. Thank you for taking the time to clarify this mystery for me
@TheTeamofMuhammad2 күн бұрын
Can you tell me? your screen recorder?
@FrankslaboratoryКүн бұрын
I use OBS studio, simple and free
@Baba69able2 күн бұрын
I just started the tut. I really like how you explain the relations and possible stumbling blocks, so everybody can really understand! Not just just the often common "do this, do that...tadaaa"-magic.
@Frankslaboratory2 күн бұрын
Hi. Yes that's done by design. I gradually explain why and show how it works throughout the video. Did you discover any issue with that approach that I didn't realise?
@Baba69able2 күн бұрын
@@Frankslaboratory yes, you first hardcode an empty object as parameter in the hero to pass to super. Then at any point you pass a position to hero, which this way of course defaults to 0,0. I then have changed to pass options and destructure that in GameObject to this[prop] = options[prop] ?? <default>. But it took me a while, as in your vid it looked like it were working with the empty object (which caused me some wrinkles and grey hairs): Or it might be I missed the moment you changed to passing all arguments separately though lol But I really love the way you explain things. Some devs just seem to have forgotten that there are things which are not clear to everybody (as an example CORS and how to view and debug a module, inheritance...)
@Frankslaboratory2 күн бұрын
@@Baba69able I'm trying to understand what you mean. Did you get an error at some point that I didn't get? Is that why you decided to change the syntax I was using?
@Baba69able2 күн бұрын
@@Frankslaboratory I just investigated and can confirm I missed the part where you then passed the full config-object to the constructor (at 22:06). I think I'll better delete that part of my initial comment to not confuse any readers 😅 But thank you for your fast response and a big SORRY for passing MY confusion
@Frankslaboratory2 күн бұрын
@Baba69able no problem. It's good to talk about this. I will try to make that part more clear next time. Thank you for your feedback
@captaindesign2 күн бұрын
this was amazing, thank you
@Frankslaboratory2 күн бұрын
Glad you liked it
@temmmbebkd29223 күн бұрын
Hello frank two years ago i made a game thanks to your tutorials and got the grade A+ can i show it you and you can share it
@FrankslaboratoryКүн бұрын
Hi, happy to hear that, well done on your A+. Yes feel free to share your projects, ideally email. I will check when I have time and see what you did there. Ideally with code included
@theunknownonetuo20333 күн бұрын
1:12:10 Please make a video of this! This would be very helpful since I still am quite terrified with animations and sprite sheets. I still need a lot of time wrapping my head around deltaTime and such. Anyway, great video! Looking forward to future ones!
@FrankslaboratoryКүн бұрын
I will do that, multiple people requested already, thank you for letting me know
@theunknownonetuo2033Күн бұрын
@@Frankslaboratory Thank you so much! I aspire to be as knowledgeable as you in the future!
@andrewcool4823 күн бұрын
Frank, cool as usually! ❤
@Frankslaboratory2 күн бұрын
Thanks Andrew
@rrazaros3 күн бұрын
KZbin recommended for the first time a good channel. Subscribed. Liked. Thank you for the video i will check other videos too.
@Frankslaboratory2 күн бұрын
Awesome. Nice to meet you
@JVRadioArg3 күн бұрын
The job and effort you put into those videos is amazing. Teaching, explaining and inspiring with really good ideas. Thanks for sharing your knowledge Frank. Keep up the hard work!!!!! 💪
@Frankslaboratory3 күн бұрын
Hi, thank you for your kind feedback, much appreciated
@offgridvince3 күн бұрын
Yes, thank you so much. Starting this weekend!
@Frankslaboratory3 күн бұрын
Have fun!
@aladeotman12593 күн бұрын
why do you think you created gta6 ???????
@Frankslaboratory3 күн бұрын
:D
@techtime31253 күн бұрын
blud this stuff isnt easy, maybe try learning instead of complaining, it's honestly amazing how fast he makes these games and such high quality videos at the same time
@webdevtech97244 күн бұрын
🔥🔥🔥🔥🔥
@Frankslaboratory3 күн бұрын
❤️
@BUY_YT_Views_8584 күн бұрын
Your videos are the first thing I watch
@rrahll4 күн бұрын
That was interesting! 👍Always interesting to watch your tutorials!
@Frankslaboratory2 күн бұрын
Thank you
@rrahll4 күн бұрын
Always best tutorials! Thanks Frank!
@Frankslaboratory2 күн бұрын
Glad you found some value
@rrahll4 күн бұрын
Awesome Frank, awesome tutorial!
@ElonRust420694 күн бұрын
Good stuff Frank.
@Frankslaboratory3 күн бұрын
Hi Elon, thank you!
@PopLll-lo9ot4 күн бұрын
You are amazing man Please can make complete rpg game with backend
@FrankslaboratoryКүн бұрын
Hi. Glad you found some value. It's a lot of work to make a complete game with backend into a tutorial, that's why there aren't many videos on that
@JM-de2gh4 күн бұрын
Hey Frank, Jon here -- it's been a while. You're videos have gotten top-notch professional at this point! Well done! I'm happy to see how far you've gotten over the years! That contract that you helped me get (I think it lasted about 3 years) is coming to an end this very weekend. It was planned, and I was informed about this ending many years ago. It was the best job I've ever had and I got a lot of experience. Thanks for your videos which greatly helped me get out of my burned-out states. Well, as I try to figure out what to do next ( I've got some plans ) I'll be keeping up with your vids a lot more. I may start my own, new, channel (it depends on what direction my plans go).
@Frankslaboratory4 күн бұрын
Hey Jon, it's been a while .Nice to see you here. Sounds like you had a great run, and we know it's a bit easier to get the next job once you have some relevant experience on your CV, so I hope your future is bright.
@johndigirolamo58584 күн бұрын
Amazing series so far! Thanks, Frank! I'm loving seeing you get more and more comfortable with modules and ES6 with each video. Really clean code!
@Frankslaboratory4 күн бұрын
Hey John. Thank you for your kind words. I like to use modules but to keep this beginner friendly I have to explain how to set it up in every video, so in smaller projects I avoid them.
@johndigirolamo58584 күн бұрын
@@Frankslaboratory Ah okay I see. Really appreciate you taking the time to use them in this video! I already got the project running on my end and I just made my own character in this nifty tool you've provided us! I love it thank you! There were so many options that I'll be sure to better explore, but for now I went with something basic, grim reaper: #?body=Body_color_fur_white&head=Skeleton_skeleton&jacket=Trench_coat_dark_gray&sash=Sash_black&shoes=Armour_steel&weapon=Scythe_scythe&cape=Tattered_black&bauldron=none&shoulders=Mantal_black&bandana=none&headcover=none&hat=Cloth_hood_black&legs=Armour_iron Thanks again for all the great videos!
@fabfer4 күн бұрын
Thanks for your work, Frank.
@Frankslaboratory4 күн бұрын
Hi Fabio, glad you found some value!
@fabfer4 күн бұрын
Valeu!
@Frankslaboratory4 күн бұрын
Thank you ❤️
@VectorNodes4 күн бұрын
Frank you never disappoint. I’ve been watching your videos for years. Even though I’m a fully capable developer at this point, these videos are just plain interesting to watch
@Frankslaboratory4 күн бұрын
Hi, nice to hear this feedback, thank you for letting me know!
@gameNOOB1014 күн бұрын
I just made this account so I can say thank you and give a like and subscribe. I love games and learning how to make them.
@Frankslaboratory4 күн бұрын
Ah, thank you for making the effort, I appreciate your comment, nice to meet you!
@RthmnNdrsn4 күн бұрын
This is awesome. Exactly what I was looking for o7
@Frankslaboratory4 күн бұрын
Hey, glad you found some value! thanks for leaving a comment
@TheTeamofMuhammad4 күн бұрын
Build this themes vanilla JS with OOP: 1. Build Videoplayer like KZbin Player (All functionality). 2. Build Image Cropper. 3. Build Image and Video Editor. 4. Build custom range slider. Thank you for all.
@Emblazon4 күн бұрын
hi to me
@Frankslaboratory4 күн бұрын
I asked for it... 🤣
@alwaysquestionyouropinions11194 күн бұрын
I just want to ask. I am building a cyberpunk themed game in pygame with python. Can I please use your Universal LPC Sprite Sheet Generator to make some characters? I will credit you if I ever publish it. Great video, I love the direction of gaming types videos you are making.
@Frankslaboratory4 күн бұрын
Awesome. Cyberpunk theme is a great choice. The Sprite Generator website is not mine. I just use it in this video. There is a license if you generate your character and scroll to the bottom. You should read that. Each body part can have a different author and they require credit.
@alwaysquestionyouropinions11194 күн бұрын
@@Frankslaboratory I see I will go have a look thank you very much. Your channel really is awesome and the quality of your videos is excellent. I can quickly post like a 30 seconds video of the game if you would like to see? If not I understand 100% and thank you again for these high quality videos.
@alwaysquestionyouropinions1119 yes. Show me your game when you get a chance. Always interesting to see what other people are working on. What art are you using for your game world. Did you draw it yourself or you found it somewhere online
@alwaysquestionyouropinions11194 күн бұрын
@@Frankslaboratory KZbin keeps removing my video link but it is the only video I have on my channel and it is only 48 seconds long.
@theEDITORviral4 күн бұрын
one of the best tutorials .. sir I appreciate you ...... and thank you a lot and lots of love from Pakistan...
@Frankslaboratory4 күн бұрын
Hi, nice to meet you. Greetings to Pakistan!
@Frankslaboratory4 күн бұрын
Share your unique character when you make one, but only share the second part of the URL to avoid KZbin spam filter, it deletes comments with links: "#?body=Body_color_olive&head=Orc_male_olive&legs=Pants_black". Step by step process how to use the Spritesheet generator in the video description
finaly the video came for which we were waiting can you also make a short video on the data storing i local files such as after game saved data in and file and then use that data to continue game from we left
@Frankslaboratory4 күн бұрын
Hey Mohan, good idea, I will make a note and I will try to include this when suitable
@Games2Dev4 күн бұрын
It was a useful video, interesting and educational. Thanks for your work. Like!
@Frankslaboratory4 күн бұрын
Hey man, nice to meet you, I can see you make games in Godot, awesome
@gsdealer76914 күн бұрын
You the best.
@Frankslaboratory4 күн бұрын
Thank you!
@goffyfoot824 күн бұрын
Good Stuff, and I don't mind following along. I just slow them down to 75%. I do know that newer / beginners would like the source code. I always steered away from it until I was stuck and need to tap out and look at what was working in order to continue to make it work. Thanks for your time with theses many have benefited !!
@Frankslaboratory4 күн бұрын
Hi Will, are you saying I go too fast? I can try to slow down for the next video.
@goffyfoot823 күн бұрын
@@Frankslaboratory No it is me .....I find it is easier to slow them down to follow along. You're doing a great job. I have a hard time listening and watching, while trying to type. If I watched the video straight through first and then tried to follow it will be easier. I like many have a challenge in learning new materials. And just need to find the extra steps folks like me need to understand it completely. Peace ...
@Frankslaboratory4 күн бұрын
Do you want a SOURCE CODE for this, or you prefer to code along and hear me explain what every line of code does and why I choose to implement it that way?
@worldbest30974 күн бұрын
this is the best and most waited project for recent years. Amazing!!! i both two ways! source code and the reason of every line of code!!!
@vase91454 күн бұрын
+1 for the source code. It's nice to code along but it always good to have the source code for reference
@Charizm04 күн бұрын
code along please. best if both.
@IonizedSun4 күн бұрын
code along is my way to learn :-) btw: the explanation of the nested loops helped me a lot
@randomfinn4044 күн бұрын
Coding along is the best way imo, and I might do some tweaks here and there but if things get messy source code will help with debugging and fixing
@AR-Creation-nk5yj4 күн бұрын
I was waiting for this❤
@Frankslaboratory4 күн бұрын
I had a lot of fun with this one. Working on the next thing now
@Silas_standley4 күн бұрын
I’ve had several design ideas that fit in this mold on the back burner
@b166er45 күн бұрын
Geat job, i didnt know that you can make this.effect without threejs and shaders.... THX, i ll be back ;)
@marinefart90825 күн бұрын
the last part of the video has me stuck when trying to change the animations to the drop down box values. the sprite always disappears. this is the code struggling with let playerState = "fall"; const dropdown = document.getElementById('animations'); dropdown.addEventListener("change", function(e) { playerState = e.target.value; }); I think my add event listener is wrong