Building my indie game: one month of progress

Поділитися
Вставка
  • Опубліковано 14 лис 2024

КОМЕНТАРІ • 432

  • @jakehuang3545
    @jakehuang3545 2 роки тому +1273

    I don't think your video editing skills gets talked about enough. The fact that you can make a 10+ min video on in-depth programming architecture and design cool and compelling and hip-hop even makes you stand out so much from the rest of the field.

    • @questwalkerko
      @questwalkerko 2 роки тому +55

      "I don't think your video editing skills gets talked about enough"
      *continues to not talk about video editing skills*

    • @arial_01
      @arial_01 2 роки тому

      so true!

    • @oagalthorpe
      @oagalthorpe 2 роки тому +1

      The text color change for week 4 that went along with the beat drop was dope

    • @arial_01
      @arial_01 2 роки тому

      @@oagalthorpe Yah fr it was lol

    • @arial_01
      @arial_01 2 роки тому +1

      @Zark Hussain lmfao you are right, it is so much more, but u gotta admit his editing is damn good

  • @Tantandev
    @Tantandev 2 роки тому +228

    This voxel style and the method to generate them is mind blowing to me
    I have never seen such a thing, super cool!

  • @Kubmayano
    @Kubmayano 2 роки тому +335

    This man has so much computer knowledge and looks handsome af, what a dream

    • @JayeDidAThing
      @JayeDidAThing 2 роки тому +1

      10/10 would smash

    • @elxde0
      @elxde0 2 роки тому

      jdh stands for jSuper dFucking Hot

    • @cartoonfantasy4541
      @cartoonfantasy4541 2 роки тому +7

      where are the replies? They won't load

    • @neeblingneebler
      @neeblingneebler 2 роки тому +2

      I dunno

    • @rungeon83
      @rungeon83 2 роки тому +45

      I'm straight and even I can say he's stupidly good looking and crazy smart... and on top of it?! Funny... If I was a girl I'd be a total fangirl.

  • @twomur_
    @twomur_ 2 роки тому +338

    the editing is so clean and easy to follow! love the game progress and your style of videos keep it up!

  • @NickMorozov
    @NickMorozov 2 роки тому +353

    Shit, I've spent a week on making a camera follow a Unity's capsule in a non vomit inducing way. This is impressive! Keep it up!

    • @jdh
      @jdh  2 роки тому +152

      we all gotta start somewhere!

    • @puppergump4117
      @puppergump4117 2 роки тому +32

      I've spent a week trying to get a neural network to work. It can currently act like an OR operator. For week 2 I hope to make it act like an XOR operator.

    • @vincviertytaccount2608
      @vincviertytaccount2608 2 роки тому +36

      @@puppergump4117 Way to go. Before you spend too much time on a unsolvable problem: Neural networks without hidden layers (i.e. just input and output layer) are mathematically incapable doing XOR with most activation functions.

    • @souls.7033
      @souls.7033 2 роки тому +20

      Since we're all talking about what we did in 1 week, well I've been eating, sleeping, shitting and watching youtube. uhh yhhh ...

    • @puppergump4117
      @puppergump4117 2 роки тому +13

      @@vincviertytaccount2608 Don't worry, I first tested the net by adding a few million neurons and many hidden layers. Now I'm just repeatedly watching statquest and trying to get the math down.

  • @DOHandDOH
    @DOHandDOH 2 роки тому +18

    The entity component part is basically a conclusion to go with **composition over inheritance**. Worth reading about for any dev (not only game dev).

  • @hopperstreams4487
    @hopperstreams4487 2 роки тому +177

    See, it wouldn't be this difficult with a pre-existing game engine but jdh is also a fucking legend for the sheer amount of NIH content

    • @Official_KC
      @Official_KC 2 роки тому +7

      I'm always interested in people who go this route, instead of using something like Unity. I'm not saying they're wrong! Just curious about the motivation. It's like if someone wants to learn guitar, and they go out and chop down a tree for wood, melt some iron ore down for strings and frets, etc. But everyone has their hobbies and interests of course!

    • @deistormmods
      @deistormmods 2 роки тому +10

      @@Official_KC Your analogy doesn't really make sense. I don't see how building your own engine is akin to wanting to learn guitar despite doing x things that are unreleated. It seems like to me, he is passionate about game development but at the same time, wants to understand how exactly his favorite games are made (which mind you use their own proprietary engines). Hope that makes sense.

    • @Ready4Whatever
      @Ready4Whatever Рік тому

      @@deistormmods his analogy made perfect sense. I don’t get how you didn’t get it Lmaoo wtf

    • @deistormmods
      @deistormmods Рік тому +5

      @@Ready4Whatever Because learning a guitar and chopping wood are two completley unreleated things. Whereas making your own game engine will give you more skills and knowledge about how a game engine like Unity works and will also help you in the job market. No one's saying you should do that if you just wanna make games. I don't see how you didn't comprehend the disconnect.

  • @Dacaspex
    @Dacaspex 2 роки тому +39

    Your video style is really unique and truthfully enjoyable to watch

  • @angelluvslots
    @angelluvslots 2 роки тому +23

    W-wait, he made a follow up video like he said he was!?! Impossible!

    • @jdh
      @jdh  2 роки тому +12

      don't get used to it!

  • @yeppiidev
    @yeppiidev 2 роки тому +232

    ah yes this is what I call quality content. and btw another video idea:
    creating a browser from scratch

  • @jbritain
    @jbritain 2 роки тому +10

    Those trees actually look really awesome, I love the visual style of this.

  • @gooball2005
    @gooball2005 2 роки тому +10

    love your video style man

  • @historvical6062
    @historvical6062 2 роки тому +2

    Your editing is so good!! I'm here struggling with blueprints and c# in unreal and unity and you there are making your own game engine!! Kudos to you man!

  • @shmyrdejean4935
    @shmyrdejean4935 2 роки тому +3

    Honestly, these videos are amazing. I usually don't comment on videos but the work you're able to do always shocks me. Keep up the great work, can't wait for the next update.

  • @Armetron
    @Armetron 2 роки тому +81

    Man this looks amazing and I love to see the process/troubles your encountering
    I have a few questions:
    At 10:55 you started mentioning about the particles that appear when you chop a tree and that you wanted to have 1000 particles which was not possible, are you running your particle system on the GPU? or are each individual particle it's own entity that the CPU needs to work on? Same question for the leaves of the tree are they individual entities handled by the CPU?
    My other question is what platforms can your engine run on? I ask because thanks to the introduction of the Steam Deck I predict that Linux gaming will start to take off and perhaps consoles will start to make their own Linux distros in the future. That's why when I see someone making their own engine I ask if it can run on Linux.

    • @jdh
      @jdh  2 роки тому +66

      (for now) the leaves are one mesh that are rendered by the model manager for all tree entities through instance rendering - the renderer/entity system are (relatively) decoupled in this way :)
      Particles are individual entities (also for now) because I wanted to be able to maximally control their behavior (collision, movement, etc.) in these early stages of development. Will for sure be considering GPU-based particle systems later on, but for now it’s not worth the time when I don’t have a clear spec of what the system needs to be able to do. also it isn’t a bottleneck (yet).
      The engine is extremely cross platform! It uses BGFX which can run on Vulkan/Metal/OpenGL/DirectX and the rest is just some stdlib-depending C++, so as of right now there are no limits on platform. Though I imagine some things would have a to be (minimally) changed were I to start targeting windows, Linux, etc.

    • @1..1..1..1H
      @1..1..1..1H 2 роки тому +18

      Amogus

  • @orlaani1451
    @orlaani1451 2 роки тому +2

    I get amazed by the work you are doing while making the games, most of the time I can't really tell what's happening, but at least it inspired me get into gamedev(yet with unity). Also I love your editing style, and the fact that you put StackOverFlow as a whole into the resources section.

  • @unnamedblack2920
    @unnamedblack2920 2 роки тому +10

    Greate video thanks. I think the OOP approach for this inheritance problem is Strategy Pattern. Basically implement the behaviour example "Fly" and inject to the class the kind of implementation you want (PlaneFly, BirdFly... etc) and even at runtime you can change the behaviour if you want.

    • @deistormmods
      @deistormmods 2 роки тому

      You should never use inheritance either way.

  • @Asdayasman
    @Asdayasman 2 роки тому +2

    Can't wait for you to go from EC to ECS, whereby you move the logic off each component and into systems which act on sets of components. It makes the components WAY more composeable, brings literally all of the performance benefits (you don't get those with logic per component), and is really interesting to think about and design barriering and system execution dependency trees.

  • @philo8380
    @philo8380 2 роки тому +1

    I absolutely love your art style. The game has such incredible potential. Please keep working on it. Your videos are so great!

  • @gooball2005
    @gooball2005 2 роки тому +16

    yo can you make a playlist of the music you use in your videos?

  • @kurdtcoben
    @kurdtcoben 2 роки тому +1

    Holy shit, that looks *a m a z i n g*! Definitely keeping an eye on your channel, even though my brain is waaaay too smooth to understand at least half of what you're talking about! Keep it up, brother!

  • @theocrob
    @theocrob 2 роки тому +1

    I literally have been checking my notifications and your channel every day to see if you uploaded. Thank you for creating such amazing content that drives me to this madness!

  • @Dremth
    @Dremth Рік тому +1

    Always remember: memory is cheap, time is not. If you can precompute something and store it in memory, do it. I'm hoping that's what you did with your leaf placement when you said you optimized it. Because even the 5ms algorithm can stay inefficient if you just use it to precompute the data. You'll save time on having to optimize code, and then your leaf placement will scale as fast as your memory bandwidth (which is about as scalable as you can ever hope for). And if randomization is your concern, you can still precompute enough random variations to fit in even a single cache line such that you would never notice a pattern. So, unless you managed to get that 5ms algorithm to like double digit MICROseconds with a full world of trees, just use a few extra KB of memory and have them precomputed!

  • @ik2254
    @ik2254 2 роки тому +1

    1) This man is better than most of us at programming.
    2) This mans is better looking than EVERYONE of us by A LANDSLIDE (at least 99,9%)
    I feel like a failure

  • @1..1..1..1H
    @1..1..1..1H 2 роки тому +22

    I really want to see what he could make with a game engine.

  • @czytp9787
    @czytp9787 2 роки тому +10

    Remember the tetris os ? It would be really cool, if you would make a operating system with ONLY c++ and Assembly without a single line of C code. BUT just to run the Minecraft Clone.

  • @SKarboy_4
    @SKarboy_4 2 роки тому +9

    A video idea : program a programming language and program a game in it

  • @drjankenstein
    @drjankenstein Рік тому +2

    i love how you use the chad meme next to yourself...its the same person

  • @joiscode3832
    @joiscode3832 2 роки тому

    I love the little programing jokes like they are a nice touch

  • @tobafett2873
    @tobafett2873 2 роки тому +1

    I reckon a short blast of all the leaves from a tree as its destruction particle animation would look pretty sick (assuming such is not already in the works)

  • @nitrogenez
    @nitrogenez 2 роки тому +6

    I recommend you to make player and mobs models way cooler by making them stretch in-out a little when they're moving.
    this will make world more alive. urw.

  • @DerNivel
    @DerNivel 2 роки тому

    I just love the animation of the trees.

  • @mehceunisen
    @mehceunisen 2 роки тому

    dude I've never waited to someone to post a video or any kind of post, but little do you know, I was waiting for an update from you! Keep up the good work.

  • @smellthel
    @smellthel 2 роки тому +1

    Dude so far this game looks really cool.

  • @ducky1681
    @ducky1681 2 роки тому

    Love your videos, the minimalistic and clean editing, the nerdy, nitty-gritty details, everything! At this point, I'd say upload more often, but videos like yours take time to make.

  • @_JS96
    @_JS96 2 роки тому +1

    0:15 so relatable it hurts

  • @jasonnikolic
    @jasonnikolic 2 роки тому

    Subscribed. You're doing things from the ground up which honestly is a super valuable angle for learners.

  • @SebastianGraves
    @SebastianGraves 2 роки тому

    A man making a game without an engine. Clicked for the interesting topic, stayed for the beautiful hair and clean editing. Subbed.

  • @am3049
    @am3049 2 роки тому +1

    If your goal is to make a successful video game and you achieve that by making a game that lots of people will willfully give their free time to then you've made it. Nobody is going to care about the fact this guy made his own engine this is an exercise in procrastination if the goal is truly to make a dream passion project video game but evidently it's about getting views on a youtube video and receiving praise from random strangers on the internet. Great job you did in a month what someone could have done with an engine in a day.

  • @smellthel
    @smellthel 2 роки тому +1

    Those trees look wicked dude

  • @purplemosasaurus5987
    @purplemosasaurus5987 2 роки тому +3

    I started game dev by using the Godot game engine, but I just can't use game engines, I prefer to make my own game logic because that's easier for me, right now I'm using python to make my first original indie game, its a top-down RPG. I have got the player controls working and I've also added a goblin which walks randomly.

    • @astroid-ws4py
      @astroid-ws4py 2 роки тому

      Try maybe using Nim instead, it is like Python but 30x faster and compiles down to C and C++ and has direct access to C and C++ libraries

    • @purplemosasaurus5987
      @purplemosasaurus5987 2 роки тому +1

      @@astroid-ws4py Thanks, but I'm fine using python. I'll try Nim sometime else.

  • @FunNooberCodingForBeginners
    @FunNooberCodingForBeginners 2 роки тому

    In case anybody is interested the "hacker" graphics at the intro of the video is a command line tool called Hollywood. Good video as always

  • @b3at1
    @b3at1 2 роки тому +1

    You should consider changing tree opacity while the player is under it, that way you can see the character still

  • @squitz7056
    @squitz7056 2 роки тому

    A quick comment on the difference between component structure and DOD (data-oriented design). Components are still OOP! The difference between DOD and OOP is that OOP classes own certain data (member variables) while in DOD they don't. They just act upon it. DOD mostly goes like this -> Bunch of arrays containing data Each of them having a tag to their entity. The entity's read/write into those arrays. Nobody owns anything. Everything is central and nicely packed. I am not an expert on this but I think this is how it goes.

  • @ypaut
    @ypaut 2 роки тому

    those trees are so very lovely

  • @melody_florum
    @melody_florum 2 роки тому

    if you want some inspiration for "generative pixel art", Celeste makes heavy use of it. most of it is hand-drawn but there is also a lot of dynamic stuff like Madeline's hair, flags, wind, and a bunch of other effects.

  • @Gwilo
    @Gwilo 2 роки тому +4

    me commenting on how good the 12 minute video is after 1 minute of it being uploaded

  • @Dth091
    @Dth091 2 роки тому

    Fantastic video, great editing and very lucidly presented! One point though, your issue with OOP is with building inheritance hierarchies (trees of is-a relationships). Composition where an object's dependencies are data members not bases, combined with strong separation of concerns is way cleaner than some complex polymorphic structure and is definitely a strongly OO design.

  • @disconnect7
    @disconnect7 2 роки тому +1

    This "3d like" behavior of 2d objects looks cool.
    4:05 i never seen before so cool 2d flying leaf animation. I wanna see how this leaf fly away from garden leaf blower.

  • @nini700
    @nini700 2 роки тому

    you know what, I'll enable the notifications just for you, I'm annoyed that youtube doesn't recommend your videos as soon as they are uploaded. Thanks for the quality content ♥

  • @Gugafoodsofficial
    @Gugafoodsofficial 2 роки тому

    Your videos always leave me inspired to work on my side projects!

  • @divine203
    @divine203 2 роки тому +15

    Man ur the reason coding interviews are hard

  • @JonathanJardine
    @JonathanJardine Рік тому

    You've rediscovered composition over inheritance. Good job. :P also inheritance and polymorphism are two different things.

  • @Skeffles
    @Skeffles 2 роки тому

    Awesome to see how far you got in the month!

  • @elxde0
    @elxde0 2 роки тому +1

    man was actually eye candy the whole time

  • @Gabriel-nf8eb
    @Gabriel-nf8eb 2 роки тому

    this is amazing. the sheer skill you have.

  • @fuseinabowl
    @fuseinabowl 2 роки тому

    The voxel generation from the sprites looks really interesting, I love learning about making tools like that.
    While I was watching some bits I didn't like how the code in the background had loads of very distracting autocomplete windows flickering open and close (e.g. 3:48). I think I'd like it better if this was more muted or maybe paused altogether while the vid's focusing on something else.
    Very promising, I'm looking forward to seeing more of this!

  • @raidcrhonos
    @raidcrhonos 2 роки тому

    4:07 biblically accurate trees.
    No but seriously, that looks pretty cool to me, almost feels like some sort of boss

  • @PuffyRainbowCloud
    @PuffyRainbowCloud 2 роки тому

    Literally the other day I saw an ad on TikTok for a game where you restore flora and fauna to an ecosystem... But I bet your programming is more interesting and impressive!

  • @Doct0rLekter
    @Doct0rLekter Рік тому

    Object oriented programming’s orthodoxy is rarely actually used in any codebase for many of the reasons you note in this video. There are bits of OOP that are incredibly useful, but a better system just uses the aspects of OOP/other paradigms that work well for the specific problem at play. Instead of taking any one paradigm and dogmatically following its tenets: one should understand where each works best and how to get those aspects to collaborate efficiently while using the “best tool for the job” approach on each issue. Dogma rarely engineers its intended result.

  • @kernel0verflow919
    @kernel0verflow919 2 роки тому +6

    I really feel like that you are the most advanced developer I follow on UA-cam. Especially after your mindblowing TetrisOS Video, which was just amazing to look at the logic behind. Keep that good work up!

  • @HAAAAAAAAHHHHHH
    @HAAAAAAAAHHHHHH 2 роки тому

    These trees are so good !!

  • @jackawaka
    @jackawaka 2 роки тому

    i gotta say, those trees are gorgeous

  • @StiekemeHenk
    @StiekemeHenk 2 роки тому

    You did get a ton of work done, its more than enough

  • @elbbepp
    @elbbepp 2 роки тому +1

    ECS seems fun but i've never been able to wrap my head around it no matter how much I try.

  • @Tristoo
    @Tristoo 2 роки тому

    improving the movement of the character would make this a whole lot better. also I don't think he needs to be a block if your trees have actual geometry that's also not just blocks. great video!

  • @stevenjlovelace
    @stevenjlovelace 2 роки тому

    Can't wait to play this one day!

  • @IB0RjA131I
    @IB0RjA131I 2 роки тому +2

    Oh no! another UA-camr suffering the "do your game engine from scratch" fever. Hope this one does not lose his mind.
    Just kidding, great video jdh! Digging your editing skills :O

    • @IB0RjA131I
      @IB0RjA131I 2 роки тому

      @dk bruh hahahahaha for now I am addicted to see their videos, but who knows...

  • @filipw1432
    @filipw1432 2 роки тому

    So fun to see yet another video of yours! You should check out the indie-game Equillinox. From the little you said it seems to have similarities in the gameplay mechanics, and it's quite the gem if you ask me!

  • @georgecop9538
    @georgecop9538 2 роки тому

    You inspired me to make my own game engine and OS. Keep up with the good videos!!!

  • @rickseiden1
    @rickseiden1 2 роки тому

    This video makes me happy I don't have the creative skills to come up with a game idea that I would want to try and code.

  • @eboatwright_
    @eboatwright_ 2 роки тому

    Looks really great! I love the trees :)

  • @__8120
    @__8120 2 роки тому

    After 1 month your game is still further along than some finished indie games I've seen

  • @tresdoug
    @tresdoug 2 роки тому

    That's the coolest video I've watched in a while!!

  • @gachastorys5129
    @gachastorys5129 2 роки тому

    Jdh, implementing Importing the whole Unity Hierarchy, gameobjects, entity component system

  • @javadragon7475
    @javadragon7475 2 роки тому

    "Not as much as I had hoped"
    Me being stunned by all the progress he's made: Nani???

  • @newogame1
    @newogame1 2 роки тому

    Passion projects take years unless you have help or better yet a very simple concept

  • @Lorkin32
    @Lorkin32 2 роки тому

    That tree is goddamn gorgeous

  • @kumboi
    @kumboi 2 роки тому

    Week 3 was my favorite

  • @riccardopalleschi
    @riccardopalleschi 2 роки тому

    Man is packing some serious hardware

  • @hemanth.alluri
    @hemanth.alluri 2 роки тому +1

    Your gameplay idea seems to draw a lot of inspiration from Farewell North. Have you heard about it?

  • @anon_y_mousse
    @anon_y_mousse 2 роки тому

    In your last video you mentioned not putting the game up on github. I would suggest that you consider open sourcing the code for the game but keep all the content separate. Come up with an archive format for storing the content, say a zip file with a manifest, and you could charge money for the game content but still have the code be open.

  • @atk4227
    @atk4227 2 роки тому +2

    Would be cool to see some sort of implementation of anti-aliasing

  • @tmbarral664
    @tmbarral664 2 роки тому

    ECS... discovered it last year, thx to covid. Had a blast with this. Wrote an arkanoid clone. Very nice and well suited for game.

  • @qwoolrat
    @qwoolrat 2 роки тому

    glad to say I've been here since 2k

  • @laustkreibergfricke4707
    @laustkreibergfricke4707 2 роки тому

    Nice flowers and tree

  • @cold_fruit
    @cold_fruit 9 місяців тому

    9:50 jdh avoiding writing shaders like men avoid going to therapy

  • @RestfulMindbyMaura
    @RestfulMindbyMaura 2 роки тому

    In my next life, this is what I intend to do :P. For now, I'll just make music for games!

  • @roywastaken
    @roywastaken 2 роки тому +4

    sheesh... I don't feel right calling myself a Software Engineer with guys like you out here doing this amazing work!

  • @n8dev
    @n8dev 2 роки тому

    yesss

  • @sercrets9531
    @sercrets9531 2 роки тому +1

    We NEED a discord server!

  • @hermestrismegistus9142
    @hermestrismegistus9142 2 роки тому

    I'm getting Animal Crossing vibes from this. I love it!

  • @waffles1042
    @waffles1042 2 роки тому +1

    This guy is a GOD

  • @stonefreak5763
    @stonefreak5763 2 роки тому +1

    If you would want to work wothout a Entity-Component-System, than you can try to work with interfaces, I mean, this ends in the same way, just that the Components are not added manually in the Constructor but in the Declaration of the Class, but hey, who cares

  • @ownag.e
    @ownag.e 2 роки тому +1

    yo can you make a video showing your neovim setup? like the plugins and your configuration file

  • @nopilpl
    @nopilpl 2 роки тому +1

    Great video!

  • @SuperchargedW12
    @SuperchargedW12 2 роки тому

    BABE WAKE UP JDH DROPPED ANOTHER DEVLOG

  • @Steerable6827
    @Steerable6827 2 роки тому

    Nice htop + cmatrix combo

  • @smellthel
    @smellthel 2 роки тому +1

    Don’t worry man Earth took billions of years to get trees working

  • @nicholaswilliamson1684
    @nicholaswilliamson1684 2 роки тому

    You should make the tree leaves fall when you break it