Build a Dev Portfolio as a 2D Game - JavaScript Course

  Рет қаралды 119,587

freeCodeCamp.org

freeCodeCamp.org

Күн бұрын

Learn how to use Kaboom.js to create a 2d game that is actually a developer portfolio. This is a creative way to show off your skills.
Live demo: jslegenddev.github.io/portfolio/
Source code: github.com/JSLegendDev/2d-por...
Map files (map.json + map.png): github.com/JSLegendDev/2d-por...
Spritesheet: github.com/JSLegendDev/2d-por...
Fonts: datagoblin.itch.io/monogram
Tiled software: mapeditor.org
Substack post explaining how to implement mobile controls : jslegenddev.substack.com/p/ho...
Course developed by @JSLegendDev
⭐️ Contents ⭐️
⌨️ (0:00:00) Intro
⌨️ (0:03:35) Setup
⌨️ (0:16:40) Loading assets
⌨️ (0:19:36) How to use Tiled to draw maps
⌨️ (0:36:23) Writing logic to display map
⌨️ (0:45:02) Creating the player
⌨️ (0:52:13) Writing logic to display boundaries
⌨️ (0:58:07) Writing logic to display dialogue
⌨️ (1:16:28) Spawning the player + player movement logic
⌨️ (1:26:33) Writing logic for scaling the camera + animations + dialogue text
🎉 Thanks to our Champion and Sponsor supporters:
👾 davthecoder
👾 jedi-or-sith
👾 南宮千影
👾 Agustín Kussrow
👾 Nattira Maneerat
👾 Heather Wcislo
👾 Serhiy Kalinets
👾 Justin Hual
👾 Otis Morgan
👾 Oscar Rahnama
--
Learn to code for free and get a developer job: www.freecodecamp.org
Read hundreds of articles on programming: freecodecamp.org/news

Пікірлер: 129
@JSLegendDev
@JSLegendDev Ай бұрын
Hope you enjoyed my course! I have plenty of in-depth gamedev tutorials all in JavaScript/TypeScript. Head over to my channel if you're interested!
@alishxn
@alishxn Ай бұрын
Amazing video loving the concept. You sir got got a new loyal subscriber 😃
@JSLegendDev
@JSLegendDev Ай бұрын
@@alishxn Thanks :)
@LBCreateSpace
@LBCreateSpace Ай бұрын
Thank you very much for making this! I love that you don’t rush through it and you explain things. Thanks again!
@JSLegendDev
@JSLegendDev Ай бұрын
@@LBCreateSpace Glad you liked it!
@user-cs2py4wg3p
@user-cs2py4wg3p Ай бұрын
thanks for the nice tutorial. Could this be deployed on github page?
@dhirajsuthar2607
@dhirajsuthar2607 Ай бұрын
For people not familiarising with the 2D-portfolio is you can create a 'normal' portfolio that is good for recruiters and give a dialog or something that takes them inside this, incase they are interested in checking out something like this. Great video by JSLegendDev, loved this concept.
@JSLegendDev
@JSLegendDev Ай бұрын
Thanks for watching!
@dreamisover9813
@dreamisover9813 Ай бұрын
That's a pretty interesting concept for a portfolio, really neat
@cjthefinesse
@cjthefinesse Ай бұрын
This looks sick. Might do this this weekend.
@progwithpaul
@progwithpaul Ай бұрын
But problem is here recruiters are quite lazy. They'll not even go through this :( and straight off reject the portfolio
@death135
@death135 Ай бұрын
Exactly
@JSLegendDev
@JSLegendDev Ай бұрын
Feel free to adapt it so it becomes more convenient while maintaining originality. You could for example, implement quick navigation, etc... My tutorial is just meant as a starting base you can take it in any direction you want from there; or just use what you learned here to start making actual games ;) You could also make it as a personal site (your personal corner on the internet) rather than strictly a developer portfolio.
@user-ij8wb5bw3q
@user-ij8wb5bw3q Ай бұрын
Exactly, most people at such jobs are tired and are just scanning through all CV’s as fast as they can.
@Firstborn0Raz
@Firstborn0Raz Ай бұрын
Tell me about it. And they keep giving you the same response without fully explaining exactly why they chose someone else for the job instead of you? I am not a coder, I am a visual artist and this has been happening to me for so many years.
@eric-jt
@eric-jt Ай бұрын
It doesn’t need to be the main portfolio, it can be a second one. Maybe like a toggle on the main portfolio
@user-np6sx1rc8d
@user-np6sx1rc8d Ай бұрын
I'm still inexperienced in coding but this tuto is really a great motivation for me to really learn as the portfolio is important as I'm currently still a student and it is fun because of the game concept rather than plain portfolio for learning purposes
@a7mdbest15
@a7mdbest15 Ай бұрын
This is really creative way to make a protfolio
@annebeignatborde1832
@annebeignatborde1832 14 күн бұрын
Valuable tutorial, thank you. I'll be coming back to it once I've worked out my theme and storyline 🙂
@londonalexander7868
@londonalexander7868 Ай бұрын
Definitely going to build this and put it as a button on my portfolio. Don’t think having it be the landing page is the smartest tho. I wish recruiters cared enough
@brandon_wallace
@brandon_wallace Ай бұрын
This is great!
@marginiszero
@marginiszero Ай бұрын
This is next level portfolio,🔥❤
@anitaaaa1293
@anitaaaa1293 12 күн бұрын
This is sooooo amazing. Love it 🧡
@LydiasPianoStudio
@LydiasPianoStudio Ай бұрын
Such a fun project! 😂🎉 Thanks for sharing! 😊
@JSLegendDev
@JSLegendDev Ай бұрын
No problem!
@nelsonfernandes5208
@nelsonfernandes5208 Ай бұрын
Literally I was finishing my portfolio as a game yesterday and this drops now 😭... But this is perfect I can see where I can improve my project now. 😊
@hassamulhaq7762
@hassamulhaq7762 Ай бұрын
such videos are useful, and diff in many cases.
@Harthikreddyy
@Harthikreddyy Ай бұрын
Looks easy enough
@bhaskarmondal7461
@bhaskarmondal7461 Ай бұрын
this tutorial is soooo cool,
@firstlastcode
@firstlastcode Ай бұрын
we need a whole video on the canvas api
@ianwataka3328
@ianwataka3328 Ай бұрын
I have never imagined one could do this😅😅
@linisusanv688
@linisusanv688 Ай бұрын
I appreciate the creativity in this project. But not sure if recruiter will open portfolio in game format. Can you please share link for other portfolio project? Preferably in React.
@binay8848
@binay8848 Ай бұрын
I started watching it..
@shatanshubodkhe1841
@shatanshubodkhe1841 Ай бұрын
lesgooooo
@luchodf
@luchodf 8 күн бұрын
Hello how are you! I've followed the tutorial and found it quite interesting! I made a quick portfolio for myself but i'm having trouble to deploy it on the web. Im using git pages, don't know if that could be an issue because it's giving 404 errors with some files. Can I use gitpages? if yes, is there any extra config i need to do to deploy my portfolio on the web? thanks!
@Narslimmus
@Narslimmus Ай бұрын
As thankful I am for all the free knowledge you provide, I don't think this is a good idea for the majority of people, maybe exclusively game developers will benefit from this style. Your portfolio should be usable first things first, then beautiful, then unique; don't fall into the trap of overcomplicating your site. Just some wisdom from someone who spent almost two years going crazy over this.
@QuirkyAvik
@QuirkyAvik 20 күн бұрын
I thought about this a while back unfortunately the HR didn't want to play, she asked me if I had a paper resume or linkdin. Unfortunate state of where I live, we kill creative thinking.
@Vinsmokedz
@Vinsmokedz Ай бұрын
The field is so saturated that these billion dollar potential projects are churned out for free.
@internallyinteral
@internallyinteral Ай бұрын
We need more IT professionals so we can keep dropping wages 😂
@samoylov1973
@samoylov1973 Ай бұрын
Nice! Will learn JS with this) Looking for the same one in Python!
@jigsaw2253
@jigsaw2253 Ай бұрын
You can translate the one in JS to Python yourself, no need to put another video also it helps you
@cristineeross
@cristineeross 14 күн бұрын
I did code along, and I love how it turned out, thanks so much! I have a small problem though, I hope you can help me out. My player is able to move past the boundaries somehow. I must've missed something. What should I double check?
@cristineeross
@cristineeross 14 күн бұрын
Silly me, I've found it: the boundary.width was missing, it only had a hight, so there was no boundary :D lol. Thank you so much! I coded a few small games in vanilla js before, but Kaboom makes it a lot easier, I love it!
@user-eo6rb1sk6i
@user-eo6rb1sk6i Ай бұрын
@psiryan
@psiryan Ай бұрын
Clever Idea. But important to consider your audience; this might not be a good format for certain types of developer jobs.
@Blaze_MediaTv
@Blaze_MediaTv Ай бұрын
When he said "JS Legend Dev" he wasn't joking 🔥
@keithconner9036
@keithconner9036 Ай бұрын
Thank you. Please be gracious in the comments. Negativity only attracts more negativity
@qaw392
@qaw392 17 күн бұрын
2:07 aee, my man is also goblin
@codeguru_hsb
@codeguru_hsb Ай бұрын
Recruiters aint playing a game for sure
@ShadWarri0w
@ShadWarri0w 21 күн бұрын
Hi, Thank you for uploading this. I really loved the course it's a super interesting way of showcasing a Portfolio. However, I've ran into a problem during deployment. I tried to deploy this on Github all it returns me is a white screen with a "Tap/Click around to move" at the top left. All the assets do not load and all that's returned is Failed to load resources: server responded with a status of 404(). This is for utils, kaboomCtx, monogram.ttf and constants. The localhost loads when I run Npm run preview and Npm run dev so I doubt the pathing is the issue. I would really appreciate it if you're able to guide me on this.
@JSLegendDev
@JSLegendDev 21 күн бұрын
Hi! I added a small guide explaining how to deploy the project in the project's GitHub repository linked in the description.
@tokaoshba2188
@tokaoshba2188 Ай бұрын
Could I make a similar portfolio by using python
@dreamleaf6784
@dreamleaf6784 Ай бұрын
Yes lol
@tokaoshba2188
@tokaoshba2188 Ай бұрын
​How? Is there a video like this one that explains how to make a similar portfolio? ​@@dreamleaf6784
@chenhuing8055
@chenhuing8055 19 күн бұрын
This is dope!
@guglielmocerri7036
@guglielmocerri7036 Ай бұрын
It can be published using GitHub pages?
@MrOgunsanya
@MrOgunsanya Ай бұрын
Yes
@amauryreyesbetances3639
@amauryreyesbetances3639 Ай бұрын
Lastima que no tiene pista de audio integrado este video.
@SheepCodeLevel1
@SheepCodeLevel1 23 күн бұрын
Hello, thank you for uploading this course. The player unfortunately does not load, I tried debugging the matter but still stucked so far. "Cannot read properties of undefined (reading 'x') at Object.main" has been shown as an error. Appreciate any support, thank you.
@JSLegendDev
@JSLegendDev 23 күн бұрын
Could you provide more details? For example, what line of code is causing the error. By the way, you can clone the final repo and compare it with yours to see where things went wrong.
@SheepCodeLevel1
@SheepCodeLevel1 22 күн бұрын
@@JSLegendDev Hello again and thank you for the hint, I did slowly recheck the code using the final repo and managed to find the issue, thank you for the hint.
@JSLegendDev
@JSLegendDev 22 күн бұрын
@@SheepCodeLevel1 No problem! Glad it helped :)
@phat80
@phat80 24 күн бұрын
If it’s one of the several portfolio projects it may be acceptable but if there’re only 2D games in your portfolio it will be strange for any recruiter 😅
@rally_furymoments5294
@rally_furymoments5294 Ай бұрын
What is frame, and how do you count it?
@devtravaller
@devtravaller 23 күн бұрын
frame count is how many sprite u have for animate
@Luis-wf9ws
@Luis-wf9ws 18 күн бұрын
Animations(and games by extension) are made of images put one after another to give the illusion of movement, those images are called frames and the fluidity of a game depends on how many frames do you have in a second
@rally_furymoments5294
@rally_furymoments5294 18 күн бұрын
​@@Luis-wf9ws you're the best! You explain better
@rally_furymoments5294
@rally_furymoments5294 18 күн бұрын
What about sprite?
@Luis-wf9ws
@Luis-wf9ws 18 күн бұрын
@@rally_furymoments5294 they would be the drawings with what you compose the frame, if im not wrong sprite is a term specific to pixel art(the art style that use a los of 2d games, like this one)
@itzmeroj117
@itzmeroj117 16 күн бұрын
when i create the code for the player and the spawnpoint i only get the map no player... nothing.
@mmapuppy
@mmapuppy Ай бұрын
Is it 2024 ready? I mean I hope there’s a backdoor exploit in it… needs to be legit
@UBCABANUPRASATHS
@UBCABANUPRASATHS 9 күн бұрын
When i click the download button the given Tiled software are not downloading
@reyrotaru2011
@reyrotaru2011 Ай бұрын
super nice project, but someone else as problems deploying it to the web? When i try to delpoy it, all the assets don't load
@yaredmyers2403
@yaredmyers2403 3 күн бұрын
i cannot deploy corretly, displays only a white background with the tap an click text, somebody can help?
@reyrotaru2011
@reyrotaru2011 3 күн бұрын
@@yaredmyers2403 I had an error in the index file of the build folder, probably you have the same; it was a little error, that the editor doesn't show, look in the console when you do npm run preview
@yaredmyers2403
@yaredmyers2403 3 күн бұрын
@@reyrotaru2011 I dont see problems in console when I use npm run preview, only a warning that says "The AudioContext was not allowed to start. It must be resumed (or created) after a user gesture on the page. "
@benjidaniel5595
@benjidaniel5595 22 күн бұрын
It’s a nice concept but I feel the biggest problem is it’s just not very compelling. There’s just not much to do. Even the resume is just a link to an externally hosted document.
@urosstevanovic6044
@urosstevanovic6044 Ай бұрын
i have a problem the player icon is not loading can someone help me please
@JSLegendDev
@JSLegendDev Ай бұрын
Could you provide more details?
@Wer-zo8mb
@Wer-zo8mb Ай бұрын
How can i make a React component with that game ?
@JSLegendDev
@JSLegendDev Ай бұрын
One way you could go about it is to use the div used for rendering the UI and use it as the root of your React code. All your React components will be rendered there.
@Wer-zo8mb
@Wer-zo8mb Ай бұрын
i'm really new to JS/React world, and i don't undestand much about it. Thx for the help@@JSLegendDev
@my-financial-wealthblog4423
@my-financial-wealthblog4423 Ай бұрын
Why would you use vite if you can write in plain JavaScript?
@JSLegendDev
@JSLegendDev Ай бұрын
You could use plain javascript (just load the Kaboom library via a script tag) without vite however you wouldn't get intellisense for the Kaboom library which is pretty helpful.
@user-qc1qk1pw1v
@user-qc1qk1pw1v 11 күн бұрын
57:05
@filippo_cecchi
@filippo_cecchi 20 күн бұрын
Hi, the code run fine in localhost but when i deploy it on github I see a white background and only the text top left. In console gives me an error failed to load resources 404 and 6 unchecked runtime error "the message port closed before a response was received". It's like it can't reach the libraries needed to run. Anyone has any idea on what should i do?
@JSLegendDev
@JSLegendDev 20 күн бұрын
I have added a guide on how to deploy the site in the github repo linked in the description. Hope it helps!
@filippo_cecchi
@filippo_cecchi 19 күн бұрын
@@JSLegendDev Thank you. I finally fixed the code as the guide says, now it works perfectly!!
@JSLegendDev
@JSLegendDev 19 күн бұрын
@@filippo_cecchi Nice!
@mataplay1632
@mataplay1632 Ай бұрын
Brasil
@TheAzovStar
@TheAzovStar Ай бұрын
This is a way to create another version of your portfolio, because 99.9% recruiters will not have a time to play😅
@phoneix24886
@phoneix24886 18 күн бұрын
3000.1.17? Goodness gracious
@JSLegendDev
@JSLegendDev 18 күн бұрын
Yeah, Kaboom version naming is weird. 1000 is ver 1.0, 2000 is ver 2.0 and 3000 is ver 3.0.
@AayushDubey_007
@AayushDubey_007 11 күн бұрын
jeNa can I join your clan?
@memaimu
@memaimu Ай бұрын
I'd feel bad using this. Feels like borderline plagiarism lol.
@VinSilverstone
@VinSilverstone Ай бұрын
Javascript 😁😁
@kuroshahplays
@kuroshahplays Ай бұрын
First
@okonkworchizim6953
@okonkworchizim6953 Ай бұрын
2nd
@AB-kf4vp
@AB-kf4vp Ай бұрын
what is the use of studying coding now that all job will be done by AI and bot most peoples are scary for losing jobs in IT sector and new selection is only for highly IQ and skilled professional 😁
@gsdealer7691
@gsdealer7691 Ай бұрын
Make it a blockchain one...
@hedgehogform
@hedgehogform Ай бұрын
It's cool but not practical as a portfolio. I wouldn't bother to go through that just to know what your skills are. No one has the time to play a game just to see your skills. I mean it could work if you're applying as a game maker creator for a game studio but as a website? No.
@benhasel4540
@benhasel4540 25 күн бұрын
most indie games companies have people who look for stuff like this. Of course it depends on where are you applying but for the game industry this is very cool!
@phat80
@phat80 24 күн бұрын
The worst game development tutorial I’ve ever seen. You should run project at every step of the development and gradually show the progress. But you’re just writing and writing the code. It’s also a bad practice for beginners to write code in big chunks without even testing it.
@beutelschwitz
@beutelschwitz Ай бұрын
What a coincidence 😅 this week I thought about a digital blackboard as a game
Beginner JavaScript Project - Snake Game Tutorial
1:38:19
freeCodeCamp.org
Рет қаралды 84 М.
“Thinnest iPad Ever” - WHAT COULD POSSIBLY GO WRONG?
11:02
JerryRigEverything
Рет қаралды 92 М.
Кәріс тіріма өзі ?  | Synyptas 3 | 8 серия
24:47
kak budto
Рет қаралды 1,6 МЛН
Useful Gadget for Smart Parents 🌟
00:29
Meow-some! Reacts
Рет қаралды 10 МЛН
Build a Dev Portfolio as a 2D Game - JavaScript Course
1:37:28
JSLegendDev
Рет қаралды 2,8 М.
Enterprise Application: E-Learning App
iNeuron Intelligence
Рет қаралды 6
Code a Chess Game with Stockfish API - JavaScript Tutorial
3:16:43
freeCodeCamp.org
Рет қаралды 34 М.
Build a mobile popover menu with Svelte & OpenProps
12:44
Josh Nussbaum
Рет қаралды 302
Godot Game Development - Crash Course for Beginners
1:41:12
freeCodeCamp.org
Рет қаралды 895 М.
Making a Game in JavaScript with No Experience
5:49
Goodgis
Рет қаралды 704 М.
Quantum Computing Course
1:36:04
freeCodeCamp.org
Рет қаралды 29 М.
From Stay-at-Home Mom to Developer at Age 36 [freeCodeCamp Podcast #115]
1:13:47
Creating SMART enemies from scratch! | Devlog
5:40
Challacade
Рет қаралды 237 М.
Кәріс тіріма өзі ?  | Synyptas 3 | 8 серия
24:47
kak budto
Рет қаралды 1,6 МЛН