Тёмный

3 Months of Game Programming in 20 Minutes 

jdh
Подписаться 276 тыс.
Просмотров 597 тыс.
50% 1

more like 3 months of game programming in 3 months
BONUS VIDEO/CODE WALKTHROUGH: • How does a custom game...
TWITTER: / jdah__
PATREON: / jdah
GITHUB: github.com/jdah
EDITOR: NeoVim
VIMRC: gist.github.com/jdah/4b4d98c2...
THEME: gruvbox
RESOURCES:
cppreference.com/
learnopengl.com
opengl-tutorial.org
shadertoy.com
stackoverflow.com
* yes, 11:16 should say "position" instead of "postiion" i know 😔
0:00 Intro
0:26 Design
3:03 Early Prototypes
4:55 UI
6:15 Palletization/Lighting
7:22 Portals
9:00 Pixel Problems :(
13:10 Raycasting/Shadows
16:50 New Designs
18:40 Smooth Camera
20:00 Outro

Наука

Опубликовано:

 

5 авг 2024

Поделиться:

Ссылка:

Скачать:

Готовим ссылку...

Добавить в:

Мой плейлист
Посмотреть позже
Комментарии : 675   
@Chadderbox
@Chadderbox 2 года назад
Your technical knowledge is amazing, I'm always impressed with how much you manage to do and how you do it. I can't believe that you added raytracing aswell.
@droctogonapus1223
@droctogonapus1223 2 года назад
Raycasting
@bl4ckk
@bl4ckk 2 года назад
yoo chadderbox
@juliand3565
@juliand3565 2 года назад
not to diminish the effort but raytracing/casting really isn’t technologically challenging, in fact its one of the easiest CG exercises to do, the big issue is that theres no real way to improve the performance :) Its perfect for this due to the low resolution though!
@mikaxxy
@mikaxxy 2 года назад
@@juliand3565 yup. To add onto it, the recent hype around it is just that modern GPUs now have dedicated hardware for calculating rays more quickly to the point that it can be used in modern 3d games to actually calculate lighting in real time. Raycasts have been around ever since doom came out (30 years ago), at the very least.
@aw1lt
@aw1lt 2 года назад
chadderbox
@ArchitectofGames
@ArchitectofGames 2 года назад
I would strongly suggest watching some better videos for inspiration (seriously though, incredibly impressive to see such an engaging explanation of something that may as well be magic as far as I'm concerned!)
@jdh
@jdh 2 года назад
no no, it’s better this way - when the gameplay ends up bad we will only have you to blame!
@Kirtle
@Kirtle 2 года назад
The man, the myth, the legend himself
@markopolo2224
@markopolo2224 2 года назад
bruh
@3zzzTyle
@3zzzTyle 2 года назад
What games did you architect, Adam?
@sagitswag1785
@sagitswag1785 Год назад
@@3zzzTyle what color is your bugatti?
@Rozza3
@Rozza3 2 года назад
I don't think it devalues the idea at all, but the "robot cultivating plants" pitch instantly reminded me of Grow Home & Grow Up. Very different though as the main focus of those games was unique (for the time) movement & climbing mechanics in 3d environments. Potentially some good research opportunities there!
@jdh
@jdh 2 года назад
huh, I've never heard of those games before! thanks :)
@joaoruss0
@joaoruss0 2 года назад
Reminds me of Wall-e. ru-vid.com/video/%D0%B2%D0%B8%D0%B4%D0%B5%D0%BE-veySlNgGMO0.html
@lonkster
@lonkster 2 года назад
The music in that game is peaceful
@nesaijn
@nesaijn 2 года назад
I also got reminded of Grow Home! And also since jdh's game is underground it also reminded me of the anime Gurren Lagann. Combining them to in my head led to an image of a robot underground where the goal kinda is going to the surface and then to the sky and eventually to space :O
@tytalksYT
@tytalksYT 2 года назад
Seeing vec4 in your code and the projections reminded me so heavily of my computer graphics class. You NAILED this. Great work! Keep it up, ill be watching everything you put out
@TheBauwssss
@TheBauwssss 2 года назад
Dude, that looks really awesome! When I first saw those portals with the sick a$$ lighting, the bloom and the glowing particles _in pretty much all colors of the rainbow_ my jaw just about hit the floor! It looks really, _really,_ *really* good! I'm looking forward to playing your game already 😊
@deflesz6053
@deflesz6053 2 года назад
I would love to learn more about your NeoVim configuration, it seems that your workflow is really robust in it.
@jdh
@jdh 2 года назад
i might make a longer video about the setup at some point, but the driver behind everything is really just FZF (github.com/junegunn/fzf ) and the builtin LSP in NeoVim!
@c4llv07e
@c4llv07e 2 года назад
@@jdh broken link. Add a space after it, youtube thinks ')' is a part of the link.
@smellypengu1668
@smellypengu1668 2 года назад
@@jdh A video would be nice!
@bide7603
@bide7603 2 года назад
Just seen this after commenting the same thing +1
@ahmedyehia1538
@ahmedyehia1538 2 года назад
i wonder how did you put that terminal down in neoview @jdh
@lima7132
@lima7132 2 года назад
Man, that's crazy! I love the style and how much you went through to get to something you were happy with :] I was surprised to see someone come up with an idea so similar to mine, (and actually start making the game lol) really hoping it comes out fully fleshed out someday! We need more robot vs nature games out there haha
@hassanshaikh3451
@hassanshaikh3451 2 года назад
I find it super satisfying when a pixel art style game actually has consistent pixel size so epic work doing that as well as implementing things that wouldn't traditionally be seen in such a style like smooth camera interpolation
@razorstone3088
@razorstone3088 2 года назад
how consistent were you in these 3 months? Did you have lots of breaks in between or were you grinding the whole time?
@jdh
@jdh 2 года назад
reasonably consistent, there's of course also a *lot* of work that doesn't end up in the video so it might not look like much. probably should have taken more breaks :)
@chefaku
@chefaku 2 года назад
another question that I ask myself, had to refactor the code a lot, or hardly even touched the code already done?
@jdh
@jdh 2 года назад
@@chefaku everything is constantly being refactored. no code is safe!
@lolcatwill
@lolcatwill 2 года назад
the answer is simple: meth
@macslash5833
@macslash5833 2 года назад
@@jdh have you tried rust, if so will you ever use it in a project
@minecraftaddictXD
@minecraftaddictXD 2 года назад
Amazing video! Recently I've gotten into game development (although I'm starting off with Unity and C#, I doubt I could handle the mental strain of making anything remotely playable in C++ my first try haha), and videos like these are what really pushed me to start in the first place! I'm probably about to use the wrong terminology, but there's just something so fascinating and inspiring about seeing how iterative the design process is; it takes months of dedicated work to achieve systems that most players will take for granted, and watching how you find solutions to functional camera and lighting systems makes it seem a lot less daunting! I was introduced to this channel through the Minecraft from scratch video and found this video through your tweet -- and I'm looking forward to seeing more progress on this game's development!
@yarpen26
@yarpen26 4 месяца назад
As someone who almost screwed off his own head from his neck while trying to code a freaking _pause menu window_ in a 2D game I'm building in my company's proprietary software (our own library is there but it has zero game-related features, only the most basic geometric operations as well as some QoL things such as a scripting language or array element handling, so it's kind of in between a framework and a dedicated engine), the phrase "taken for granted" has adopted a brand new meaning to me.
@arial_01
@arial_01 2 года назад
LES GO WE GOD MORE JDH! Love watching this stuff, been around since the beginning and cant wait to see more!
@GhsT-th2gg
@GhsT-th2gg 2 года назад
Very cool project ! Do you think you'll make the repo public someday ? I'd love to check out that engine
@noxmore
@noxmore 2 года назад
Awesome video! I really like how this game is turning out, and i'm excited about what you do next.
@relic374
@relic374 2 года назад
your videos are epic. they are super entertaining and I love how you explain everything. honestly one of my favorite youtube channels.
@ggc_5655
@ggc_5655 2 года назад
As always, an amazing and VERY inspiring video!! Also, maybe you can consider adding a "pinch of" factario by adding some mechanisms that help you to reach your goal.
@averageenthusiast7616
@averageenthusiast7616 2 года назад
I’m absolutely in love with all of these concepts all together. I love the setting, the art, the whole idea of it being underground, the building, all of it. I really hope we’ll get a playable version soon at some point.
@StarmanSuper00
@StarmanSuper00 2 года назад
The voxel jitter fix reminds me of a technique used in (directional light) shadow mapping to essentially correct for the same problem there: as the directional light view frustum moves with the player camera, object rasterization to the shadow map produces aliasing artifacts which vary with the camera view, so shadow edges flicker and warble as you pan the camera around or move. In that situation you define a matrix projecting the center of the camera frustum to texel space, floor its x/y components, and project that back to world space before finally using the floor()'d frustum center position to produce the actual light view matrix. (I was not smart enough to figure this out on my own, and had to study the trick before properly understanding it, but you're clearly a different breed)
@jdh
@jdh 2 года назад
that's exactly where the trick came from!
@RedZFlame
@RedZFlame 2 года назад
i'll be honest, the screen when palletization is off also looks really cool. the vibe gives me sort of a deep game with soft, subtle graphics that might show the way someone sees the world. i really hope that there's gonna be an option to be able to see the game without palletization, even if the graphics will be made around the idea there will be palletization, it looks like something that would change the graphics in such a subtle but impacting way
@Dayne27
@Dayne27 2 года назад
This is very impressive, I'm enjoying these dev logs. It would be cool if you could make a video going into more detail about the coding aspects and how you overcame some obstacles. Other than that, it's looking really good :D
@Skeffles
@Skeffles 2 года назад
Great to see you flesh this out. It's really interesting seeing the problems you ran into with 3D isometric rendering.
@AdrianCastravete
@AdrianCastravete 2 года назад
This is the first time I'm actually watching one of our movies and at ~0:40 I already subscribed. I love your setup and it's what I also use. But probably the reason I subscribed has more to do with the fact that I relate to your struggles while game designing / programming. I wish you luck and hope to see great games from you! ;)
@heartsremedy
@heartsremedy 2 года назад
This is incredible! genuinely! I can't believe you did this, I can barely work with angles in my games, much less lighting effects, ray tracing, I can barely make a working camera. I'm in a similar boat because I use python and pygame to make games, but there is still a lot of stuff under the hood that's already done for me, so this is just genuinely baffling to see!
@posterizedsoul4810
@posterizedsoul4810 2 года назад
'Turns out game design is harder than any programming problem.' *(as a programmer)truer words have never been spoken
@WasatchWind
@WasatchWind 2 года назад
As a designer who's seen programmers do design, truer words have never been spoken.
@TidanOfc
@TidanOfc 2 года назад
Even though I disagree, I can respect your view point.
@Mika-ss2yh
@Mika-ss2yh 2 года назад
YES!
@simplexeon
@simplexeon 2 года назад
From the perspective of game designer who knows very mild amounts of code, i feel like most people can design a game but not all of the technical black magic required to make it work, so it's interesting to see the other perspective. Just a natural disposition i guess
@jasper-3338
@jasper-3338 2 года назад
@@simplexeon to work out an idea completely is harder as just programming the idea out. The programmer knows how to program it but onto how it should work? Well back to the design!
@bryanthegoalie5692
@bryanthegoalie5692 2 года назад
I'm getting into programming, and development. I love watching what others are doing. Thank you!
@matt123337
@matt123337 2 года назад
Hell yeah, new jdh video just dropped
@wijiler5834
@wijiler5834 2 года назад
Keep up the great work jdh, you are inspiring me to get more done especially my programming language
@bunnyboy7008
@bunnyboy7008 2 года назад
Being a guy who has just started out with programming & CS in general, this all is not only overwhelming but also excessively intriguing. I have always loved the idea of lines & lines of text making a machine do what you want it to. Great video! I enjoyed the dev log very much!
@kristzz6586
@kristzz6586 2 года назад
I'm really looking forward to see how this project will turn out, you are one very dedicated programmer, wish u the best of luck
@deckard6052
@deckard6052 2 года назад
I love your videos, each one is inspiring me to continue working on my projects or learn some new tech!
@electron8262
@electron8262 2 года назад
I really like your C++ coding style. I think you use the modern luxuries of the language whilst still keeping it readable and treating it as a C with Classes.
@quincyames2014
@quincyames2014 2 года назад
been working on my own game/engine for a few months and this is really inspiring thank you
@alexandrosfilth7042
@alexandrosfilth7042 2 года назад
great work! looking forward to working with artists like you on the second renaissance
@Gemeneye0ne
@Gemeneye0ne 5 месяцев назад
You are so incredibly talented! I love video games. I especially love programmers that create something new, to me it shows wanting more than just programming but art and innovation. Keep up the awesome work, I am always in awe at how complicated games are, and truly respect when one is dont well.
@talkashie
@talkashie 2 года назад
This looks really cool, excited to see more! I think it's a bit jarring when the camera changes angles, though. Have you tried adding a sort of rotation/transition animation when rotating the camera around?
@jeffstienstra3615
@jeffstienstra3615 2 года назад
That smooth camera movement is amazing. I saw that other video too by aartheficial, amazing stuff.
@kleesup
@kleesup 2 года назад
Finally, a new video, love your content! 💪💙
@lucianochadru4064
@lucianochadru4064 2 года назад
Awesome !! Very interesting work. Big up
@quasigod1083
@quasigod1083 2 года назад
Watching you navigate you code with your neovim workflow is incredibly satisfying for some reason Also I love the games name!
@mr_noodler
@mr_noodler 2 года назад
Amazing work!! Jdh is a Very talented programmer and computer scientist, hats off!
@bu3778
@bu3778 2 года назад
Respectfully i NEEEED more! Chill vibes and I really like the aesthetic of your game, keep it up (or else)
@ZephaniahNoah
@ZephaniahNoah 2 года назад
That looks fantastic! I'm excited to play it.
@guyfromdubai
@guyfromdubai 2 года назад
This looks so good dude! I wonder what might be lurking in the underground that could hinder the robotanists flower finding progress
@dottedboxguy
@dottedboxguy 2 года назад
heeey a video from you, nice, can't wait to watch that (edit : very nice video, i learned quite a lot of things while watching it that will most likely be useful for me in some years, yay)
@mikul3122
@mikul3122 2 года назад
Very tasteful design, the lighting is fantastic
@WasatchWind
@WasatchWind 2 года назад
The game is looking fantastic, I really like the concept and the name!
@joshuaisemperor
@joshuaisemperor 2 года назад
Am I the only one that find it so relaxing and mesmerizing just looking at all that code being written while listening to the soothing voice over telling about this amazing journey?
@domenhribernik3414
@domenhribernik3414 2 года назад
Great video can't wait for the next one!
@swangyi
@swangyi 2 года назад
Worth the wait mate! Keep up the work.
@michaelrichardson5322
@michaelrichardson5322 2 года назад
this is fucking nuts. looks absolutely stunning can’t wait for the next devlog
@andr3318
@andr3318 2 года назад
you deserve 1 million subs NOW!!!! ur the best programming youtuber I've seen!!! And also you inspired me to create my own game! So thanks for all.
@RAStemen01
@RAStemen01 2 года назад
This is really cool work, I always enjoy seeing how people encountering similar issues end up with their own unique and clever solutions. I was a dev on the now defunct game, Crucible, and we too had a character that was a plant loving robot. Its name was Bugg, but can you guess what its codename was? Yep "Robotanist." I'm sure we weren't the first to come up with that concept/name, but I'm pleased to see that we were on to something. :)
@justinhicks1711
@justinhicks1711 Год назад
Cool lighting and cute graphics!!
@Bebeu4300
@Bebeu4300 2 года назад
It's cool to see everything coming along and the game design falling a little bit more into place. One detail I'm not too sure about is the palette stuff. I feel it makes the game look like a heavily compressed video and I personally prefer having smoother colours. Of course, I'm not suggesting you remove it necessarily, but if you release the game, an option to disable it would be much appreciated.
@pognar
@pognar 2 года назад
Don't strain yourself too much, every video you upload is a treat.
@AlexHicks_Tutorials
@AlexHicks_Tutorials 2 года назад
Really coming along, nice work!
@CartoonzTV1
@CartoonzTV1 Год назад
Good video thank you , updated visual studio and everything worked. I'm really glad I found a work
@Gwilo
@Gwilo 2 года назад
I'm in love with the art style and general feel of the game already
@Grimm-hb7ek
@Grimm-hb7ek 2 года назад
I know this is early but I honestly think you're one of the smartest programmers out there, everything you've done so far literally looks so amazing dude.
@myth2553
@myth2553 2 года назад
3 months wait was worth it for this!
@frogman1
@frogman1 2 года назад
the concept is so very beautiful :)
@azarsraproductions7824
@azarsraproductions7824 2 года назад
Keep Working on this, I feel this has a huge future!
@spekulatiu
@spekulatiu 2 года назад
Holy Shit, this looks fucking awesome. Really hope it gets finished, not like 99.9% of other game devs with dev logs (*cough* Karlson from Dani *cough*)
@spiderbat2089
@spiderbat2089 2 года назад
You’re one part of the reason he hasn’t finished the game
@spekulatiu
@spekulatiu 2 года назад
@@spiderbat2089 ah yes, ofc. Thenn go ahead, explain yourself.
@DoodleBunnyTV
@DoodleBunnyTV 2 года назад
@@spekulatiu he hasnt completed it because so many people are complaining about it that the pressure is too much for him
@spekulatiu
@spekulatiu 2 года назад
@@DoodleBunnyTV i mean yea thats a reason. But i also didnt want to put him in a bad light, it just worked with the joke.
@mananasi_ananas
@mananasi_ananas 2 года назад
Or our boy Randy
@tytalksYT
@tytalksYT 2 года назад
Is there any chance you would make a video on the planning/ prep required/put in to make a project of this size? It would be really fascinating to see the methods you use to break this down and make it manageable
@anti2023
@anti2023 2 года назад
The soft camera touch was simply.... hmmm satisfying. It helps easing the motion sickness that usually happens with full locked camera.
@redstone-flux
@redstone-flux 2 года назад
I'm just impressed you coded it all in neovim
@jakepauls2010
@jakepauls2010 2 года назад
this looks absolutely insane! really cool stuff! what do you use for building? are you using cmake or makefiles or something else?
@jonathanfaber3291
@jonathanfaber3291 2 года назад
One potential problem I see is that losing the character behind the isometric stuff is very possible (say while digging a tunnel), so the geometry needs to be turned transparent/translucent at least partly so the player can see through it?
@twomur_
@twomur_ 2 года назад
wow this is so cool! imagine a roguelike with this art style i feel super inspired!!
@xhidden9817
@xhidden9817 2 года назад
Let's go new video I'm excited!
@zelenpixel
@zelenpixel 2 года назад
the palettized lighting looks so lovely
@StephenKim422
@StephenKim422 2 года назад
Great video as always. I am finding it challenging to carve time out for my pet projects with a full-time job I just started. How much time were you able to work on this daily?
@VishalSharma-bt8qk
@VishalSharma-bt8qk Год назад
Thank you man for sharing this stuff
@Magnogen
@Magnogen 2 года назад
Those raytraced shadows are mmm _chef's kiss_
@TRiToNDREyJA
@TRiToNDREyJA 2 года назад
Pretty damn awesome dude, subbed
@GerbilNoises
@GerbilNoises 2 года назад
Anxiously waiting for the next video about this game
@rudyfaile
@rudyfaile 2 года назад
Very Exciting. Great work as always jdh. Did you create the art as well?
@HairyPixels
@HairyPixels 2 года назад
Is the color palette reduction a shader or done on the CPU? Very interested to know how that process works.
@nesaijn
@nesaijn 2 года назад
Your robot-underground-in-caves game idea gave me this really awesome image of a mixture of the anime Gurren Lagann and the game Grow Home
@David-ng9qh
@David-ng9qh 2 года назад
2 videos from jdh, christmas hit early
@jakobwetzel8167
@jakobwetzel8167 2 года назад
Let's Go! So excited!
@hicknopunk
@hicknopunk 2 года назад
This reminds me of making final fantasy and dragon warrior like games in pascal as a kid with 2 of my friends. We even wrote a bitmap art program, tailor made to our games. It made sprite and tile art sooooo much faster to make than using other dos art programs too. One nice feature is you could 4 way split screen and load in 3 sprites, then being able to copy sprite frame to 4 and it could even play the pictures as an animation. (Every non background element had 4 frames). We saved a lot of processing by making custom fonts for all the background tiles, so we could fake scrolling. The hardest part was composing PC speaker music, which in the battle procedure, we had to hand code, and basic bank switching to have 3 copies of the game, one with battle music, one overworld and a town song. Honestly, programming without libraries is sooooo freeing. I miss those days from decades ago.
@user-il7vq1gc2i
@user-il7vq1gc2i 9 месяцев назад
Translation is the paradigm, the exemplar of all writing. It is translation that demonstrates most vividly the yearning for transformation that underlies every act involving speech, that supremely human gift.
@obszczymucha1337
@obszczymucha1337 2 года назад
Fantastic work!
@ErikPelyukhno
@ErikPelyukhno 5 месяцев назад
18:15 when I noticed the cute little green blinking light on top of the robot botanist that made me really happy 😊
@ingotine
@ingotine 2 года назад
When you were talking about the shadows, the entire time I was thinking "raytracing, raytracing, raytracing" as a joke but then you actually did it and I was so happy. It looks awesome!
@ianyourgod
@ianyourgod 2 года назад
I JUST REWATCHED UR OTHER VIDEOS LETS GO
@gergonagy846
@gergonagy846 2 года назад
The background music really sounds like a Minecraft:Pigstep lo-fi remix to me... Love it (and the video too, keep it up!)
@Markyparky56
@Markyparky56 2 года назад
If the Bee Movie taught me anything, it's that flowers need pollinators. Also, that camera overscan trick was real slick, made all the difference!
@tendo6385
@tendo6385 2 года назад
I really think this color pallete lends itself way better to bright and lively scenes. You might want to merge it with another pallete for the dark underground environment.
@TheShelfman
@TheShelfman 2 года назад
You're basically a wizard to me, but I'm loving this so much! Great idea, too😁
@falkelh
@falkelh 2 года назад
You're Vim setup is really nice!
@reubs
@reubs 2 года назад
dope video dude you got my sub
@Sccial
@Sccial 2 года назад
Hi, this is turning out really nice. What font are you using?
@Gerz970
@Gerz970 2 года назад
Maybe the robots blinker could change based on how it feeling or on its health. I feel like it would be cool and add lots of visual feedback if the light were to change to red when getting towards low health and start to blink faster the lower it goes.
@caseymiradewitt
@caseymiradewitt 2 года назад
It's a joy to watch you program, H. Jon Benjamin
@krisztiankoblos1948
@krisztiankoblos1948 2 года назад
What do you think. How much faster would it be in Unity? Last time when i've used cpp with ogl was like 15 years ago.
@dimkauzh
@dimkauzh Год назад
I'm like watching your video, I understand what your talking about but i can't even think of how i would inplement that! Amazing!
@chikion4660
@chikion4660 2 года назад
Do you have a like a target minimum spec for running this game, or make the game and what runs it runs it
@ModBros8434
@ModBros8434 2 года назад
I think your game concept has a lot of promise. I a gameplay loop where you learn how different elements of your ecosystem interact through experimentation and use that knowledge to make it self-sustaining would be very fun.
@finndemoncat9379
@finndemoncat9379 9 месяцев назад
Impressive work ❤
Далее
Programming a multiplayer game from scratch in 7 DAYS
18:28
4 Months of Game Programming With My Own Engine
21:30
Просмотров 433 тыс.
ПОМОГЛА НАЗЫВАЕТСЯ😂
00:20
Просмотров 804 тыс.
How NOT to make a game from scratch
8:34
Просмотров 273 тыс.
Remaking MINECRAFT 2D (Minicraft)
15:46
Просмотров 310 тыс.
Building my indie game: one month of progress
12:26
Просмотров 273 тыс.
Optimizing my Game so it Runs on a Potato
19:02
Просмотров 521 тыс.
Dear Game Developers, Stop Messing This Up!
22:19
Просмотров 700 тыс.
cozy saturday night gamedev in C
3:03:25
Просмотров 69 тыс.
Making Lots of Levels for my Indie Game
16:52
Просмотров 406 тыс.