[A13] A2B: conveyor belts & co. [v0.13.2]

Started by A2Bcorp, February 21, 2015, 01:23:14 AM

Previous topic - Next topic

A2Bcorp





A2B: conveyor belts & co. [v0.13.2]
Less Breakdowns & Small Bug-fixes


Is your farm submerged by rotting produce? Is your base cluttered by enemies' corpses? Are your colonists repeatedly slacking off?

If you answered ''Yes!'' to any of these questions, then A2B: conveyor belts & co. is the solution you need !
Our engineers have re-invented the wheel to create *the* 31st century solution to all your goods transport issues. No more endless back-and-forth trips carrying potatoes - let the A2B conveyor belts do it for you!

Features
Order today, and get the full A2B system at no extra charge, including:
- a reliable conveyor belt system that locks items to avoid accidents, but releases them in case of power cuts. No need to starve to death during eclipses!
- a universal curve. No more headaches choosing between left or right turns!
- a universal 'Loader', because A2B conveyor belts are sturdy enough to carry anything from berries to rock chunks and rotten corpses!
- a smart 'Unloader' which neatly piles up your material and releases it for your lazy colonists to access - or directly refill your hoppers!
- a 'Splitter' unit, to make three belt lines out of one ... and  a 'Merger' unit, to turn three belt lines into one!
- a 'Selector' unit. Why sort items by hand if it can be automated?
- an 'Undercover' and 'Undertaker' pair of elements to send items underground for a while, and go below any building, wall, pawn, dining room, etc ...

Wait no more, and enjoy the modularity of the A2B: conveyor belts & co. system today. Isn't it time to turn this rural farm into a money-making factory?

Add-ons
The base A2B package contains a minimum sets of belt elements - all complimentary - that allow for a very wide range of belt designs. The base package will be suitable for most users, but if you have specific needs or "simply want more", you might be interested in one the following add-ons (to be loaded AFTER the main mod):

1) A2B: Selectors : this add-on contains 11 new Selector designs to complement the main-mod Selector, and will get you covered, no matter how complex your sorting logic and belt geometry might be.

In details: this add-on contains five new selectors with different pathing options and six selectors which are "soft" filtered variants.  The difference between the normal ("hard") filtered selectors and the "soft" selectors is that the "soft" selectors will send an item which would be filtered to an alternate path if the filtered path is blocked. The new selectors will show up in a new tab "A2B Selectors" beside the "A2B" tab.  The original selector has not been moved.  The same research is required to access the new selectors as the original "[A2B] New Components". The selectors are in individual xml files so you can remove the ones you don't want (all are enabled by default).

2) A2B: Teleporter : this add-on contains teleporter/receiver pair which used to reside in the core mod in earlier versions (pre-Alpha 11).

In details: this add-on contains two components, a teleporter and receiver.  These can be used to send items long distances to anywhere on the map but at the cost of a lot of power and large heat build up.  The teleporters now use a network channel to transmit to receivers on the same channel.  More teleporter specific research is available to optimize your teleporters!

Partnerships
Conveyor belts are fun and useful as a stand-alone tool, but their true potential is really revealed when they are connected to other 'machines'. And we at A2B are very well aware of that ! Hence, we are always on the lookout for new partnerships to ensure that our belt system can have the widest and most polyvalent applications!

Here are our current partners:
1) 'Vanilla' food hoppers: Yep, that's right, our A2B Unloaders can automatically refill your food hoppers - no more endless trip to the fields for your cooks!
2) Mechanical Defense 2 by mipen: place an A2B loader next to the ore extractor to send the precious gems/material on their merry way!
3) Community Core Library: A2B unloaders and selectors can automatically unload into 'generic hoppers'.  Additionally, 'automated factory' buildings will make use of loaders to feed-back into the system allowing you to completely automate your production without wasting precious time hauling or crafting!

Do you own a 'machine' that you wish would connect to our belt system? Get in touch so we can make this happen. We are always looking for new friends!

(Note: we at A2B are strong believers in the famous interstellar motto "The greatest fun comes from the smallest mod", hence our unique partnership system. YOU choose what you need (nothing else, nothing more) and WE make sure it works fine together.)

Notes
- this mod was originally created using Haplo's DarkMatter Generator example as a canvas, which was subsequently heavily frankensteined into the A2B mod. It has since been subject to several complete structural overhauls.
- we are happy for anyone to use this as they wish, steal the source code borrow programming ideas, etc ... if you do so, references to this post and credits are welcome but we won't be mad if you don't ;)
- feel free to report any bugs, and we'll do our best to fix them. Or even better, send us your fix directly ;)
- have suggestions? Send them our way! But note that this is not going to be a massive mod. It will deal with transport systems only!
- We're working hard on the look of things, but we're always happy to get suggestions/contributions about this aspect as well!

Contributors
1000101*, noone, TehJoE, asarium, FredrikLH, bigmap001, kaptain-kavern
* Active member of the A2B corporation

Download
All the code is on Github:
A2B: Conveyor belts [main mod]: https://github.com/A2Bcorp/RW_A2B/releases/latest
A2B: Selectors [add-on]: https://github.com/A2Bcorp/RW_A2B_selectors/releases/latest
A2B: Teleporters [add-on]: https://github.com/A2Bcorp/RW_A2B_Teleporter/releases/latest

The image-based tutorial as well:
https://github.com/A2Bcorp/RW_A2B/wiki/Tutorial

Known bugs
The list of existing bugs/wished features can be found here: https://github.com/A2Bcorp/RW_A2B/issues

Any and all contributions & suggestions towards solving and/or implementing any of the features listed there will be warmly welcomed by our engineers, and properly rewarded!
(Note: the reward for helping improve and expand the A2B mod will be strictly limited to the glory and fame possibly but not certainly resulting from being added to the exclusive list of contributors to the mod. Don't expect silver ...)

Screenshot


Research


Versions
0.13.0: Alpha 13 Update.  New features and a couple small bugs fixed.
0.12.1: Unloader fix.  Resolves issue #47 and builds against RimWorld Alpha 12d.
0.12.0b: Research fix.  Restores the research to it's normal prerequisites.  Affects core mod and teleporters.
0.12.0: Alpha 12c update.  Contains all the goodies 0.11.3 was testing!
0.11.3: Testing Release.  Underground system can merge, split and corner.  Covers can be taken off to help retrieve valuable items.
0.11.2: Alpha 11b update.  Optimized underground components, fixes slide no-power bug and some edge-case underground routing.  Adds French translation by kaptain-kavern.
0.11.1: Major update. Core optimizations.  Major overhaul of teleporter add on.
0.11.0: Alpha 11 release. Teleporter/receiver now form their own mod add-on separate from the core mod.  Also fixes the splitter so it properly cycles through outputs on sparsely populated belts and will re-path when all paths are full and one becomes available.
0.10.2: Underground belt system now allows power segmentation, fixes transport time and construction issues.
0.10.1: Pre-release of the Underground belts. Transport time remains to be fixed.
0.10.0: Alpha 10 release. Includes a symmetric teleporter, more research, etc ...
0.9.0: Alpha 9 release. Includes animation and bugfixes (no power cable issues anymore, belts transfer heat, etc ...). Thanks to TehJoE !
0.8.0: Alpha 8 release. Also, the teleporters can now beam objects to large distances at the cost of an increased power consumption (thanks FredrikLH) !
0.7.0: Alpha 7 release.
0.6.4: Minor update. Rock and slag chunks are now haulable 'by default' when they come out of the belt system via an Unloader. Textures have been slightly modified for uniformity and XML properties of different belt elements re-balanced.
0.6.3: Major update. Added smooth motion for the items on the belt (thank asarium). Added 3 new belt items (splitter, Teleporter and receiver). Code moved to Github, including an image-based tutorial. Bug fixes (including rock chunks!).
0.6.2: Major code overhaul by asarium, no more error messages with rock and slag chunks (but they still don't behave), minor texture updates.
0.6.1: fixed stupid XML bug - your belts will now connect to the power grid ...
0.6.0: Alpha 6 release.

A2Bcorp

#1
Yep, that's right, A2B is now a Corporation ! From the very beginning, we at A2B encouraged contributions from the community to create the best possible system of conveyor belts in the galaxy.

By becoming a fully-fledged corporation, we are now taking one important step to ensure the long term stability of the mod, while allowing more contributions and more collaborators to join us !

As a Github organization, anyone is welcome to fork and propose commits to the code.  This also ensures that the mod's destiny does not rest with a single user at once. 

More support, more updates, more efficiency ... The future is looking bright, and we at A2B corp. are looking forward to embrace it !

volodo



Iwillbenicetou

Nice! A whole new start to the conveyor mod! I always love your conveyors.
Mod Help! The basics on how to download mods!

dareddevil7


TehJoE

#6
Quote from: dareddevil7 on February 22, 2015, 09:08:41 PM
do they still cut entire rooms in half?

Assuming you're talking about sealing rooms off like walls: In 0.9.0, they can in some cases, but the upcoming 0.9.1 version fixes that completely.

They're not intended to be pathable (you can use teleporters to split the belts up to allow pawns through) but in the next release I believe you technically can get a pawn to walk through them if it's absolutely the only way to get somewhere.
Do you remember, how many breads have you eaten in your lifetime?

pokemonfirer

how would i get it so that they only drop things on a loader if its closer then my normal stock piles so they dron grab from stock piles to load the loader

Rock5

The loader and the destination stockpile should be the same priority. Then it will take it to the closest one.
Rock5 [B18] Mods
- Butchers Can Count Meat
- Sun Lamp Planner
- JTZoneButtons
- RimSearch
- JTExport

Famous Shoes

#9
Nicely done. Some thoughts for future features:


  • Step overs: either a step over one can place over an existing conveyor (likely impossible) or just a straight conveyor segment with an integrated step over. See: http://www.gmhgb.com/images/stepovers.jpg
  • Doors: straight conveyor segments with a door to block heat and item movement (toggle open and shut, automatically close on power-loss), e.g., for conveying items into a large freezer. Auto-open and close when items are passing through might also be nice. See: http://www.expo21xx.com/news/wp-content/uploads/albany-conveyor-system-door.jpg
  • Overhead segments: to allow pawns to walk under, perhaps restrict them from conveying heavy items, e.g., chunks, large corpses.
  • Covered segments for the outdoors: counts as indoors for item degradation, perhaps restrict them from conveying large items, e.g., chunks, large corpses.
  • Underground segments: function the same as normal segments (straights and turns only), but are floor tiles and can be walked and built upon. The catches being that items cannot be retrieved even when the power is off, special up and down transfer segments are needed to start and end an underground section, and no large items are conveyed.
  • Quality selector: send low-quality items one way, high-quality the other.
  • Damage selector: send low-HP items one way, high-HP the other.
  • Random events: segment with an item jams (most likely on curves, teleporters, doors), item falls off segment to the side (most likely on curves and overheads).
  • Automatic power control: when built inline with the power source a conveyor system or perhaps just adjacent to any part of the system, switches power off automatically in response to: the system being empty or no items can move.
  • A flipped version of the selector, so one can always use a positive filter to select, rather than needing to make a negative filter for right-handed turns.
  • Use an empty list for new loaders so one doesn't have to watch a loader-blueprint until it's built then jump in quickly before bad items, e.g., ones without an unloader, are placed into the system.
  • And, a possibly out-of-scope idea: inline processors. For example, meat cookers, stone processors, incinerators.

If you consider the quality and damage selectors, might be good to first check with Sylvester whether he plans to add those to the storage filter interface, which would obviate the need in A2B.

noone

Thanks for these suggestions. Some very good ideas in there. They shall be discussed by the A2B board, but I'll write down a couple of personal thoughts for now.

So far, the A2B systems have been driven by one concept: allow the most polyvalent setups while restricting the number of components to a minimum. The game already contains a lot of stuff to build in various categories, and things get even worse with mods. I am all in favor of new items if they add to the abilities of the belt - but if they merely add "alternatives" to the existing system, then I will have very strong doubts regarding their addition.

Specifically:

1. to 5. : Sure, these would look nice and fancy. But you can already allow colonists to walk through a belt line using the teleporter/receiver pair. Plus, from a "look" perspective, I do not think that we could achieve anything looking really nice for such components. In my mind, these bring no functional gain, complexify the code and its maintenance, and add clutter to the item's menu.
6. to 7. : Very interesting concept. Rather than a separate items, though, I would hope to integrate this into the Selector directly, and avoid adding two additional items. Unless searching the selector becomes too tedious, but I think it should be alright. Added to the Github wish list, for now or later.
8. : We're working on fun things like that .. stay tuned !
9. : Power control is a tricky one, especially now that colonists have to walk to switch things off. I don't like the idea of switching on/off all the time if the belts are empty - too much variations all the time. But I agree that the possibility of switching off an entire belt line would be a useful feature. Not quite sure how to achieve that just yet ...
10. : That would just work like the existing selector and be very confusing for everyone. Not convinced right now that it would bring anything but clutter the item's menu.
11. : Good point. Added to the request list on Github.
12. : These would be great. But I would not like to see them inside A2B conveyor belts & co. I like small and dedicated mods, because players can install what they want piece by piece, rather than getting large combos and only use half. I am very much in favor of a dedicated series of machines compatible with the A2B belt systems (and these have been requested a lot in the past already), but I would rather have them placed inside a separate mod, e.g. A2B machines & co.

Once again, these are some personal thoughts, and do not represent the final position of the A2B corp. on your suggestions. We'll see what other members on the board think.

MsMeiriona

I get the issue with the selector. It's fairly annoying the limits we currently have, I had wanted to do a selector with, for example, using NSWE, N/S Input, W/E output, instead of W/S Input N/E Output. I don't know how it would be coded without making a different selector to cover every option once rotation is accounted for, which would be just waaay too much because it'd be like, 12 different combinations or something (math was not my strong subject)


Famous Shoes

Thanks for the thoughtful response, appreciated. Some additional thinking:

  • In space constrained areas (isn't that everywhere), and of course outdoors with the rain, the teleporter pairs aren't practical. And, for what little its worth, I don't see the technology of teleportation as "lore-friendly" (that's just me overthinking, not a criticism, just data.) So, having even one segment that's passable and one that can (at least intermittently) block temperature equalization, would be a boon for users not using the teleporters (whatever their reasons.)
  • I agree on the damage and quality selectors, of course the best case is that the functionality is coming for free, so to speak, in a future alpha as a rework of the storage UI.
  • Haplo has a nice approach to power switching in his PowerSwitch mod (https://ludeon.com/forums/index.php?topic=2890.0.) I think making the switching an additional part, or even extending the vanilla switch as Haplo has done, would make it welcome in those situations where energy is scarce and not bother folks who have power to spare and don't care for the automatic toggling. Perhaps a collaborative patch by A2B and PowerSwitch?
  • Yep, the handedness of the selector is a sticky wicket. Problematic as it is and would still be if there's a mirror-image confusing users in the build menu. I like that approach of sending matches left and right (acting as a splitter when connected on both sides) and non-matched item straight ahead; seems like only one would be needed then, no?

noone

#13
    Quote from: Famous Shoes on February 23, 2015, 06:45:18 PM
    I like that approach of sending matches left and right (acting as a splitter when connected on both sides) and non-matched item straight ahead; seems like only one would be needed then, no?[/li][/list]

    \facepalm That makes perfect sense, would be very elegant, add a lot of freedom while maintaining the same number of components. One input South, the "1" output North, and the "2" outputs left and right, to be fed in alternance or depending which ever exist is connected. Added to the wish list.

    Quote from: Famous Shoes on February 23, 2015, 06:45:18 PM
    In space constrained areas (isn't that everywhere), and of course outdoors with the rain, the teleporter pairs aren't practical. And, for what little its worth, I don't see the technology of teleportation as "lore-friendly" (that's just me overthinking, not a criticism, just data.) So, having even one segment that's passable and one that can (at least intermittently) block temperature equalization, would be a boon for users not using the teleporters (whatever their reasons.)

    Fair enough. Will keep this in mind for later on. Will also keep thinking about power management improvements.

    Edit: updated wish list is here: https://github.com/A2Bcorp/RW_A2B/issues

    TehJoE

    Quote from: Famous Shoes on February 23, 2015, 03:53:16 PM

    • Step overs: either a step over one can place over an existing conveyor (likely impossible) or just a straight conveyor segment with an integrated step over. See: http://www.gmhgb.com/images/stepovers.jpg
    • Doors: straight conveyor segments with a door to block heat and item movement (toggle open and shut, automatically close on power-loss), e.g., for conveying items into a large freezer. Auto-open and close when items are passing through might also be nice. See: http://www.expo21xx.com/news/wp-content/uploads/albany-conveyor-system-door.jpg
    • Overhead segments: to allow pawns to walk under, perhaps restrict them from conveying heavy items, e.g., chunks, large corpses.
    • Covered segments for the outdoors: counts as indoors for item degradation, perhaps restrict them from conveying large items, e.g., chunks, large corpses.
    • Automatic power control: when built inline with the power source a conveyor system or perhaps just adjacent to any part of the system, switches power off automatically in response to: the system being empty or no items can move.

    I am actually a huge fan of having some kind of sealable conveyor belt. I have a hunch, though, that I can do it without even adding another component, since building things into walls is actually already supported in the game. As for passable belts, well, until an issue with temperature equalization gets sorted out, that will be technically possible (though your pawns will still try their damnedest to go around). I think a step-over would actually look really neat and so would the overhead belts, but there's actually a quirk in rendering where I'm not 100% sure the step-over could be rendered above the items passing under the belt but below the pawns crossing it. Similarly, I don't know if we can get belts to render above pawns entirely but below items. Not to mention they add components for a single purpose, something we're very wary about doing. Covered outdoor segments have the same single-use component issue, and it's trivial to build a few walls to roof in your conveyor belts especially since if they're particularly long you really should be using a teleporter somewhere anyway.

    As far as automatic power control goes, I've actually felt for a while that this mod community is just awaiting their wiremod/redstone/etc equivalent for rimworld before the really great mods start emerging - if someone were to implement a logic-transmission mod (perhaps TYNAN ;D), I imagine we would almost certainly have some kind of "item detector" component or similar to interface with it.
    Do you remember, how many breads have you eaten in your lifetime?