AppliedEnergistics / Applied-Energistics-2

A Minecraft Mod about Matter, Energy and using them to conquer the world..
https://appliedenergistics.github.io/
Other
1.44k stars 661 forks source link

Centralized pattern storage and molecular assembler enhancements. #393

Closed king5327 closed 10 years ago

king5327 commented 10 years ago

The way crafting is done through molecular assemblers is probably the most annoying thing for me in this.

When you smelt something through a furnace, it makes sense that you'd need export buses, because you're turning the item back into a real thing, smelting it, and transforming it back. With molecular assembler chambers, you're not changing the object outside the system, you're having it 'react' with other objects to form another, all within the system (although it's still becoming matter for a moment, but because the MA has both annihilation and formation cores within its recipe). This brings the obvious question: why do we need interfaces to interact with it?

I believe that it would be far more versatile if it were alternatively possible to store the crafting patterns in one or more cuboids on the network. Crafting CPUs would need a bit more memory and time to find the correct one if there isn't any interface with said pattern in it, but it would allow any MA to craft any pattern within the network (at a small cost of time) if the MA specialized in that pattern is in use (should there be one). Once loaded into the CPU, the pattern doesn't need to be looked up again until the current request finishes. The 'crafting pattern provision' (there are better names) blocks should be able to hold as many patterns (per block) as the pattern provider in AE1 did. Another little detail is that any pattern on the network that feeds into a specialized MA should be available to all of them for that same time and CPU cost. It doesn't feel like a network if you have to start making duplicate resources when one would suffice.

At the very least, I beg that this be a config option.

Cisien commented 10 years ago

"Make it a config option" is way more work than you know. AE2 is not AE1, and we're not going to implement a clone of the MAC from AE1.

If you want something similar to the MAC's interface, then allow me to introduce you to the Interface Terminal, which makes managing your assembler recipes as brainless as the previous system.

thatsIch commented 10 years ago

The fact is, you do not need interfaces to use the MAs. They are fancy crafting tables if you use the crafting recipe in them.

Also this is by design. You need to design your network, to craft efficiently. Lazy people are stil able to use crafting, but people who want can build it more efficiently and get more crafting for their "money".

By having such pattern provider as you called them, that design will be elevated and a straigh-forward solution like adding co-processors to the CPUs.

king5327 commented 10 years ago

There's a difference between designing a good network and working around designed impasses.

Designing a good network means setting things up so that there's as little deadlock as possible. The problem with that in AE is that because of the instant transfer of materials from one end to the other, this complication does not exist.

The problem I see in this is in scaling . . . and seeing as the fundamental change between AE1 and AE2 is that it's a lot harder to scale above all, finishing this sentence is sheer folly. In the end, the solution ends up being the same. Throw more resources into it.

Beside this, I don't think that the Interface Terminal has anything to do with the MAC interface. Sure, you can throw recipes in and have them done, but this doesn't address the main limitation that my request was meant to address - the small number of patterns a molecular assembler can run at any one time for every block of space used (54 patterns/7 blocks). In the meantime, I did come up with two alternative solutions which both allow for this 'design' claim to be better supported (as I see it)

  1. ME assembly connection: Can only work with a MA, but holds more patterns.
  2. Have the MA hold more patterns. Not exactly a flawless solution, but still works.
Cisien commented 10 years ago

The solutions you presented go against the design philosophy at its core, which is to design and build with AE.

A poor design will be rewarded with wasted space, power, and materials.

On a single controller face you can have 32x9 patterns. Each interface can have 6 assemblers, which can accept accelerator upgrades. This combined with enough co-processors makes AE crafting scream. If you need more space for patterns... Then use another face of your controller.

g1xb17 commented 9 years ago

I have yet one thing to say. I do not mind this new system. I just hate how little each interface can hold. it makes things messier. Less fun finding patterns in their physical locations. The 6 way cube look looks very gross. The whole brain look is ugly. Instead of appealing to mire space. Make a block that can fill in the space like a cube. MA stability shell. Reduce power slightly and make the interface change. Accessing the new cube multiblock 3x3x3 shows all patterns in rows like the old system. Uses whatever rules the interfaces use channels and whatnot. But it removes the purpose of interfaces besides being able to show all patterns in a window. This way you keep your well designed principal while making things more aesthetically pleasing and everyone is happier or some variation of this.

yueh commented 9 years ago

If you would have read the comments, you would have noticed the "... or some variation of this" does already exist.

g1xb17 commented 9 years ago

Yes the op mentions this as well. But i also suggest having the interface of the cuboid include all patterns visible in the gui. my phrasing some variation was meant as a collective idea of the ideas. I dont understand your reaction. my original post was a duplicate. For that im sorry. If i am repeating others i am also sorry. My goal is to have my suggestions and ideas heard even if they are variations of others ideas. In use the crafting is fine. in gui its somewhat annoying accessinh each interface. I might be on an older version and have not figures out if theres another way but so far if this is how it works its why i made this post. again. Im Sorry.

XFactHD commented 9 years ago

You could make the player able to craft two interfaces into one MA-Interface that only works when attached to a MA. This way you would stay on the way how MA-autocrafting works now but you would also provide more pattern slots.

yueh commented 9 years ago

@XFactHD No.

@gixbit No need to be sorry. I am mostly linking the issues as reference not just duplicate, as it contains some explanation about why not as well as information about how we approach it (and this is actually far more superior to the AE1 way). (But I am mostly to lazy to summarize it again each time the issue comes up :wink: )

Cisien commented 9 years ago

If your goal is to view all patterns in one central location, then check out the interface terminal

king5327 commented 9 years ago

@yueh I have to disagree with your claim that this new system is superior, but I've reached the conclusion that if I want my storage my way, I should just make a mod myself... or at the very least an AE addon.

(Also, a thing I noticed about the original reply: "which makes managing your assembler recipes as brainless as the previous system." The previous system was, very specifically, a set and forget type of system, with no managing to be done in the first place.)

yueh commented 9 years ago

The main point is that there is no real constructive feedback. It is either "bring AE1 back" (will not happen) or just a plain "I want more slots" (also no).

If we look at the smallest MAC from AE1 with 3x3x3, it can store exactly 54 patterns and craft 1 item at a time. Exactly the same as an assembler with 6 interfaces in AE2. So they are nearly identical. But you need less then half the amount of blocks and so probably way less resource. Scaling it up is also cheaper, you do not need to move from n^3 to (n+1)^3, which is a huge investment in resources, if you just need the space for 9 recipes now. Same the same is true for the entry into autocrafting, it just takes an assembler + interface and not a full 3x3x3 multiblock. Overall the same for less resources and/or better usage of resources.

If you just want to put down a huge build first, you can still do it. Put down 4 groups of 8 assemblers + 8 interfaces somewhere, hook it up to a dense cable and you are done. This takes 64 blocks, so the same as 4x4x4 MAC and can store 288 patterns and up to 32 items crafted in parallel. This is of course less than a 4x4x4 MAC with 8 pattern providers, but most people split that 50:50 for cpus/providers, limiting it to 216 patterns and 5 items crafted in parallel. This also applies to larger MACs, if we just look at the amount of used blocks. A 5x5x5 would probably be used with 1 layer of providers (9 = 486 patterns) and 2 cpus ( 18 = 19 items parallel) vs ~62 interfaces + 62 assemblers ( 558 patterns + 62 items parallel) Overall it had the potential to hold more patterns, but then being painfully slow. In a more realistic environment it held less patterns and could not craft more items to make up for it.

With an interface terminal you can access all interfaces at once. This will even give you access to every other interface including the ones for processing. It will automatically group them by the name of the attached machine (including renamed ones), make it searchable etc. It even makes it more "set and forget" than AE1.

So I honestly do not see any point of AE1 being superior. You can achieve the exact same behaviour as AE1 (set and forget). Even cover the processing, which was not possible in AE1. As well as being more flexible in general and more rewarding, if you actually take some time to plan your setup.

ruifung commented 9 years ago

As someone who used to use long lines of crafting tables from logistics pipes, I don't particularly mind the crafting system, in fact - I'm surprised that this argument is still going on now.

If you want to build a cube? Why not? You could build a honeycomb hive of Assemblers & Interfaces. (Of course you'd be limited by the 32 channels, but meh.)

Also, how would this system need managing in the first place? In my experience, its pretty much the same way to use as AE1 autocrafting, I set it and I forget it.

g1xb17 commented 9 years ago

I think I was more or less saying I wish you could see the storage of an assembler all at once when accessing 1 interface. Rather than bringing the old back. I haven't worked out a way to make it craft faster yet, but, I'm starting to see ways that it can craft in parallel which seems to be the ideal scenario is multitasking. Although the mechanics are not fully explained on any page of the site, and I'm really big on mechanics, I also don't like youtube videos because They would never answer my questions anyway. Like what to do to make a particular thing show up in the interface window. When I renamed Molecular Assembler to Something else it didn't change the actual name of it. :/

EDIT: In the interface terminal I mean.

XFactHD commented 9 years ago

You Need to change the name of the interface, not of the MA. Let's say you want to automate two IC2 metalformers, one is rolling, the other one is extruding, then you would rename one interface to metalformer (extruding) and the interface to metalformer (rolling).

g1xb17 commented 9 years ago

You really just helped me. This is not explained anywhere. Thank you so much.

g1xb17 commented 9 years ago

@king5327 I have to disagree with you entirely. The original AE mod was designed in such a way that parallel processing was really not as intuitive and the way storage worked was in favor of a giant box that stored and did everything. Now it's in dynamic easily scaling mechanic. Multiple patterns supplied to multiple upgraded assemblers results in better speeds maybe costing less resource wise. If you ask me this new mechanic allows you to put the processing power where you want. You can easily supply enough power to a single recipe to create items faster than you can click. And, if you set up your system right, if all steps in a more complicated recipe are present and accessible at the same time, you can simultaneously craft all pieces at once creating 1 item per crafting unit operation. That in its own right, makes this new system, way more powerful in theory, but, harder to achieve in practice, which is what made the original ME kinda lame. There was no feature to scale it this nicely. Instead it was feed more cpus and hope for the best. If you were trying to provide stuff to exports and something messed up along the way it would endlessly try to craft an item taking up crafting time from other things. Until I made post on this site about the mechanic I didn't understand yet, I was judging it too fast, I understand now and I see how much better it is and i'm in support of this change, and I do not feel anything needs to be changed. The only suggestion I would make is making annihilation planes have a filter so I can suck fluix crystals and junk back in with less work .

king5327 commented 9 years ago

@gixbit I have no counterargument to your points, and you have brought a few things I overlooked to my attention. My original argument, though, was designed to request for at least one way to have a high usable pattern density (cube-wise) for those people who are not yet at a point where these high-level features become useful... Trust me. Nobody needs extreme voltage solar panel farms until very late in pretty much any game.

Your point on how it does not scale I will now steal and use as an argument for this feature: The fact that it does not scale nicely means that sooner or later, anybody using AE for autocrafting will either be spending lots of time in exchange for resources, or shifting up to this new system.

Read the OP again. Nowhere did I request the removal of the current system.

g1xb17 commented 9 years ago

@king5327 I was a non-believer as well until I figured out that the new system, although more space consuming (Although that isn't as big a deal as one would think), is better for doing -everything- the old one was good at doing, the only real problem is that the channels can be cumbersome, you can't nest p2p tunnels and there's a lot of thought as I said. I have used the old AE for a very very long time, and, If everyone was like me when I looked at this, I was very skeptical, It's no harder, it's just a new idea based off an old idea, that works the same way but, adds more depth, If you can get around the crystals, power and resource cost, It's no harder. Just more wire, more planning, more reward. Any automating junky out there should not sell it short. The mechanics are definitely not explained in one place, but, if you sift the ae2 site carefully you can piece together that it does do what I and others have said.

Tcll commented 8 years ago

@yueh if you would please consider re-opening my issue, my aim is at improving the crudely poor and painful design when it comes to high-tech, dynamically-optimized autocrafting. otherwise your mod just aims to be inefficient and cause lag.

bookerthegeek commented 8 years ago

@Tcll Could you please consider re-wording your comment, my aim is at improving your crudely worded and poorly thought out comment as it comes across as you being a D-Bag.

Unless of course if you were trying to come across as an A-Hole, then you succeeded magnificantly.

Tcll commented 8 years ago

Tou-che I may come across as being an A, probably because I deal with enough developers who insist their codes are diamond when they're made of glass. Trust me when I say I'm a good guy, but mind the fact I do have a problem wording myself.

As for my comment above, I mean what I say constructively, not offensively, and I'm sorry to those who took it that way.

If you read my issue, you'll understand what I mean by poor design. I've been trying to build something efficient for years now, and the best I currently have is a bunch of nodes consisting of 16 interfaces with the same recipes, each with 6 of their own MAs. it's so fast, though I haven't had it long enough to bench it...

bookerthegeek commented 8 years ago

I did before I commented. Just realize before you tell people your way is better that You != Better

Jadzia Dax -

  • It's the height of arrogance to think there is no better way just because you can't find it.
g1xb17 commented 8 years ago

If you want to add this for yourself you don't need yueh and this dev team. Just take the code and add it in. There's nothing stopping you from doing that if you have such great ideas and know how to program. Surely you will not give up despite yueh.

VT-14 commented 8 years ago

Ok, I have to ask... WTF do you need to craft in insane quantities to warrant crafting 96 of them per operation?

"I've been trying to build something efficient for years now" ...[insert absurd design here]... "it's so fast." Wait, are you going for efficiency or speed? It looks like you threw efficiency out the window and went for speed for bulk crafting. Out of curiosity, did you put 3 acceleration cards in all 96 of those Molecular Assemblers?

Efficient would be 6 interfaces on 1 molecular assembler. A good balance between speed and efficiency would be to checkerboard interfaces and MAs, add in Acceleration cards, place your recipes (for gosh sakes; one of each recipe is plenty in most cases) so sequential steps share as few MAs as possible (Logs -> Planks on the opposite side of Planks -> Sticks), and use crafting co-processors. I can think of a design that uses 8 interfaces and 25 MAs (75 acceleration cards).

Tcll commented 8 years ago

@bookerthegeek haha, I am arrogant, but not closed-minded. just because I'm pointing out inefficiencies doesn't mean I know the entire perfection in home computing ;)

@gixbit I'm only good in python, but am learning java, otherwise I'd release my pack with my own builds of every mod I find flaws in. ;) if I could do better at this moment, I would.

@VT-14 ok, I'm using efficiency in place of performance... yes I'm going for multi-crafting speed, such as crafting Magical Crops charms in 5 seconds.

But I'm not designing this thing for myself alone, however, it's all for creative needs.

And why TF would I not put 5 Accel-cards in all of them? ;) 5 crafts a second is still slow, I can craft faster than that with the vanilla crafting table.

Edit: btw, the cube is inefficient. why? 2 interfaces sharing an Assembler, one has to wait for the other to finish.

Edit 2: btw you mentioned another inefficiency, being 1 recipe (or pattern), is plenty... I guess having to wait years for a single crafting job to finish is super efficient. (If you don't realize, time and speed are part of efficiency)

So that's why I need more than 6 assemblers.

g1xb17 commented 8 years ago

What I do is make a cluster of them and assign names to all the interfaces so I can access the cluster through the the pattern terminal. I do put 6 assemblers around an interface. But I also have interfaces around those assemblers. So in terms of efficiency and design I had a design that could put 27 or 29 channels worth of interfaces in one huge cluster with assemblers in between each one. And it's 5 acceleration cards not 3 and why you put 5 in each honestly. The only issue with this is finding out whether it's slowing down other operations but that's mostly negligible at that point. To just say you stop with 6 interfaces around an assembler or 6 assemblers around an interface. This ignores the fact you can surround each interfaces with assemblers for free. No channels required. Just power. I used to understand it all a lot better but it's been at least 8 months since I've played with ae2.

g1xb17 commented 8 years ago

Just to clarify that was using 1 p2p with a 5x5x7 or something good cube and each p2p was routed via a quantum ring. I had a system worked out where I had a few chests of memory cards about 192 of them designating a p2p tunnel already configured and all was needed was a quantum gate and I mean you have 192 p2p tunnel with 32 channels each as long as you use dense cable. On the idea of efficiency you have scale your needs. Some of those clusters I would put the same recipes in there many times depending on the thing

VT-14 commented 8 years ago

@tcll Ok, I have to ask again... WTF are you trying to craft?

Pardon me forgetting how many cards the Molecular Assemblers can take. I rarely bother to speed up MAs, and haven't played a proper 1.7.10 pack (AE2) since mods started transitioning to 1.8+.

I go for cost efficiency rather than only time efficiency. I'm not saying that time isn't important... just that I'm usually more concerned about making and then maintaining (power and server resources) a system, so fewer MAs is better.

Sharing MAs is only a problem if you foolishly put consecutive recipes in the same Interface (sharing all 6 MAs). The next worst thing you can do is put consecutive recipes in interfaces sharing 2 MAs; and the last 'bad' thing you can do is have them share 1 MA... and sharing no MAs is still an option if you place recipes intelligently. You can get a good balance between laziness and intelligent placement just by adding recipes in an Interface Terminal vertically (round robin between your Interfaces).

I will admit: if you want to craft 1,000,000 crafting tables; your system is better. However, if you want to play something like FTB Infinity Expert Mode, you will want something WAY more reasonable.

asking again at the bottom so it's the last thing you read... What are you trying to craft?

Tcll commented 8 years ago

What I'm trying to craft is recursive recipes (fast of course).

I align my nodes horizontally in levels, with higher levels using less pattern dupes.

Basically... the X axis is for more level # recipes the Z axis is for more levels.

I haven't exactly optimized this yet.

Btw, I applaud your design, using MA's based on need, my design is less efficient in that manner. (In fact, I will say my design kills servers) ^ it's just easier for me to track usage...

If I was to use your design, I'd have a lot of trouble trying to visualize the usage and would give myself a headache over the confusion.

Tcll commented 8 years ago

Can't edit for some reason...

Just to note on my suggestion, it wouldn't make my design use less Z or Y axis, but it would make it use less X axis, since I could put more patterns in the interface.

But pretty much the entire concept of AE2 autocrafting is inefficient... it's designed to kill servers.

Would be nice if the devs at least tried to improve it...

EDIT: ah, wasn't realizing I was on mobile github... lol

VT-14 commented 8 years ago

Name one mod that does the auto-crafting you want to do more efficiently.

If you are trying to do something completely automatically (like combining Magical Crops essence to reach higher tiers, or compressed cobblestone), then I would say Extra Utilities would have the better auto-crafter. One tile entity can make something like 64 per tick.

If you want request based auto-crafting, then your options are AE2 and Logistics Pipes... and AE2 is the faster and typically less laggy of the two.

Tcll commented 8 years ago

Well, I was working on something involving a cloud of robots from OpenComputers, but currently the adapters don't accept crafting requests...

Tcll commented 8 years ago

Btw, figured out something for farming with help from Compact Machines with Thermal Dynamics.

You can fit a max of 4 planters inside a single cm nether-cell, so I've figured out a way to link an infinite number of interfaces to those 4 planters... although it's anything but resource efficient...

Simply quantum upgrade more cells to the farm cell and connect interfaces to each cell.

Also sorry about the unfinished post notification... I hate phones

EDIT: should also mention to use warp ducts with resonant servos and filters. and limit all items in inventories to 1 with a transfer rate of 1.

g1xb17 commented 8 years ago

There's almost no reason to use less than 6 MAs on 1 interface, just for the fact that they're free, they cost no channels and they all use recipes regardless of how many of the same one you put in, so if you have 1 recipe all 6 can use the recipe. The only reason you would cluster them like I do, is actually more efficient because it gives each MA the possibility of using more than 9 recipes, instead you can have up to 54 recipes on a single MA, but at most 9, so on the edges of the cluster, you put 9 common recipes, and in the center you put the less common recipes you will use. So, don't assume that people aren't going to need intense setups, there's a ton of mods on FTB Evolved. And if you want a setup that scales, having some piece of crap shit with no scaling is useless to anyone who intends to have a more endgame setup with faster crafting.