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

แชร์
ฝัง
  • เผยแพร่เมื่อ 24 ธ.ค. 2024

ความคิดเห็น • 173

  • @abradotcs
    @abradotcs  ปีที่แล้ว +3

    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 2 ปีที่แล้ว +102

    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  2 ปีที่แล้ว +21

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

    • @kingbling7571
      @kingbling7571 2 ปีที่แล้ว +2

      timeslicing

    • @joshb8215
      @joshb8215 ปีที่แล้ว +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.

  • @abradotcs
    @abradotcs  2 ปีที่แล้ว +52

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

  • @SnurtleLive
    @SnurtleLive 2 ปีที่แล้ว +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  2 ปีที่แล้ว +3

      That means a lot :D Thank you so much!

    • @GDScriptDude
      @GDScriptDude 2 ปีที่แล้ว +2

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

    • @askhabzazalaev1045
      @askhabzazalaev1045 2 ปีที่แล้ว +2

      agree

  • @King-me
    @King-me 2 ปีที่แล้ว +12

    We need a part 2 of this

  • @GabrielObolari
    @GabrielObolari 2 ปีที่แล้ว +10

    Cute! I hope the project continues

  • @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

  • @calcu_
    @calcu_ 2 ปีที่แล้ว +5

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

    • @abradotcs
      @abradotcs  2 ปีที่แล้ว

      That means a lot! Thanks!

  • @saibadam
    @saibadam 2 ปีที่แล้ว +2

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

  • @SpringDavid
    @SpringDavid 2 ปีที่แล้ว +3

    Cant wait to see you create World world or RimBox

  • @alexandrepv
    @alexandrepv 2 ปีที่แล้ว +2

    This is berry interesting, thank you for sharing :)

    • @abradotcs
      @abradotcs  2 ปีที่แล้ว +2

      thank you berry much :P

  • @joshdotmp4
    @joshdotmp4 2 ปีที่แล้ว +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  2 ปีที่แล้ว

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

  • @FloatingOer
    @FloatingOer 2 ปีที่แล้ว +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  2 ปีที่แล้ว +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 2 ปีที่แล้ว

      @@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  2 ปีที่แล้ว +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 2 ปีที่แล้ว

      @@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 ปีที่แล้ว +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.

  • @username_-_
    @username_-_ 2 ปีที่แล้ว +4

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

    • @abradotcs
      @abradotcs  2 ปีที่แล้ว

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

  • @noahhawver9889
    @noahhawver9889 2 ปีที่แล้ว +2

    You deserve way more views and subs
    Great video!

    • @abradotcs
      @abradotcs  2 ปีที่แล้ว

      Thank you man :D

  • @somedude5951
    @somedude5951 2 ปีที่แล้ว +1

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

    • @abradotcs
      @abradotcs  2 ปีที่แล้ว +1

      My pleasure! Glad you liked it :)

    • @somedude5951
      @somedude5951 2 ปีที่แล้ว

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

  • @Crizbelol
    @Crizbelol 2 ปีที่แล้ว +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  2 ปีที่แล้ว +1

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

    • @Crizbelol
      @Crizbelol 2 ปีที่แล้ว

      @@abradotcs ha no problem keep it up!

  • @JackieCodes
    @JackieCodes 2 ปีที่แล้ว

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

    • @abradotcs
      @abradotcs  2 ปีที่แล้ว

      Thank you so much!

  • @MartimDev
    @MartimDev 2 ปีที่แล้ว +15

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

    • @abradotcs
      @abradotcs  2 ปีที่แล้ว +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!

  • @RGBA
    @RGBA 2 ปีที่แล้ว +1

    this is amazing, good job bro!

    • @abradotcs
      @abradotcs  2 ปีที่แล้ว

      Thanks a lot!

  • @beciorrro7774
    @beciorrro7774 2 ปีที่แล้ว

    Keep doing videos, i really enjoy watching them

    • @abradotcs
      @abradotcs  2 ปีที่แล้ว +1

      Glad you like them :D

  • @rainingBrackets
    @rainingBrackets 2 ปีที่แล้ว +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  2 ปีที่แล้ว +1

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

  • @jasenlakic5033
    @jasenlakic5033 2 ปีที่แล้ว

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

  • @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 😃

  • @joelgomes1994
    @joelgomes1994 2 ปีที่แล้ว +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 ปีที่แล้ว +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 2 ปีที่แล้ว +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  2 ปีที่แล้ว +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 2 ปีที่แล้ว +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  2 ปีที่แล้ว +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.

  • @LocalTrashyt
    @LocalTrashyt 2 ปีที่แล้ว

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

  • @_gamma.
    @_gamma. 2 ปีที่แล้ว +1

    This is badass!

  • @loganspencer4728
    @loganspencer4728 2 ปีที่แล้ว +1

    looks good man

  • @kingbling7571
    @kingbling7571 2 ปีที่แล้ว

    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.

  • @sudhansubalasahoo
    @sudhansubalasahoo 2 ปีที่แล้ว

    Wow really educational on procedural world generation
    Noice devlog

  • @fakiAZer
    @fakiAZer 2 ปีที่แล้ว

    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

  • @oktayalpkabac
    @oktayalpkabac ปีที่แล้ว

    This helped me a lot thanks.

  • @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!

  • @slothinahat
    @slothinahat 2 ปีที่แล้ว

    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  2 ปีที่แล้ว

      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!

  • @maellize9629
    @maellize9629 ปีที่แล้ว

    lovely and interesting video ! +1 sub

  • @hata5966
    @hata5966 2 ปีที่แล้ว

    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!

  • @delqyrus2619
    @delqyrus2619 2 ปีที่แล้ว +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  2 ปีที่แล้ว +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 2 ปีที่แล้ว +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.

  • @stan7132
    @stan7132 2 ปีที่แล้ว

    just find your channel, you are using godot, subscribed

    • @abradotcs
      @abradotcs  2 ปีที่แล้ว

      welcome fellow godot user :p

  • @HEEEE9876
    @HEEEE9876 2 ปีที่แล้ว +1

    Good video

    • @abradotcs
      @abradotcs  2 ปีที่แล้ว

      thank you :)

  • @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

  • @pfischer08
    @pfischer08 2 ปีที่แล้ว +1

    Nice.

  • @Someoneman18
    @Someoneman18 2 ปีที่แล้ว

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

    • @abradotcs
      @abradotcs  2 ปีที่แล้ว

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

  • @glom4805
    @glom4805 2 ปีที่แล้ว

    Great job

    • @abradotcs
      @abradotcs  2 ปีที่แล้ว

      Thanks!

    • @glom4805
      @glom4805 2 ปีที่แล้ว

      @@abradotcs congratulations on 1k subs!

    • @abradotcs
      @abradotcs  2 ปีที่แล้ว

      @@glom4805 thank you so much :D

  • @SarovokTheFallen
    @SarovokTheFallen 2 ปีที่แล้ว

    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!

  • @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 TH-cam 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!

  • @UltProf
    @UltProf 2 ปีที่แล้ว +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  2 ปีที่แล้ว +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.

  • @GrimOwlForth
    @GrimOwlForth 9 หลายเดือนก่อน

    Would you consider revisiting this in a bit more depth?

  • @jackshaoxixu
    @jackshaoxixu 2 ปีที่แล้ว

    Wow this is insane

    • @abradotcs
      @abradotcs  2 ปีที่แล้ว

      Thank you so much!

  • @mason4611
    @mason4611 2 ปีที่แล้ว +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  2 ปีที่แล้ว

      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!

  • @pirxie1127
    @pirxie1127 2 ปีที่แล้ว +1

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

    • @abradotcs
      @abradotcs  2 ปีที่แล้ว +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.

  • @feedmind4669
    @feedmind4669 2 ปีที่แล้ว

    thats cool

  • @Anarchy_OW
    @Anarchy_OW ปีที่แล้ว

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

  • @MephistoDemon
    @MephistoDemon 2 ปีที่แล้ว

    Nice!

  • @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?

  • @WouterB21
    @WouterB21 2 ปีที่แล้ว

    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  2 ปีที่แล้ว

      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!

  • @oddesteagle
    @oddesteagle 2 ปีที่แล้ว

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

    • @abradotcs
      @abradotcs  2 ปีที่แล้ว

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

  • @hakaki7280
    @hakaki7280 2 ปีที่แล้ว

    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  2 ปีที่แล้ว +1

      lmao im down for that :D

  • @Zycostan
    @Zycostan 2 ปีที่แล้ว

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

    • @abradotcs
      @abradotcs  2 ปีที่แล้ว

      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 2 ปีที่แล้ว

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

    • @abradotcs
      @abradotcs  2 ปีที่แล้ว

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

    • @Zycostan
      @Zycostan 2 ปีที่แล้ว

      @@abradotcs alr, nice man

  • @ToBeCookie
    @ToBeCookie 2 ปีที่แล้ว

    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  2 ปีที่แล้ว +1

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

    • @ToBeCookie
      @ToBeCookie 2 ปีที่แล้ว

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

  • @Herrenvolk
    @Herrenvolk 11 หลายเดือนก่อน

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

    • @abradotcs
      @abradotcs  11 หลายเดือนก่อน

      probably no

  • @jainex17
    @jainex17 2 ปีที่แล้ว

    Niceeee

  • @Nox312
    @Nox312 2 ปีที่แล้ว

    hmm you said everyone… just subscribed btw

    • @abradotcs
      @abradotcs  2 ปีที่แล้ว

      Thanks! And yep everyone :D

  • @t3st3d
    @t3st3d 2 ปีที่แล้ว

    nice

  • @JakubSK
    @JakubSK 8 หลายเดือนก่อน

    Sure.

  • @Saas_1
    @Saas_1 2 ปีที่แล้ว

    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  2 ปีที่แล้ว +1

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

  • @viniciusschadeck4992
    @viniciusschadeck4992 2 ปีที่แล้ว

    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  2 ปีที่แล้ว

      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!

  • @Protogenmoment
    @Protogenmoment 2 ปีที่แล้ว

    You ever gonna sell this?

    • @abradotcs
      @abradotcs  2 ปีที่แล้ว

      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 2 ปีที่แล้ว

      @@abradotcs that would be amazing

  • @Be3med
    @Be3med 2 ปีที่แล้ว

    world box, more like welt kiste

    • @abradotcs
      @abradotcs  2 ปีที่แล้ว

      Globe container

  • @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 :)

  • @МухиддинМахмудов-б5щ
    @МухиддинМахмудов-б5щ 2 ปีที่แล้ว

    😲😲

  • @SuperchargedW12
    @SuperchargedW12 2 ปีที่แล้ว

    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  2 ปีที่แล้ว

      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!

  • @hakaki7280
    @hakaki7280 2 ปีที่แล้ว

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

    • @hakaki7280
      @hakaki7280 2 ปีที่แล้ว

      no it is not

    • @hakaki7280
      @hakaki7280 2 ปีที่แล้ว

      i am confusing me

    • @abradotcs
      @abradotcs  2 ปีที่แล้ว

      @@hakaki7280 you are confusing me too xD

  • @rekiemr4501
    @rekiemr4501 2 ปีที่แล้ว

    bro try make game same like a growtopia

  • @kevinscales
    @kevinscales 2 ปีที่แล้ว

    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.

  • @dooZyz
    @dooZyz 2 ปีที่แล้ว

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

    • @dooZyz
      @dooZyz 2 ปีที่แล้ว

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

  • @svarei8997
    @svarei8997 2 ปีที่แล้ว

    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  2 ปีที่แล้ว +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!

  • @torrescle
    @torrescle 2 ปีที่แล้ว

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

  • @jeramiahgentry4660
    @jeramiahgentry4660 9 หลายเดือนก่อน

    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

  • @GoblinArmyInYourWalls
    @GoblinArmyInYourWalls 2 ปีที่แล้ว

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

    • @abradotcs
      @abradotcs  2 ปีที่แล้ว +1

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

    • @GoblinArmyInYourWalls
      @GoblinArmyInYourWalls 2 ปีที่แล้ว +1

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

    • @abradotcs
      @abradotcs  2 ปีที่แล้ว +2

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