How NOT to Develop a Game (A Gamedev Story)

Поділитися
Вставка
  • Опубліковано 2 лют 2023
  • EDIT: This devlog contains almost nothing about the game, so I'm rebranding it and going to start the devlogs again with much higher quality.
    Apparently everyone (every indie gamedev, anyway) is making their "Dream Game". It's just marketing! Though, I do this game will be very cool and I have been thinking about it for ages.
    A reading of the article on my site: dylanfalconer.com/blog/dawnbr...
    ➤ Website: dylanfalconer.com
    ➤ GitHub: github.com/Falconerd
    ➤ Discord: / discord
    #gamedev #rust #devlog #zig #gameengineprogramming
    #rustlang #cprogramming #gamejam #unity

КОМЕНТАРІ • 35

  • @TheExtremeCube
    @TheExtremeCube Рік тому +11

    What's the lesson from the cautionary tale in the end? If you could go back to 2019, what would you do different? Would you just stick with whatever you chose first?

    • @DylanFalconer
      @DylanFalconer  Рік тому +8

      I wouldn't take the decision to change the tech stack so lightly. If I were to start from the beginning with what I know now - I'd make a list of requirements and my personal tastes and start working from that. Working with tools you find frustrating can create way too much friction - at the same time, everything you have to implement yourself adds a time cost.

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

      @@DylanFalconer Yup, seems about right. I started making my own engine for my game in c++. Never did any c++ before that. I kinda got the idea to maybe rewrite in Rust, because it just seems like an all around more modern language. But for now I think I'll stick to c++ so I can learn more of it

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

      @@TheExtremeCube Probably a good idea - I recently started learning C++ too for competitive programming and it's not as bad as I imagined. I'm sure you have heard this a million times, but look into RAII haha

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

      @@DylanFalconer I haven't heard it a million times actually lol, I've heard of RAII and just read up on it a bit now for the first time. At the moment, can't think of anything that I should rewrite with this new info

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

      @@TheExtremeCube fair enough!

  • @icemojo
    @icemojo Рік тому +6

    It's not a train wreck. It's an experience. And it's as valuable as any other form of experience.
    Making a game is a journey after all. Sometimes, exploratory in nature.

  • @UseCondomsKid
    @UseCondomsKid Рік тому +6

    Great video man. I always find myself in situations similar to yours, where I keep trying different frameworks, engines and languages. I say it's for the sake of learning something new, but I never manage to get anything that I'm proud of working, this is due to me always wanting to create a good, scalable, and clean framework, everything needs to function perfectly and elegantly and I always prioritize the engine side rather than focusing on the actual software that I'm trying to build. My advice is to always start small, build the most bare bones version of the idea even if the code is messy, and expand from there, prioritize the game, and the engine will shape up according to your needs, rather than it being the other way around.

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

      That's a good way to go about it. I hope you can sort yourself out!

  • @vapandris
    @vapandris Рік тому +7

    I feel like a lot of us can relate ateast at a smaller scale.

  • @Salantor
    @Salantor Рік тому +3

    Who would have thought that the hardest part of game development would be to pick and idea - tech stack, mechanics, etc - and just stick to it.

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

    Can’t wait to see the full thing!

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

    I went through something similar a while ago, and ended up putting away hobby programming completely. Now I'm getting back to it. I'll try my best to avoid wasting time, but I think it is just part of the journey.
    I've been.. a really talented kid when growing up, even university wasn't a big deal.. but as a result I never learned how to learn and do something difficult, and guess it was/is time for me to learn that. I feel like the trainwrack I went through, and will probably go through is just the part of it.

  • @dreamrider7128
    @dreamrider7128 5 місяців тому

    The story of my life... I've had this idea for a game for a very long time and I'm just walking in circles not getting anywhere close to it (I have so far the story, gameplay, storytelling, even some fights planned). My path so far has been:
    *Unity (this is where I started back in 2015...)
    *Unreal (as a computer scientist and software developer I'm also one of those code elitists, so I thought it has to be done in C++ or it isn't serious... really a dumb approach tbh but at least got to like Unreal for real lol)
    *SFML (I wanted to challenge myself to make some simple/basic/classic games with pure C++ so I can actually understand how engines work in the backend)
    *SDL (because "what if I someday ship for nintendo switch or web?", yeah I'm that ambitious... it's good to dream big but should try to keep things as realistic as possible)
    *Unreal again (because of the possibility of landing a job as an "Unreal developer")
    *SDL again (when it comes to 3D I believe I got it clear, but still can't decide on which engine to use for 2D... I wanted to try Godot but honestly the community was unwelcoming to me when I asked some super specific questions)
    I've been thinking recently that if I'm to make an ambitious game I may just use Unity to save some time, for now I'm continuing to learn SDL but this time as a personal challenge, I do want to make classic games like arkanoid, gradius, pacman as a learning exercise, once I'm done with that itch I may be able to decide if I really want to make an ambitious project (like a metroidvania) with only SDL or if I'll just use "out of the box" engine to work with (after all I'll be doing the programming, the pixel art, the level design, the storyboard, etc.)

    • @Svatko
      @Svatko 21 день тому

      Good luck.

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

    Heh I can relate to this somewhat. I think one should be very clear about the actual goals. If your goal more than anything is to make a game, you should always pick what you are the most efficient at and that allows you to achieve the end result as fast as possible. If you actually just want to become a better programmer, and if you end up finishing a game, then great, then I actually think learning C and just "sticking with it" is a very worthwhile goad. It will for sure make you a better programmer, game or no game. There is plenty of elitism going about in the programming industry, although I see most of that from inexperienced programmers. It's not only a thing in the software industry but also in other industries. When you start to gain some knowledge and skill it's easy to fall into a fallacy of thinking that because you know a little bit, that you have mastered your craft. Once we can separate ourselves from the new beginners, it's easy to do sort of a "self rewarding" mindset of wanting to bask in our achievements. Ironically, when you start gain substantial knowledge in any field you also become less arrogant (most of the time) because you know enough to know that there are those much better than you.
    C is my favorite language (even though my day job is typescript and PHP (I used to work in game dev before that)), and I am making a rather ambitious game game with it, but it's mostly on the evenings and weekends for fun, and I have no illusions that it will ever be released, but who knows? I'm mostly doing it to become a better developer and because it's simply fun to make for the sake of making it.
    I guess part of that comes from having worked in game dev and burned out severely, I have no illusion of that being some glamorous existence, so it's not something I really care about.
    Also about c "missing things", that's what I love about it. It doesn't get in the way, and leaves it up to you to implement things. Even down to your own strings, dynamic arrays, memory subsystems etc. If you accept that and do it, you'll learn so much about how things actually work when you program in other languages that abstract these things away from you. Again, if your end goals is not to ship a game that is :)

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

    The grid flowchart reminds me a lot of the Carnage Heart series which is about building a team of robots to battle each other. I know your game is turn-based but it could be worth a look to get more ideas perhaps. They're great games as well imo.

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

      I had not heard of those games so I looked them up, they look pretty neat! Nothing is new under the sun aye?

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

      @@DylanFalconer They're tight I highly recommend them. In the latest one for the PSP (Carnage Heart EXA) you can also make robots that you can manually control but you have to program it and the inputs. It's pretty neat.

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

    Still hoping for a Zig game engine tutorial one day like your C series. 🤞

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

      I'll put it on the list of options for what to do next

  • @solmyr42
    @solmyr42 11 місяців тому

    Kind of have the same problem. My "solution" thus far has been to use my paid work as a focus point for my prigramming interests, but being more self directed would be a awesome. But sometimes you just have to make your mistakes to get more experienced... Mistakes like excessive self criticism?

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

    What game engine would you recommend beginner with no coding background and knowledge?

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

      Unity - because the community is absolutely massive and it will do most things you want pretty easily. You can get by using the simple scripting that most people use in Unity without knowledge about the underlying system.

    • @vincenzolamberti5658
      @vincenzolamberti5658 11 місяців тому

      ​@@DylanFalconerisn't better create a own engine?

  • @AnnasVirtual
    @AnnasVirtual 10 місяців тому

    this is me right now

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

    I suggest just getting a book like Mastering Algorithms in C and studying and implementing and using its data structures and algorithms just to speed things up with the C side of things since building those from zero and figuring them out can be a time sink.

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

      Yeah, absolutely. I also think it's okay to understand the inputs and result of an algorithm and use-cases without knowing how to implement it from scratch.

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

      @@DylanFalconer yes, definitely agreed, you could just interact with the public interface and assume that the black box implementation just works, afterall, abstraction is the power of programmatic thinking.

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

    I recommend "Learn C the Hard Way "by Zed Shaw if you want to learn good C programming principles, and it teaches a whole bunch of CS stuff in an easily digestable format that expand out to any programming language or project.

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

      Nice, I'm currently working through "Mastering Algorithms with C by Kyle Loudon" that another commenter suggested. I'll add this to the list!

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

    Would you say Rust is keeping you saner than C and Zig?

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

    Sup 😎