Godot Gamedata Tip : Processing after import - Building Gamedata Structures Tutorial

Поделиться
HTML-код
  • Опубликовано: 12 дек 2024

Комментарии • 9

  • @lemonjumpsofficial
    @lemonjumpsofficial 7 месяцев назад +1

    coming from python background, I find it easier to work with json and just parse and use that directly.
    It also let's me have multiple representations of the same data depending on complexity.
    But, I see the appeal of working with a table. for stuff like maps, inventory saves, etc etc..
    I'll look into using this too. :D

  • @stevepine3568
    @stevepine3568 7 месяцев назад

    Hi!
    You are doing an amazing thing here!
    Didn't finish all the videos yet, but I'd like to have a query.
    You had an idea back a few months in a video, to create unit subgrouping, essentially sqads, that navigate and work together. I was and am rly interrested in that, and as I see you made all the building blocks for that, but didn't see it implemented. Was it scrapped?
    If the user could define a default and a per group squad size and squad formation, the AI would work for those instead of individual units, creating kind of a squad vs sqad situation on the battlefield, replacing the unit vs unit mechanics, i'd be fan of it!
    Are you releasing parts of it for Godot in the future? Like these RTS grouping and collision systems.

    • @nanotechgamedev
      @nanotechgamedev  7 месяцев назад +1

      Hellow there, so there's a lot to unpack here, I hope yt doesn't complain about it:
      The idea was to create groups with Ctrl + (a number) like in most classic RTS games do, these would store a selection group or a squad with the current squad formation settings assigned, whenever you called the group it would just set the formation settings for the player and we could move the whole group very easily, this is just storing the unit selection list and formation settings variables in a array or dictionary, this I will be working on.
      A squad working together, I assume you mean things like taking cover in strategic places automatically, this isn't hard to do either, you pass a group of 3D position points from inside a building or place, and calculate directions using raycasts and vector math like a.dot(b) to determine a strategic formation inside those cover points, or just leave it to the player to decide by just displaying how the final cover positions would be,
      Strategic navigation with a squad, now that's more complex as you need to know the enviroment, squad composition and setting the formation accordingly, it's like you are constantly changing the formation with much more complex algorithms to make strategic movements just like how real military operations work, this imo is overkill for an RTS and most likely will suit better a more strategy focused game with fewer units, the perfomance would also not perfom well in a RTS where I am expecting at least 300+ units to move and attack.
      Using squad or group information to improve perfomance, that could work, though I would need to do some research in algorithms that didn't cycled through all the units to decide if a squad was in attack range of another, that end up just working the same as cycling through individual units, although currently using the queue system this hasn't been an issue: ruclips.net/video/Te2Nu7QmZDI/видео.html
      Regarding physics, I am not working with physics anymore for this project, here are my reasons why: ruclips.net/video/IuS-U3tDQ1c/видео.html , only physics I am using are for terrain map against the mouse clicks for accurate positions,
      RTS AI is where I am currently working towards, there are many ways you can decide how to target units, I am surely going to experiment with making a score system to spread units to attack a squad efficiently, this of course after some basic AI is implemented first, here's a nice reddit entry that talks about it: www.reddit.com/r/howdidtheycodeit/comments/101vy08/how_do_units_in_rts_games_know_which_enemy_to/
      And for the AI system to work properly I needed to finish up other systems like the faction system and how to build unit behaviors with attributes from the gamedata, which I briefly talked about on this video, so there's a lot of things I am working on atm, as an RTS has a lot of mechanics, but I will be posting more videos as I go on, regarding posting sample projects I will probabilly do it with isolated systems for free on my itchio page, or maybe I could polish this entire project and sell it as RTS template with all the systems working together, at this point I am not planning on opening the source from this project as it is still a WIP, and as a solo developer while also maintaining everything on this yt channel I got my hands quite full atm, but I see if I can post more free stuff on itchio,

    • @stevepine3568
      @stevepine3568 7 месяцев назад

      @@nanotechgamedev Thanks for the detailed answer! You are amazing! I hope for your success and I think I'll be following yt, what you release and publish as free or paid.

  • @cccornel5965
    @cccornel5965 7 месяцев назад +1

    (What I wrote are just my thoughts after watching a bunch of videos and ranted on this one)
    looking a bit at the code, as beginner, I wonder why so many of the videos say don't do that or do it like this not like that
    I am talking about nested loops in this case. Everyone and their moms say don't do it, but I see many people doing it.
    I mean, from my point of view, that is a bunch of crap, since you actually need to put conditions and do the loops. It's not like we are making AAA+ games, that are usually huge games in terms of world building and and elements.
    Telling a beginner to not do something in some way because bla bla bla is kind of mean.
    I first wrote a lot of code, then saw that it is something that repeats and then I wrote a function and just called it for each element and I saw that I further write is a for loop and reduced the code even further. From my point of view, it is a process.
    Asking a beginner in any video saying it is for beginners to write something like that from the start is....

    • @nanotechgamedev
      @nanotechgamedev  7 месяцев назад

      Yea, you are going to find lots of different paradigmas and diverging opinions in coding through different languages, I think nothing beats experience and research, everybody is at a different level and what matters is if your code does what is suppose to do by the end of the day. Striving for perfection might not be the best approach, but keeping in mind some high level concepts to always code better isn't that bad either,
      For instance, in Godot language Gdscript, while loops are objectively slower than for loops, don't remember where I saw benchmarks on github for a given issue, both iteration methods do almost the same thing in different ways, doesn't matter which one you choose if they both end up doing the same thing,
      I think that regarding nested loops, they are very easy to cost a lot of perfomance because you can end up doing O(n^2), which is like a loop for every iteration of another loop, running exponentially more things, but you can place conditions and breaks out of it depeding on what you are executing, I think most people dislike them because of this, talking about this with Gdscript in mind that is, other languages might have other problems.

  • @acle_
    @acle_ 7 месяцев назад

    your videos are great, but the audio is poor - the mic clips a lot;

    • @nanotechgamedev
      @nanotechgamedev  7 месяцев назад

      Nope, the audio is fine, it always passes through a effects macro chain in Audacity: imgur.com/a/8wRTvRX You might have issues with your hardware or web browser;

  • @ilhanilhanDev
    @ilhanilhanDev 7 месяцев назад

    Second comment me