I remade World Box in 3 Days - A Godot 4 Devlog

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

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

  • @abradotcs
    @abradotcs  Год назад +2

    Wishlisht my game Moving In: store.steampowered.com/app/2307660/Moving_In/

    • @charg1nmalaz0r51
      @charg1nmalaz0r51 Год назад

      i think the way these things are usually optimised is to only process chunks around what you can see

  • @nonchip
    @nonchip Год назад +99

    one optimization you could do is splitting the workload of certain tasks across time. e.g. have only one or two villagers per frame find a new path they want to go, and only execute previously cached paths without actually running their script until they reach their destination.

    • @abradotcs
      @abradotcs  Год назад +20

      That sounds like a good idea! I will def try it and see how it works!

    • @kingbling7571
      @kingbling7571 Год назад +2

      timeslicing

    • @joshb8215
      @joshb8215 11 месяцев назад +3

      i did something like this in a unity project i was working on. i split all the NPC tasks over a 1 second time frame, looked at current fps say 100fps, and assigned 8 tasks per frame so all 800 units would update or move atleast once per second. Instead of using Navmesh agents i got all the navmesh path points and then lerped based on speed and time since last update to pick a further point on the path. on top of that, all NPCs that were in view of the player would have their movements lerp every frame from the last point towards the new calculated location to smooth out the movements appearance .
      Even on a single "Main" thread, i could have 4000-5000 npcs moving around the scene.

  • @King-me
    @King-me Год назад +11

    We need a part 2 of this

  • @SnurtleLive
    @SnurtleLive Год назад +41

    I watched the video and HOLY GOODNESS! How do you only have 700 subscribers? Your content is seriously top notch and I would love to see more games.

    • @abradotcs
      @abradotcs  Год назад +3

      That means a lot :D Thank you so much!

    • @GDScriptDude
      @GDScriptDude Год назад +2

      I see this kind of comment often. The fact is that it takes time.

    • @askhabzazalaev1045
      @askhabzazalaev1045 Год назад +2

      agree

  • @username_-_
    @username_-_ Год назад +4

    plz make a followup video explaining the mechanics you didnt. Awsome video!

    • @abradotcs
      @abradotcs  Год назад

      Thanks a lot! I am planning to revisit the project so probably I will make a video talking about the mechanics in depth.

  • @SpringDavid
    @SpringDavid Год назад +3

    Cant wait to see you create World world or RimBox

  • @MartimDev
    @MartimDev Год назад +15

    It turned out pretty good! Can you explain the jobs and tasks a little bit more in depth, please?

    • @abradotcs
      @abradotcs  Год назад +6

      Thanks! Everything plays out pretty randomly actually. Town centre randomly assings a job for each citizen. Foresters have a list of every tree in the world and they will pick the closest tree and chop it down. Builders, when they have enough woods, will start building houses and roads and when they reach to a certain population a special citizen will spawn and pick a place somewhere else and build another town centre that way the whole thing will start again. Let me know if you have more questions!

  • @somedude5951
    @somedude5951 Год назад +1

    Great video.
    Simple code, and humble enough to give the audience idea's of their own about concepts.
    Thank you.

    • @abradotcs
      @abradotcs  Год назад +1

      My pleasure! Glad you liked it :)

    • @somedude5951
      @somedude5951 Год назад

      @@abradotcs Thank you for making me remember I had to subscribe. Done now.

  • @alexandrepv
    @alexandrepv Год назад +2

    This is berry interesting, thank you for sharing :)

    • @abradotcs
      @abradotcs  Год назад +2

      thank you berry much :P

  • @joshdotmp4
    @joshdotmp4 Год назад +2

    This is really cool! Would love to see this idea continued and expanded for future videos. Super interested in the optimization side of it as well

    • @abradotcs
      @abradotcs  Год назад

      Thanks! Hopefully if i have time i will go back to project and do some improvements

  • @rainingBrackets
    @rainingBrackets Год назад +3

    Wow this turned out really nice with the little towns! If you would like to you could expand upon it in your own direction, it would be fun to watch. And I agree seeing the world "come to life" is magical :)

    • @abradotcs
      @abradotcs  Год назад +1

      Thanks a lot! I am planning to revisit the project in the future and if I do I will post more updates!

  • @joelgomes1994
    @joelgomes1994 Год назад +9

    Nice job, man, great result! AI certainly is a challenge. However I'm pretty sure you would need to rewrite the villager's code on C# or C++ to increase the performance, thousands of instances with GDScript code + navigation logic is certainly the case where the need of these languages arrises.

    • @abradotcs
      @abradotcs  Год назад +2

      Thanks! I guess you are right the most effective way of increasing performance would be writing it in a language other than Gdscript. But i don't have any experience with c# or c++ so i need to learn first.

    • @GoblinArmyInYourWalls
      @GoblinArmyInYourWalls Год назад +3

      @@abradotcs It's actually VERY simple to get started with C#. Firstly, all the method calls you use in GDScript, are present in C#, except without the underscore. So set_cell() becomes SetCell(). So you still have the foundation of your knowledge of how godot works.
      Secondly, all godot specific classes are also present, you can use the godot namespace or just type Godot.Vector2i for example. You really don't miss out on anything. Also, you DONT need to use C# for every script. You can choose to use GDSCript for some things and C# for others.
      However, GDScript in Godot 4 is very well optimized. All examples I've seen of the same code written in both C# and GDScript operate at nearly identical performance. So you'd waste all your fucking time redoing all the work just to find out it doesn't do anything extra.
      With that said, thats if you did a 1:1 recreation. You COULD potentially utilize C# to gain performance if you abstracted some stuff away from godot (using basic language level objects vs Nodes. Nodes are kind of expensive comparatively, you really could trim the fat here), and limited the use of the navigation agents, which are REALLY performance heavy when you near the thousands (a* might help here).
      And with THAT said, you don't need C# to make these changes. You can make classes that don't inherit from anything and aren't attached to a script in GDScript, too.
      Not sure if each human is a node, but you could abstract that into a node that manages all the human objects (which can still have all the same functionality like their job and direction).
      You could also make pathfinding cheaper as the game grows by using the roads. Just have a human pathfind to the nearest road that connects to their destination. It isn't the shortest path everytime, but you reduce the distance a pathfinding algorithm needs to look before getting it's answer (you can compensate by making roads give a speed boost if you cared that much), and actually the longer they spend traveling, the less you need to use the pathfinding algorithm to find a new path, so a double whammy there. And it also makes sense that people would seek roads for travel. Just a thought, because as you have more humans, you'll also have more roads, therefore the saving is inline
      Edit: I typed this on a phone, please ignore typos

    • @abradotcs
      @abradotcs  Год назад +1

      @@GoblinArmyInYourWalls Wow thanks for taking time and writing this. I know they have made lots of optimizations for Gdscript2 so prolly switching to c# will not make a huge difference as u said. What do you mean exactly by creating classes that doesn't inherit anything? And yes all humans are a node btw. How can I handle all the humans with only one node exactly? I would like to expand this project if I can solve the performance issue. Any help is appreciated!

    • @GoblinArmyInYourWalls
      @GoblinArmyInYourWalls Год назад +1

      @berry Do you have experience with any language outside of GDScript? In other languages, the default for objects is to define a class, and then instantiate it as necessary. It's where you'd say [var example = new Example()]. Example was defined in a class file with a constructor.
      Godot sort of pushes you to create a node, and then add a script to define the behavior as the sort of baseline design philosophy. However, you don't actually have to do this.
      To create a blank class, you just create a new script, and it'll ask you for what it needs to inherit from. Put anything, and then once the file is created, erase the part that inherits (the reason I said it pushed you in this direction is because you actually can't generate a blank class that doesn't inherit from anything by default, which for a long time I always assumed was required. Nope, totally not required at all). You would then write class Example or class_name Example. I can't remember, so I recommend reading the documentation.
      Now you have a class file from which you can create objects that aren't nodes.
      You can still give them all the things you'd give them as nodes, like positionand what their job is, but you'll need to define how they get updated, because as far as godot knows, they aren't any different than say a string or an int.
      So you'll need to write an update method, which is where you'd put everything that you'd put into the process function in a normal script. However, godot doesn't handle when this is executed.
      You will need to create a Human Manager, and I'd recommend making your manager class a node, so you can take advantage of on ready and process functions.
      When you instantiate the humans, you'll add them to a list inside of the manager node. Then, you'll iterate over that list and run the update functions for each object.
      You'll have to adapt path finding into this system, and I had some vague ideas the other day about this but haven't looked at it myself, so I can't really guide you there. I could only recommend A* (A Star) pathfinding algorithm, it's the most common. I can tell you that Godots built in pathfinding/navigation is really built for vast numbers of objects all using at at once. There are optimizations that can be made (like you could load each them in chunks, so instead of all 900 you spread them out over 3-5 seconds or longer so sometimes a human may just be standing still waiting on their turn, this will reduce the load), but I'm not experienced with it and can't advise specifically, especially with humans being abstracted into objects rather than nodes.
      I'd make a post on r/Godot before takinv my advice, though, because I may not know about something that would make my advice redundant

    • @abradotcs
      @abradotcs  Год назад +1

      @@GoblinArmyInYourWalls wow thanks for the amazing explanation! I will give it a try and see if it improves the performance! I didn't know any of that thanks for sharing it.

  • @saibadam
    @saibadam Год назад +1

    Love the explanation. I hate it when people just say this is the concept this is the code done.

  • @RGBA
    @RGBA Год назад +1

    this is amazing, good job bro!

  • @JackieCodes
    @JackieCodes Год назад

    Wow amazing video! Good job! was super interesting watching the people build towns!

  • @Crizbelol
    @Crizbelol Год назад +2

    Awesome video! Your gonna be big one day, you are so good at dumbing things down for people like me haha. You earned this sub

    • @abradotcs
      @abradotcs  Год назад +1

      Thank you so much! I really appreciate your kind words and I am glad video was helpful 😅

    • @Crizbelol
      @Crizbelol Год назад

      @@abradotcs ha no problem keep it up!

  • @MistaSmith
    @MistaSmith Год назад +1

    There should be papers on how to optimize this stuff. You will be surprised how much more efficient it can get.
    PS: It's sooo beautiful already. Hope to see more!

    • @abradotcs
      @abradotcs  Год назад

      Yes you are right! I am actually working on optimizing this project and it is already way better. I will post a devlog soon enough hopefully!

  • @jasenlakic5033
    @jasenlakic5033 Год назад

    Good job, loved it! Hope you make more videos on the subject

  • @fakiAZer
    @fakiAZer Год назад

    For me, godot is the best engine ONLY if you can use it or if someone like your friend can use it pretty WELL , if so you can do anything i saw people doing procedural planets like the sebastian lague's one

  • @maellize9629
    @maellize9629 Год назад

    lovely and interesting video ! +1 sub

  • @Someoneman18
    @Someoneman18 Год назад

    I got a WorldBbox add when I clicked on this, I just thought I would share this 🤣

    • @abradotcs
      @abradotcs  Год назад

      Lol i guess youtube tagged this as worldbox relevant and thats how u got the ad :p interesting nonetheless thx for sharing!

  • @pfischer08
    @pfischer08 Год назад +1

    Nice.

  • @LocalTrashyt
    @LocalTrashyt Год назад

    nice vid. I want to see more indie devs like this

  • @sudhansubalasahoo
    @sudhansubalasahoo Год назад

    Wow really educational on procedural world generation
    Noice devlog

  • @oktayalpkabac
    @oktayalpkabac Год назад

    This helped me a lot thanks.

  • @stan7132
    @stan7132 Год назад

    just find your channel, you are using godot, subscribed

    • @abradotcs
      @abradotcs  Год назад

      welcome fellow godot user :p

  • @UltProf
    @UltProf Год назад +14

    I've been playing a lot of worldbox lately, and being a Godot user myself this video came as a pleasant surprise. Subscribed + will be waiting for more episodes of your godot worldbox clone.
    Already looks like it could be a really interesting experience with a little more stuff.
    Also will you make the source code available?

    • @abradotcs
      @abradotcs  Год назад +1

      Thanks a lot! Currently no plans on making it publicly available but I can provide you the project files privately. Join my discord server you can contact me there.

  • @jackshaoxixu
    @jackshaoxixu Год назад

    Wow this is insane

  • @delqyrus2619
    @delqyrus2619 Год назад +1

    If you want to have a whole lot of npcs i would recommend looking for something like OpenCL. I wrote a similar program in C++ and it worked pretty well with up to 1.5 million npcs with pretty complex behavior. I would also take a look into how much time the actual rendering takes - because rendering thousands or even millions of sprites can also take a long time if you don't do it with caution. I don't know if Godot has implemented ways to handle this automatically.

    • @abradotcs
      @abradotcs  Год назад +3

      I have no experience with c++ :/ but I will look into OpenCL thanks for the suggestion! And yep having 1000 nodes with a sprite attached to each one of them also reduces the performance but not as much as having 1000 scripts running every frame. I don't really know how I can reduce the sprite count looks like I can't really do much about that but I can optimize how many scripts are running at every frame.

    • @delqyrus2619
      @delqyrus2619 Год назад +3

      @@abradotcs C++ was just my choice, because the project was fairly simple. I just mentioned it, for completeness. Godot doesn't seem to support OpenCL out of the box and you might have to fiddle arount with GDNative.
      But OpenCL is just the idea of massive multithreading. And in general Godot supports multithreading. So you can go abstract and create a "script thread", which is independend from the rendering thread. This way you should keep the framefrate pretty stable. Only the execution of scripts might go slower with growing number of objects.
      The thing about sprite optimazation is, that engines usually do a lot for that. But there are some mistakes, which can break the system - for example so called "batch-breaking". You should be aware of that, because this can(don't have to) be a reason for serious issues. For example if you change textures a lot.
      You also can do a lot with custom draw-commands, but you can also do a lot of stuff wrong with it.
      In general as the first step you should make clear what the problem is. The Godot debugger has a profiler built-in. This shows you, which exact calls take the most time. This way you can optimize the exact stuff, which slows your program down.

  • @ptkstefano
    @ptkstefano Год назад

    This video is glorious! I will try to make something similar but in isometric.

    • @abradotcs
      @abradotcs  Год назад

      Thanks a bunch! Good luck with your project 😃

  • @feedmind4669
    @feedmind4669 Год назад

    thats cool

  • @kingbling7571
    @kingbling7571 Год назад

    one optimization i can think of is rendering only parts of worlds that the camera sees, this would mean the nps tht cnt be seen wont hv their scripts running or running only once per say 10 frames.

  • @Anarchy_OW
    @Anarchy_OW Год назад

    That is very interesting! Do you have any good resources to learn how to make the AI you created?

  • @pirxie1127
    @pirxie1127 Год назад +1

    Would you recommend beginner using Godot 4 beta (e.g. 8) or sticking to Godot 3?

    • @abradotcs
      @abradotcs  Год назад +1

      If you are doing game dev only as a hobby or just for learning then go for Godot 4 but if you are planning on developing and releasing a game in the next year or so then you should go with stable Godot 3.

  • @GrimOwlForth
    @GrimOwlForth 6 месяцев назад

    Would you consider revisiting this in a bit more depth?

  • @Nox312
    @Nox312 Год назад

    hmm you said everyone… just subscribed btw

    • @abradotcs
      @abradotcs  Год назад

      Thanks! And yep everyone :D

  • @hata5966
    @hata5966 Год назад

    Great stuff! Could you make a tutorial and explain more how its done?

    • @abradotcs
      @abradotcs  Год назад +1

      Thank you! Hopefully in the follow up video I will talk about the AI more in depth and sorry for the late reply!

  • @JakubSK
    @JakubSK 5 месяцев назад

    Sure.

  • @t3st3d
    @t3st3d Год назад

    nice

  • @WouterB21
    @WouterB21 Год назад

    Would be a cool system. Perhaps using GDNative (C++) or C# would allow for more units? Or maybe use multithreading?
    Also still waiting on that outline tutorial :)

    • @abradotcs
      @abradotcs  Год назад

      I tried multithreading but somehow I got even less FPS xD Idk how that happened prolly i did sth wrong. About the outline thing I don't think I will make a tutorial about it but you can join my discord I can just give you the node setup and the shader code it really isn't that hard to set it up yourself!

  • @ToBeCookie
    @ToBeCookie Год назад

    You did a great job bro remaking world box with in just three days!? Also, since after this video, I've binge watch All your devlog, And I'm wondering if it's OK that I play your game and post it on my channel?

    • @abradotcs
      @abradotcs  Год назад +1

      Thanks a lot! Yep you are free to do post videos about my game!

    • @ToBeCookie
      @ToBeCookie Год назад

      @@abradotcs Thanks man I still got videos I need to post, but I'll make sure to credit you in the video.^_____^

  • @hakaki7280
    @hakaki7280 Год назад

    make an big empire that uses the enemys meat as sorse of food and their bones as sorse of wepons and building materials. it would be funny to watch it :P

    • @abradotcs
      @abradotcs  Год назад +1

      lmao im down for that :D

  • @jainex17
    @jainex17 Год назад

    Niceeee

  • @kevinscales
    @kevinscales Год назад

    abs() will make -1 == 1 so you have made the black parts of the map the same height as the white parts of the map, the grey (0) are now the lowest parts. This isn't necessarily a problem, but if you want the same result but using the whole range from -1 to 1 you could do floor((terrain.get_noise_2d(x,y) + 1) * 10) to get an integer between 0 and 20
    also FastNoiseLite.seed is an integer value not a float so you could use randi() instead
    randf() is giving you a number between 0 and 1 but is throwing away the part after the decimal point when it's converted to an int, so you only got 0 for the seed (there is basically no chance of getting exactly 1.0), hence why you had to multiply by 100 to get something different, though that means it can only generate 100 different maps.

  • @BremeD
    @BremeD Год назад

    world box, more like welt kiste

  • @oddesteagle
    @oddesteagle Год назад

    Looks really nice, Do you know if the navigation agent is better in godot 4 than in 3.5?

    • @abradotcs
      @abradotcs  Год назад

      Thanks! As far as i know it's the same in both version.

  • @viniciusschadeck4992
    @viniciusschadeck4992 Год назад

    dude... i'am excited about it... I mean, godot itselft. I'am creating a rogue-like game, with generated terrain and others stuff, but are making almost from scratch and it becomes really hard now... you pathfind are a think i not even look for but i will need... i mean, mine for now monsters just goes straight for the players and it is bad idea LOL... Did you know if godot supports steam, and any multiplayer? for now steam is enought, but multiplayer maybe was cool to add in future... sick! i'am dealing with colision stuff in mine development, i had two tipes for now, line with cricles and circle with circles... but my main goal is make a game, not a engine, unity and unreal looks really to overkill to me, looks like i will lost more time trying to understand that crap thand creating the game, godot i not sure, not know enought to judgy right

    • @abradotcs
      @abradotcs  Год назад

      Hey! It's great that you are excited for your project :D It sounds really interesting too. Yes Godot supports Steam and multiplayer. There is a special steam build for godot to handle the Steam api and multiplayer too. Godot is pretty suitable for most games so you should keep using it and good luck with your project!

  • @mason4611
    @mason4611 Год назад +1

    What is the best way to learn Godot and GD script? I already know quite a bit of python. I would really like to get into game development.

    • @abradotcs
      @abradotcs  Год назад

      I recommend watching beginner tutorials and do little projects to get a hang of the software. Don't rush into making big games. If you have python experience getting used to Gdscript will not take a very long time they are very similar. Good luck! If you need any help you can join my discord server I will be happy to help you!

  • @Herrenvolk
    @Herrenvolk 8 месяцев назад

    will you release the source code of this project one day? It would be awesome for learning 🥺

  • @mrmaniac9905
    @mrmaniac9905 Год назад

    You did not remake world box. You made your interpretation of world box. #stopmisleadingtitles

    • @mrmaniac9905
      @mrmaniac9905 Год назад

      still cool, but i’m tired of misleading titles.

  • @SuperchargedW12
    @SuperchargedW12 Год назад

    Right as I am getting into the video, trying to figure out how the AI are building roads with houses at the end of each branch, you end the video. This felt anti-climatic.

    • @abradotcs
      @abradotcs  Год назад

      Sorry about that! I didn't want to explain how I did the AI part bc i know my practices weren't the best and I didn't want the people to think that is the proper way of creating AI. But I guess i should have given a little more explanation. Thanks for the feedback!

  • @Protogenmoment
    @Protogenmoment Год назад

    You ever gonna sell this?

    • @abradotcs
      @abradotcs  Год назад

      Currently no plans on that. I might make a free version and put it on itch io when i optimize it and put more content. We'll see :p

    • @Protogenmoment
      @Protogenmoment Год назад

      @@abradotcs that would be amazing

  • @peters2949
    @peters2949 Год назад

    Is this code Open Source? :)

    • @abradotcs
      @abradotcs  Год назад +1

      Nope not yet, I am planning to improve it and open source the whole thing in the future

    • @peters2949
      @peters2949 Год назад

      @@abradotcs It would be nice :)

  • @hakaki7280
    @hakaki7280 Год назад

    i wanted to ask if you are strrowberry but then i looked at your name.
    yup that is all i have to say.

  • @rekiemr4501
    @rekiemr4501 Год назад

    bro try make game same like a growtopia

  • @svarei8997
    @svarei8997 Год назад

    PLEASE stick to this project. WorldBox is game with great potential but devs are not using it. It would be awesome to have better version of it, with for example bigger structures like walls, keeps, towers etc

    • @abradotcs
      @abradotcs  Год назад +1

      I am planning to revisit the project and optimize it but i don't know how far i wanna go with it tbh Time will show. I really liked what i have done so far doe and i wish worldbox had more complex kingdom buildings as u said. Like walls and outposts!

  • @GoblinArmyInYourWalls
    @GoblinArmyInYourWalls Год назад

    Am I colored blind or is that not blue but is purple?

    • @abradotcs
      @abradotcs  Год назад +1

      are you talking about the color i used for the village in the thumbnail?

    • @GoblinArmyInYourWalls
      @GoblinArmyInYourWalls Год назад +1

      @@abradotcs the water is totally purple to me, but it very well may be my phone

    • @abradotcs
      @abradotcs  Год назад +2

      maybe 🤔 here is the exact color code i used for the water #5a57ff

  • @ballsdeepinside69
    @ballsdeepinside69 Год назад +1

    what's up berry, can you give this dirty plebes source code pls?

  • @abradotcs
    @abradotcs  Год назад +51

    FYI: I am using Godot 4 Beta 8 for this video

  • @GabrielObolari
    @GabrielObolari Год назад +10

    Cute! I hope the project continues

  • @hawkgamedev
    @hawkgamedev Год назад +2

    hey great video! how did you handle placing towns (or buildings) procedurally? that's what is actually killing my project right now T_T

  • @calcu_
    @calcu_ Год назад +5

    I honestly didn't thought much of this video until I saw it. I really enjoyed it good job

    • @abradotcs
      @abradotcs  Год назад

      That means a lot! Thanks!

  • @FloatingOer
    @FloatingOer Год назад +4

    I love these type of games, and personally I prefer the small dots over sprites since this leaves it more to your imagination.
    I saw someone else already mention about splitting the load on your computer by calculating on different frames, but this could be extended to every occupation: frame 1 = foresters, frame 2 = builders, 3 = animals etc. until all occupations each have a frame (some can share frames if it's a rare job,) then restarting from 1. I have used this method when experimenting with boids and it really help boost the number of active agents. If there is fighting you could temporarily increase the actions per frames while "fighting = true" or something if it's necessary for quicker actions though this can lead to lag spikes. I don't know what method you have used for the trees but that may be an avenue of optimizations as well, for example instead of having a separate scene loaded for each tree just a single tilemap can be used.

    • @abradotcs
      @abradotcs  Год назад +1

      That's a great suggestion! Thank you. As for the trees, first each one of them was a scene but then I realized that was costing me performance because there was thousands of them so I decided to create a seperate tilemap and spawn trees as tiles which improved the performance.

    • @FloatingOer
      @FloatingOer Год назад

      @@abradotcs haha ok you already did that then, I would probably have started with separate scenes as well before trying to figure out how to use a tilemap. I'd be interested to hear how much code was used for the little people? 1: (spawned) save base coordinates. 2: detect closest tree and go there. 3: chop down and add x wood. 3.1: If tree is gone start over at 2. 4: return to base coordinates. 5: transfer x wood on base area entered. 6: start over on 2. Something like this, or did you have something more efficient or versatile?

    • @abradotcs
      @abradotcs  Год назад +1

      @@FloatingOer Yeah that's how the whole task system works you are right. The whole human npc script is about 300 lines.

    • @FloatingOer
      @FloatingOer Год назад

      @@abradotcs wow ok that sounds quite a lot, my most complex npc I have made so far run on about 330 lines, and it was a boss fight. I have no idea what functions you filled those little dots with to need so much code but they look really cool in your game. Did you give every human the full script for every role in the game? You could have separated every single role in their own script and use a "master script" on the top node in the character that can switch out a child scene depending on what role the dot needs to fill. So a forester have a script that only do forester stuff and if encountering an enemy it's replaced by a script that only deal with fighting, then after the fight the master script can just switch it out for the preferred script again. It's a bit more tinkering but you'd avoid the nightmare of having scripts that run for like 500 lines where you try to comprehend how anything work and how to add a new occupation to it...

    • @abradotcs
      @abradotcs  Год назад +2

      @@FloatingOer Yes every human has the same script which costs a lot of performance. It should be better to create seperate scripts for each job probably. And as you said it would make it easier to read :D I might do these optimizations when I revisit the project.

  • @ajinkyax
    @ajinkyax Год назад +2

    I cant thank you enough. your explaining style is so easy to understand and actually someone else can pick from. Most other devlog videos on YT are just for showoff stuff without sharing much details.

    • @abradotcs
      @abradotcs  Год назад

      Thank you for the kind words! :D

  • @jorgegomes83
    @jorgegomes83 Год назад

    I looked into your channel for a part 2 but sadly there's no continuation ATM. This is your most watched video. How is the project going?

  • @HEEEE9876
    @HEEEE9876 Год назад +1

    Good video

  • @torrescle
    @torrescle Год назад

    No, you do not remade World Box (in 3 days).

  • @SarovokTheFallen
    @SarovokTheFallen Год назад

    Any updates on this project? I found this devlog very insightful for a simular project I'm doing

    • @abradotcs
      @abradotcs  Год назад

      Hey sorry for the late reply! No updates for this project yet. I have been focusing on some other projects but I will revisit this worldbox clone sometime and probably make a follow up video too. Thanks!

  • @noahhawver9889
    @noahhawver9889 Год назад +2

    You deserve way more views and subs
    Great video!

  • @_gamma.
    @_gamma. Год назад +1

    This is badass!

  • @loganspencer4728
    @loganspencer4728 Год назад +1

    looks good man

  • @slothinahat
    @slothinahat Год назад

    Cool video, I’ve been using Godot 3.5 for a while and recently tried out 4, and I’ve been trying to figure out the new tilemap changes

    • @abradotcs
      @abradotcs  Год назад

      Yep Tile map got some changes but it wasn't so hard to figure it out. I really like the new tile navigation system it is really handy!

  • @МухиддинМахмудов-б5щ

    😲😲

  • @Zycostan
    @Zycostan Год назад

    Yo i'm curious on how you made this
    Can you explain it in a video?

    • @abradotcs
      @abradotcs  Год назад

      I explained how the generation worked do you mean the AI part? If so I don't really think I should talk about how I did the AI cuz i know my code isn't the best 😂 I am still learning AI

    • @Zycostan
      @Zycostan Год назад

      @@abradotcs I was talking about the AI part haha, and its fine if its messy code

    • @abradotcs
      @abradotcs  Год назад

      @@Zycostan 😅 I am planning to revisit the project and do some improvements maybe then I can explain the code behind the ai

    • @Zycostan
      @Zycostan Год назад

      @@abradotcs alr, nice man

  • @teo2805
    @teo2805 Год назад

    Subbed! I'd love to see more code or tutorials on the AI part. I feel like state machines and handling movement are some of the skills least explained properly on RUclips and the ones that really bottleneck my learning

    • @abradotcs
      @abradotcs  Год назад

      Thanks a lot! It is true that AI is an ignored topic when it comes to tutorials :/ and sorry for the late reply!

  • @glom4805
    @glom4805 Год назад

    Great job

    • @abradotcs
      @abradotcs  Год назад

      Thanks!

    • @glom4805
      @glom4805 Год назад

      @@abradotcs congratulations on 1k subs!

    • @abradotcs
      @abradotcs  Год назад

      @@glom4805 thank you so much :D

  • @beciorrro7774
    @beciorrro7774 Год назад

    Keep doing videos, i really enjoy watching them

  • @MephistoDemon
    @MephistoDemon Год назад

    Nice!

  • @Saas_1
    @Saas_1 Год назад

    Could you provide a download link for the godot project? I would be really interested in reading some of the code and changing some values, maybe even expanding on it.

    • @abradotcs
      @abradotcs  Год назад +1

      You are on my discord server right? If so dm me i can send u there

  • @jeramiahgentry4660
    @jeramiahgentry4660 6 месяцев назад

    Did you ever make any more progress? I am currently trying to create a 3d version of WorldBox using UE5 and am stumped on how to start lol

  • @ballsdeepinside69
    @ballsdeepinside69 Год назад +2

    777 likes