Structure System - Get survival mode structure builder to display work required/time to complete
CADPAT opened this issue ยท 11 comments
Due to slow construction speed, it is difficult to tell how much work/energy a structure requires for construction and how much time it will take to complete. Adding a system to display this information in order to allow players to make decisions based on construction speed would be helpful.
Also maybe include a feature to alter build rate in cfg files.
The on-right-click message is working well. That's a big help. I can see the progress goes at the rate it should now and the only question I have concerns the skipped air blocks. Just as I'm watching the Survival Structure Builder constructing a Vanilla Hut1, I can see that it's taking the same amount of time for each "skipped" air block as it takes for normal block placement. Does this mean that the air blocks are skipped in terms of energy only?
No complaints: Just checking that it's intended
Hmm. If that is the case, I will look into it further. Air blocks/empty blocks for any given pass should be skipped for both time and energy purposes.
Build Rate configs -- already present, at least globally. You can alter the amount of energy required per work tick. You can alter the work-tick frequency. Combined, these alter the build-speed (and work speed) of the NPCs.
Time remaining -- are you referring to the drafting station itself, or the 'builder block' that is placed from the items from the drafting station?
Either way -- not really very possible. The best I could for the builder is to show how many block positions and build-passes are left; but this is in no way a time estimate. Many block positions are skipped during placement (air), and some build-passes are completely empty. And the drafting station already has similar (the list of remaining blocks needed).
Refrencing the "builder block" placed to actually construct the building. Showing how many block positions and build passes left may be a happy compromise.
The thing with altering the work-tick frequency would also alter the rate at which workers do other work (mining/farming/etc) which could cause balance issues (for example, on my current server, NPC work rate seems fine, except when building structures).
(PS, super great mod. Lots of depth)
The work times between everything else and the drafting station are linked; there is no way to change one without changing the other. Rather the energy consumption per action is referenced from a singular location for all use-cases.
This is on intentional: manipulating 1 block = manipulating 1 block = manipulating 1 block. Doesn't matter what you are doing.. if you are using NPCs to do it, they take a certain amount of time per-block for their actions.
Yes, it is supposed to take time to build structures. Several -hours- for large ones. The idea is that you set it up and don't worry about it for a few hours. It will be done when it is done.
Again; you -can- alter the work speed if you do not find it acceptable. But it -is- the global work speed. (Or you can just feed it using an energy system, and then NPC work speed does not matter)
No, I will not be adding in a separate drafting station timing/builder block timing mechanism, at least not anytime soon. I might re-examine in the distant future, but if I did that, I would need to go back and re-examine ALL of the other worksites and adjust their timing -- quarries would dig differently depending upon hardness of the block. Harvesting plants would happen faster than planting them. Cutting trees would go -way- slower than planting. Not something I have the time or inclination to take on currently. Nor do I think it is a good idea, or at all necessary (seemed balanced well to me... as stated structures are supposed to take some time to build).
I will look into adding a 'remaining blocks to place' feedback to the builder block. However the NPC timing will not be changing anytime soon.
Here is why I bring it up. Currently, I'm building a 32x32x16 block building, After 36 hours, the block builder has completed about 32x32x1 with 3 NPCs and 3 sterling generators attached to it. That means at current rate, it will take about 24 days to complete the task, which seems long (but as you said - its supposed to take a while) but I want it to take less than a month to build a thing (using less than 5000 blocks of coal) and I want to figure out if something is not working (ie: mislaid torque conduits, NPCs working incorrectly).
With no frame of reference from the work block indicating how much power it is receiving or how much work is required/time left/blocks generated per minute, I have no means of figuring out the problem or at least how to make the work faster. Simple math (32x32 = 1024 / 36 hours / 3NPCs) I see the work rate is about 10 blocks per hour, but I'm not sure if that's a normal rate.
Similar issues came up with people on my server trying to make quarries/mines work, but it's fairly obvious when they're working because stuff starts showing up inside of them because they work fairly fast.
Quarries work at the same speed as the structure builders, or should.
Strange results you are seeing. From my calculations it should be 11.3 hours (real-time) to build your 32_32_16 structure (using a single NPC worker). (That is at 2.5 seconds per-block placed, doing a single build pass, without breaks, if the entire thing is solid / no air).
16384 blocks * 2.5s/block = 40960 seconds
40960 seconds / 60s/minute = 682.6_ minutes
682.6 minutes / 60m/hour = 11.37_ hours
Should actually be less than that, as air blocks are skipped.
The work rate -should- be one block per 2.5 seconds per worker. More workers = more work done. If those are not the results you are seeing, you may need to examine your config files (can likely delete and let them be re-generated). I was certainly seeing more than 10 blocks/hour in my testing (closer to 20/minute... my test worker completed a 7x7x5 structure in just a minute or two).
Also, if you are using the current public releases, please note that there is a SEVERE power loss mechanic in-place regarding the sterling engines/etc. If you are transferring the power more than 2-3 blocks, you are probably losing 90% of it.
I'll take a good look over the drafting station / builder block worker energy use. From what you are describing there may be some deeper issues at play.
The main Config option to check:
AncientWarfareNpc.cfg server settings, npc_work_ticks=50 (delay between npc work ticks, 2.5 seconds)
So, apparently there was a pretty severe energy-use bug in the base builder block. It was using 32x more energy than it should have per-block worked. It got messed up when I was reworking the power system default values, and never had its default values re-set appropriately. So instead of requiring 50 energy / block placed, it was requiring 1600! (which would result in an optimal build time for your example structure of 14.6 days.... not at all what was intended)
I have fixed the problem in dev-code. It should be available in the next public release (which should be coming fairly soon). It will definitely be available in the next test release (which will be coming in the next day or two).
I have also added a simple on-right-click chat message stating the percentage done, in the format of: "23.5% done with build pass 1 of 4". As most build-passes beyond the first are empty (or mostly empty), the first-pass percentage is a fairly good indicator of overall progress.