غير متزامن – Radio Mining Guide

Automatically select mining spots based on what resources are lacking. Automate pickup so fewer transports service all your miners. Automate scouts to tell you where the juicy spots are!

What is included

Getting resources seems trivial at first, but can become bothersome quickly. You keep building mining bots, assigning leaders and transports to them and eventually forget where they are? You are constantly worrying about which resource runs out next?

This setup controls the entire decision loop for the three basic resources Metal Ore, Crystal Chunks and Silicon. It can easily be adapted to the remaining resources.

Early in the game, build and send out cheap drones to automatically find and mark resources.

Build a storage area where the goodies will come in.

Have a controller figure out what’s running low and where to send the next miner.

Build miners that will automatically find spots to mine, determined by which resource you need most.

Build a few transports that will automatically find out which miner needs to be emptied and where to send the goods. When you update your storage depot, all transports will know and drop stuff off at the new location!

Scouting resources

These little scouts run about the map and find resource nodes for you. They are dirt cheap and can be produced in bulk early in the game.

They follow a simple logic pattern:

  • keep away from other resource signal bots, don’t mark the same resource
  • find a resource node
  • calculate the most abundant resource in mixed fields
  • signal that resource and the amount you can see

When a resource node is mined dry, the signal bot will automatically relocate. It does not have a radar, so occasionally multiple bots will mark the same patch of resources. It will evade when it sees another signaling bot, على أية حال.

مخطط: Use a worker as a chassis. Add a behaviour processor and a solar panel for power. منتهي.

DSBSy2hQTcm0tROij16cOVY2Q3toX2f5JBC1rtFqB08W0YU0iumC82cnaLb3R7dFM4eLnfC4EcihF1FxBId1yinQ91Jkk881gmCOy3B8Wex2GetIY2tNWIe2Yhd361vPtLv2VHu0m3fZ9FF2IUiLR0OAnnm4V5y9q02Lkqy3QncGX35EUFz0677kj30536r34pe5I3TROV10489RS1gpEsr2QzRP62hxmHQ2Gs3XH1sBnuG212XlS14tufn21Jyga3BP6PB1BLFVF1urj5v1gaht70RVSyo2bJqm027B70X1t3kLp3q2ouT1AUgAm2Ftm4T2MP1o00PSDsi3Hsxl81SEHN12yGubS4bZwtt41Z14z4Ncscj45tfwv3TGnmQ48N20L2O6PIh1CYKzL1OMUv40na2UZ0lFWux1NP4Rq47g1ba0xoqYT4PjGqN1Nv0bh2ioYX544tZmd40wvYo1rtcWE1oRrCC3IsCQl3YHoU53rkIf42oIFVO2NlvuA0p9rln0n17lV4H1vhi4MBEYD2hdTkw35V0BW1GPSSH1kgvoA3Y9ww32Pi3Yw1lh3eb22YAbH2GEfr02vWBC40f2mnT1pKjhq2djnqx2JJ7dg3qMmzP3Ma6fZ1c5XN02SCP3G3rabOP4M2E8C1Qbo8z0gxmcx14t1fK3RT7OQ3v5lDx0Qf5bB0ETwV82y7F5h0CHgOM1EIqQH1kBCvq2UBvXl3d3nws3SWgYF4ADaU449ny4V1ANlLq4Dyy3B4SX3922MIivg18EDCD2MfpuO0Q4bVv1jqNqw1zGt9x27t9kyEGrO

Logic: Loop through the signals. Calculate the distance to each signal. If the signal is within visual range, evade and repeat from start. Once all signals are processed and you don’t have to evade, we can continue to look for resources.

Loop through all resource nodes you can see. Calculate the amount of each resource you see. Select the largest amount and signal that resource (with amount). If you see no resources, أي. when you would signal an amount of 0, relocate and repeat from start.

The logic is pretty rough and can be improved.

DSC18k2gXTqK0tTK1R3zhdMC0p6UJZ0TX5sI1e0sod0ICRhT2WCCaW1VOSiW0FdVwf0QLX862SPCIS2NiK7H4C1DRO1JXK8I15BmqQ0axf6U4eK3Gp0ZrulL1uxui133qUVd0SM1Kx2jHjAb3rfLBP3TCWjR3AwqEL1Pe5fq0VRivy07I6k23tdfWt0mMvV83eoIVi0IBCvI1ptsPy2ZGyT20WHwcA3CLlqc1PKyd51YBezf4eMH7849C91546D4J708tHuW2C0tTd2ZmSCl1Ku3RU14Jgd10Rn8bq3jZbRZ1njMEn3hP8IA1T0feO0ucUWI3Dhg1m0xQcdk2t8nd91UR8yJ1tJ8TG0N2nGN1xr0ut2fgl1y1W48R21FArQu3TE7U71firfh2ytfyz4S2TZX137huR08cMTC0wdmJs2LtLmL3w6Y4F1aKxgn06YVip0gx8c73oevAr2Qn8B10O4Uje0cvXQ931pBNy2ImfrF1j6b3K3nVmS80Rnac90wUfpV1i015u0D1KZ91uM3f90oClDh2CgvQW2KTmdL4Fnnzd2WB3Ll0hHKRY3rz1bJ0zm27u1bVpfc2hpNlu06IZWL090ZxY3X6BTR2MJZUg4TBheG1Oh9B63oV5MV4axRgi1k7Kwc2uQlTd1ikOph3u21bS3Z2coc49jSMF2Been51i1fIi4HpxEO24kWwC1EcsoP01yMK54TxxcB361iYk0OLczi3Ll0vi4fLePL1HFuj52lTBPG19E8Td2TZYK84T0dys0XI5EO4RiqYq1YZHRg4gaeL33YjC1w1yq

Storing resources

This is the drop off point for your transports and the entrypoint for resources into your base. Distribute resources from here as you wish.

I prefer a chain of the largest warehouses I can build, but the system works with a single small storage. In that case you should outsource the second radio transmitter somewhere else and skip the item transporter.

This storage uses two radio transmitters, one behaviour controller and, بالطبع, the item transporter.

One radio is controlled by the behaviour and broadcasts to tell the storage manager when it has space available. Since I build this on the actual head of the chain, where resources are distributed into the base, space available means the resource is about to run dry. If you chain multiple storages together, build this logic somewhere in the middle to react sooner to shortages.

The second radio can be placed anywhere and broadcasts the location of the dropoff point for a certain resource. The Radio Transporters will query this channel to determine where they should go. I point it at the tail end of my storage chain.

Logic

The logic simply determines if a locked slot (always lock your slots for these storages!) is empty. If that is the case, it sends the resource type and a predetermined number (infinity in my case) to the radio on a predetermined channel.

DSCAx2e3USG0tMLNL0mtH283FA9o200j6ki25mAoo0G95Hs1ItzNe1742hc0zMGS22SOwqW1XRHKD2Hpiv643urPD2OysFi40f2FP40iJIV0AMrGT43dhmx2VJKoL46Ryvp1WQerM2o6zFV2HOchf0OYelH34sXjU1cDCVw4S1rIq4PrswG2c1IQv0lCTHY18V1DK27MlnH1i5ZFv2qEwiL0uWFbP2iGlaZ2fWoYw3gg8ln2uzad32eXRaC1GO5Of2mZBFo1Ze2Cs2qzQz92UDi2M1bkJ1r3fah9B4E3P3B0HJL9T27ZwKR0IW3iT69u0

مخططNot really necessary. Any warehouse with sufficient item slots will do.

DSCAx2e3USG0tMLNL0mtH283FA9o200j6ki25mAoo0G95Hs1ItzNe1742hc0zMGS22SOwqW1XRHKD2Hpiv643urPD2OysFi40f2FP40iJIV0AMrGT43dhmx2VJKoL46Ryvp1WQerM2o6zFV2HOchf0OYelH34sXjU1cDCVw4S1rIq4PrswG2c1IQv0lCTHY18V1DK27MlnH1i5ZFv2qEwiL0uWFbP2iGlaZ2fWoYw3gg8ln2uzad32eXRaC1GO5Of2mZBFo1Ze2Cs2qzQz92UDi2M1bkJ1r3fah9B4E3P3B0HJL9T27ZwKR0IW3iT69u0

Prioritize missing resource

This controller is the heart of the operation.

Warehouses send a radio signal when they are running low on their resource.

Scouts signal resource locations. This is the controller that sends the miners to the best resource spots.

It can be placed in any building. You will need a behaviour controller, a radio receiver and a radio transmitter.

Logic:

في هذا المثال, the system manages the core resources metal ore, crystal chunks and silicon. For each of these, the corresponding warehouse sends a message on channel [resource]2 when it is running low.

The subroutine tunes the radio receiver to each of the three channels in turn. When a channel has a message, that resource is returned from the subroutine. If no warehouse is running low, the logic ends here and the prioritized resource remains the same.

When a resource is selected, the program iterates all signals for that signal from the scouts and finds the closest one. That scout’s location is then broadcast on the radio transmitter as the target for all miners seeking new orders.

It might take a while for miners to want new orders. If you need to address the shortage very quickly, build new radio miners or order some to an appropriate resource node manually. They will handle it.

DSC19v2ijs6K1BbU9n2bTUh601HTUZ42JiYX2ORhXZ1uXrmX4RhasI0CFGft3Cc15H0eZ9yF2deyp001X5YG0fsSR33rwIbC1HPmeu3eMRFI0bCqpE44Yak42homHE2QqeVB4GkwPc3DdEBV4O6Ksa2tIBoA2rjKuX3wTbo40JDMMn0STT6d3E14O10YTjLb0MOiTh4deIBr3B3jAY3oMK6x3B2EXR2mTuuP26UOFF4PxKTE0kLzDt40CtZL2wgOTy05UP9Q28Tk5r3i1i8q295v5W43jSp74Oa4C40oKK283jpBUd2DER4V40Hw840VbasH2ZbLUS1eVHpD1guEFi0MTunr1dJFtf3s8JdW0jgDEB23uBnD4TY5XZ0OxYHb1Q3Oxd1fWkrH4XdODb12Sx7U0H5zRB3FROqy41gme82FNW441DBUeO36rnZo1U7Ise1boMrK0Ipcxy2qNmtN1Og6D50PGmkI35P40J21voTz4evNov3wLism0qvdD13coIww4eNbwN38ilTz2S07pT4DLxSp3ex0Zc46Y69C1j1PdT2aLGrb1Wvi574Cs54q3tzlgH0wVjQZ4JZrn64a6lRa43lhKc3rZAS22XPg9g1La3T04ZUP664FTgDT1Y72N12wOQMc338fkB3TWiZI3d12oi06PvnQ3bwm4K1U7OAd3DLcou0Vdkxy4botNZ3fpisu10CvhD2wht3E4Na41i2Mmr232EKIXZ4buURF1NcTuE1JuoTw1GTwuL0zelIs2Kgmj13ffMTE0We0xj0ZHUqA2JssKL2WfvRG19SgtY2YOxsU26hISn4YZXxJ3lhGZJ3BK

Radio Miner

The most complex part of the setup. These miners follow the pattern:

  • If you see a resource node, go there
  • if you don’t see a resource node, go to the mining location broadcast by the storage controller
  • if you can’t fit the resource you want to mine, signal and wait for pickup
  • when you can mine the resource, mine it

The order of the first two rules may seem wrong. It prevents the miners from running about whenever priorities change. They will stick to a spot and mine it dry. Once it is dry, they will get their directions from the controller.

You can build this on any chassis that can take the following:

  • at least one mining tool or drone
  • behaviour controller
  • radio receiver

Since new locations are always ordered on the basis of least distance, it is pretty simple to keep them in power coverage. I use mostly twinbots with dual lasers.

Logic:

DSC16k1WlAKG1BbU9l39mZqy2WP45Y1CcaZG0jRl9Q2Ece112nXye33ixv1h1iWX9C0qFHEO3FBEYm0B4vWE0KWuh027wP902dZcW413ag004V0I274S9Qfk015m9G1QpBHk09CimB0blbQX1iTtaT1KOaHJ1XXnzJ1DnJ2M3a7wlJ06zdqr17iKPT1M2QSu4XevIB1DpeBF3xj9t82IH6a32yTKZQ0FZMmx1yYEE13XJo773KxIIq3AR5OC0h5ee42CbOoC49mMHK3syQc22GLKS5005UCG468mII08bt9J3tyiYm2VNuGc1jDzuk4ZMboj25NIs04dKqft3DzJ0Y0t90Om0bgKhM03Igjg3HFCIv1oozBL0ZMFfg1vvqvC26hpjU0ZDza31aTCtn0ofPJw38k76p1hYjrt1RiW1y0eIFYL2UwccC349S2F4bl5Yq0v8xn82Q8Jk30WOKGa2RgEe21di0zk1dgCFw4ITyqq3wAzgH0hp4uV0itcEm1vePyD0mSl4o0tpaPy17pF6n3Q2FX40SQ27M1TJjHp0JydOi3vLvSE3ptGM60GRiSe0WpJRd2ZDdLS0SKHPO1Yoxzf2eVvcO4eKjd13Kj5rl0EXvTr09hddl2ZMlxn0GtKaU1oG2X417NjaL4cjtH63lrgat1PsxUQ3xXGTh0HhXug2WbiSf1ZiGCE0FbhNs15QrJv2miLNI4ElU3z4W8L5K2aMVHs2mcXFp2cAjF335sxsQ0vaLxP0jrS2o0jn9H04CohGX1zPnmS43m1oA2sprcN0OoiRy4IYLEv4IOMsG1hf0Gv3uSnj70kAoxs0BNUPZ2CcD641lw5zj4K2dux0hl5Qk3TkdZI0smxs90NIdSo4X38N83cQewY8V9d

مخطط:

DSB1GZ1XvlEm1BbS1d2AXAu81XRdlz1j1QcU0bSq3M3550DN3m6Jdt19L9kL3oL60h2GNv373zo5UB35DO5M2eAvZI0oZzXm0JHjrw3mQOXI10k9f53nSBzT4avul30HsaJc1hXGUn01xF1e3bn8pr1JTOuB3XvzCB2caOep1sSmFl21QfgF0Gpfu129n1Hb20QYQy2hF0NH29QREx2TVfd61pGxAZ0O0XuQ06gFWX4HxKX304yT8t3CXOCc0ag27P2MbTwz2ufOff1WEx4q15Wlxv2ofUTO2kLOWy3t6MBZ2MOGfB2cEYF64E6lWW36zmJk0UOCMX0ufZBP1T1mPX350R3Z013tOz4dZlGy1djCpi3PNlco2YCzWc0BNs6y07tDue3iDRti3ZKqUG0pfTeK2uzT2D31hWhU3wRxxB3CVqZf0Q8g6t01qZ6z48al7r402ve11gCLwH07p3uE16JIZb1FxAXO31fEHk3qV9yn1FX9Nj0hE9BN3PKAHD01VBk344N1ys2FLODv0uVtN44cCZ9S2jkETw2pMXQC1gdlvy0vnusu3HpLbl3uhpcG0Tm0J01GiI7o338vcv0X5PQk14e2iS4K2teQ3YfN6j3PnmfQ0nvVG60HLxdk2EECUw0MqOJy1Uyix513EFKD1Wi9Rv3dBfKB2y0d9U2aP4Tg0TmVxQ114Gen0TSmVr1JdTnT4I73sK0ysWoV08bIaJ1iuml80VsLdS3aSTlP3KBVT33pLF6Y3QCwxJ0RRBHk0g2TzQ2D5PeE2f25Mv0Pr5aQ12Fplz1Wzgb54YpruE1CVoXx36XXa03KgjpM1yBfYD3FcJbJ0dy2VU2kIXJo013mDr2cDlsA3sz4DS0kC5Ip3gTX1r4Zyit00X7dA24araj324sFlE4EtYPi14tzaj4GjE4J425Qvk1GGbaf4T5H6H33U5I84WWvSl1YLIdt49w7Bt3E23G64NQYrm36YHUO1iCUzN0oZu5x4Cjxc72SKmT94aUkkR4DsYtd2l2qYk0OmKFB0CY7vU0nFI5o2nrst3351PlS1hZIWi3VoJuG3lzCW7f

Radio Transport

These transports read pickup signals from your miners, grab the goodies and drop them off at the appropriate storage facility. They are not fast, but they are cheap.

Use a dashbot as the base. Add some storageyou’ll want to empty a miner in one go. ايضا, add the radio receiver and behaviour controller. Season it with some logic and you are good to go.

Logic

The logic circuit is fairly straightforward:

أولاً, try to unload your items. For that, select the first item in storage. Tune the radio to the correct channel to find out where this item is stored. Drop it off there.

Once all items are stored, find the closest unit that is signaling for pickup. For that, we have to loop through all the signals and get the distance to their source. If the source is closer than the current minimum, it now becomes the pickup destination. When all signals are processed, we know where to go. We move with the asyncoption so that during the move, we will continuously recalculate the best destinationmaybe a nearby miner signals for pickup as we move by or the destination is already serviced by another transport.

Optimizations: The logic begs to be sped up with the UNLOCK command followed by the WAIT TICKS (1) command right at the start. لكن, currently the game seems to have a memory leak in behaviour logic, so I’ll keep it locked until the bug is fixed.

Logic:

DSCIb1UUNHk0te0q50LFR3Q0VggIU2TYYbQ1UauEO3w1t7f2qTTs52NHuHG0R2Kmq3fOw483nCjjm0j9qhZ10Rrv82305Cu3gtljy1lZqMR2rTlYo1s2QoX0hRTaj3jmX0u30dCVJ2vw87m00HKN92OpiaW3rLqX644cuKm1mO4CO1l0UOh0kiqzl3ha0UZ16qm6a4IHypZ2o4f8H1fluot0MmznV3kR4h347GgSM1YSAR219iYru1lgEnJ4SOPTD1SKlpB0Q3rvv0F6mlA3inGSa31pgp32O3seM1cbwSK1yiirK3krW330JUwLK16ZETk2XhJ6r2cpTLa47tNgH38kvs20nFSM21q49AP2wvr953KdMss2fo0xc0Wc6YE1KeeVm3bKnqa12KhsD0DzrPZ1VKttg3hKu7P3ZhZDU2sAYnz20NpDN1hDLKA3Ebfl62sMIH62Yv5sD2mse081sJkz51yRAnI4bI3Yl3tftjL1rXcAJ09lk3G0osWZv2rEGGm06Y7mY

مخطط:

DSBNr2gI56W0tkt3h2siYeO0mLm3R257ZZS2fqB8Y01BK1D14vQVr3TMC0h42PAuY3oFhXG2eQu1k2UUZMI1UQmm32WdTpv3qSFXm3kZdwG2dShKh3QtCxw3ysm6V4FiXVe0Ixato0oxNUy4aoMb40ZqgJv0VEjuU46hDS60qxqou2QQb1N0OybyB2rRRJD0JHqyI1kFiSQ3bo9jJ3u2QLY46XfNY24BN2U2D93bE3ed4S10zrwKj37glAy11jt7V3QyffP0EWMdd3YhITm42fVhA4DVlRI3NdcCO2COQVo1N0CNJ4VrqeJ252fiX4PWdYh1Cjq0E4LS5OC3OVIqa3rlRvx0q6W3n10nO6v4I09lc0hRwd30LFPbO1RPvle1EWiTN4AZjws0GbQrD09xN6l4ZSVT80BzcTE0uoh3L27vNSs342dVA0oE10e1BsLB332onm53OOPQX1pnbxX47zQMm3DBMbF1RPmHD0JqMaG10DkVf13XQSY1Bq5Go2h7vXs2cfSiL06FPa126ixLB25mxig3AiJGJ20Bn7F197leR34DIlI2WRuFz2n1zve4efC7u3bkjmX4ZzVcy40ybqH0TCaTt3wosaV1FAehp42gplX0D5NFt1tL6nQ0JhWjc2TGmZu0xMcxo2mQDXo3NqNPi3NPclz3JWot3G7Sm

هذا الدليل حول غير متزامن كتب بواسطة NormalityBytes. يمكنك زيارة المنشور الأصلي من هذا حلقة الوصل. إذا كان لديك أي مخاوف بشأن هذا الدليل, من فضلك لا تتردد في الاتصال بنا هنا.

عن المؤلف