[Suggestion] Rethinking EUs, EU/t, EU/p, and cable quality

  • Note: Most of this was written as I tackled the problem and tried to figure out what change to suggest. I've left it to show my work, so that you can see why I'm making these particular suggestions. If you're just interested in the suggestions themselves, scroll down to the second post, "Pulling it all together".


    ----


    So a few days ago, another one of these showed up. A post from someone who's confused by a cable carrying more than it "should" be able to. The fact that so many people get confused by it is a pretty clear indicator that the current situation is confusing and needs to be fixed. There are also some balance issues, what with being able to send an effectively-infinite amount of electricity down any cable but tin (and only omitting that one because there's no 5 EU/p transformer).


    Problem 1: My copper cable is sending 512 EU/t without melting. Let's say you have a mass fabricator sitting around that is happily consuming all of the 512 EU/t you produce. Nice situation, as you're gaining matter quickly. Except for the small problem that the rest of your machinery is starving. There's a nice easy solution: feed the mass fabber 32 EU/t instead. So you drop in an MV transformer and an LV transformer and... it's still eating all of your electricity. The problem here is that transformers appear to change EU/t, but they don't. They only change EU/p, the number of EUs in each packet. The same problem affects cable: EU/t is obvious, but doesn't affect the cable. EU/p is what actually counts, but isn't shown anywhere. In short, things don't do what it seems like they should.


    Problem 2: All cables are superconductors. Say you have five full MFSUs with their outputs pointing at the same block. Meanwhile, a hundred blocks away, you have five empty MFSUs. And, because you spent most of it building them, you only have one diamond left. Getting the EUs transferred is going to be a pain. Either you make one lapotron crystal and spend ages shuffling back and forth, or you lose a bunch to cable loss. Right? Wrong. Use your one diamond to make a single batch of glass fiber cable. That's enough. Actually, you only need one piece. Use it to connect all five source MFSUs to a single MV transformer. Connect that directly to an LV transformer. Add four pieces of copper cable, and then another LV transformer. Continue that pattern: four copper cable, one LV transformer. And at the other end, just wire the copper cable directly to the empty MFSUs. All told, it should look something like this: :MFS-Unit::Glass Fibre::MFE-Transmitter::Batbox::Cable::Cable::Cable::Cable::LV-Transformer::Cable: [...] :Cable::LV-Transformer::Cable::Cable::MFS-Unit: Hayo, a zero-loss cable that will happily send 2,560 EU/t.


    Both of these are symptoms of an underlying problem: the system was designed for EU/t, and converted to EU/p without enough redesign. If each cable could only take one packet per tick, we'd still have the lossless cabling (that one's unavoidable without fractional EUs), but your copper cable would actually be limited to 32 EU/t, instead of having no EU/t limit.


    So, since the problem is a lack of redesign, let's do that. And since EUs are based on electricity, let's use that as a measuring stick. Here's how everything matches up:


    • EUs are energy, represented by kilowatt-hours or joules (also known as watt-seconds).
    • EU/t is power, represented by watts.
    • EU/p is voltage, represented by volts (appropriately enough).
    • The ratio of EU/t to EU/p, power to voltage, is current, represented by amperes. (With constant EU/p for every packet, this is the number of packets per tick.)
    • The quality of a cable (max EU/p) is its conductivity, represented by siemens per meter.
    • The amount of EU lost by a cable (EU/b) is a result of its resistivity, represented by ohm-meters. (Ohm is the inverse of siemens, so this is the inverse of conductivity).


    Now, if you're anything like me, the real-world units for all for these things have probably flown in one ear and out the other quite a lot. Volts are how "strong" electricity is, watts are how fast you use it, and kilowatt-hours are what you pay for. Amperes and ohms, let alone siemens (yes, that's the plural form, too), are terms that electrical engineers throw around to confuse you. So let's just keep using the IC2 terms, so that we don't confuse ourselves.


    So, by current IC2 rules, voltage (EU/p) is limited by conductivity (cable quality), but current (packets/tick) isn't limited by anything, so power (EU/t) is unlimited for any cable. Which leads to the current situation where copper and glass fiber cables dominate, with occasional tin cables for tiny-voltage applications like solar farms: Why make HV transformers and cable when four packets on glass fiber gets the same power with a tenth of the cable loss?


    In the real world, there are lots of types of cable that all see practical use. Almost none of them are superconductors. How does that balance work?


    Most real-world cables are copper. The wire connecting your headphones to your computer? Copper. The one connecting your computer to the wall? Copper. The wiring of your house? Copper. Your local power lines, the subtransmission lines, and the high-voltage transmission lines? Copper, copper, and copper. Pure copper is just too good a cable material for there to be much serious competition. It's highly conductive, reasonably-priced, tolerates a wide range of temperatures, and is flexible enough to make cables that are very tolerant of stretching and bending. There are materials that beat it in each category, but for all four at once, it's the reigning champion.


    In the real world, it's not the cable material that separates cables, it's insulation and wire thickness. Different types of insulation have different advantages: price, flexibility, temperature tolerance, water resistance, longevity, breakdown point, and so on. All of which involve meticulous detail and entirely too much complexity for IC2. A couple of types of insulation with different advantages might be nice, but it's not really an essential part of the cable's quality.


    What is essential, however, is the thickness of the copper wire, because that directly influences the quality of the cable. Thicker copper means more expensive cable, but also more conductance and less resistance. In other words, a thicker copper cable in the real world is analogous to a better cable material in IC2. Which points out a major flaw in the current system: With the exception of glass fiber cable, a better cable material means more conductivity (higher max EU/p), but also higher resistivity (more EU/b lost)! Conductivity and resistivity are supposed to be inverses; higher max EU/p should mean less EU/b lost. Even without packet overloading, you'd rather use copper cable than gold, because gold is only better if you're sending at least 64 EU/t, and you often need less than that. In the real world, the only reasons to choose a thinner cable are size, weight, and cost. Of those, only cost is relevant to IC2. So tin cable should lose the most EU/b, followed by copper, gold, and glass fiber. We'll come back to HV cable later, because it deserves special treatment.


    So, why do we use particular voltages in reality? Higher voltage means lower current for the same power, and current is what causes energy to be lost in transmission. (In IC2 terms, more EU/p means fewer packets for the same EU/t, and EU lost depends on the number of packets.) Higher voltage also means that more insulation is required to prevent the electricity from arcing and being lost to the environment. This insulation isn't practical inside a machine, so machines fail if the voltage is too high. Low voltage, in contrast, means less insulation, but higher current, and if the current gets too high, the cable will fail. (That is, packet count is what melts real cables, not EU/p.)

  • (Notation: 4x32 EU/p is read as "4 packets per tick at 32 EU per packet")


    • The cable losses are backwards, as better cables should handle the same EU/p better. Set the losses to 1 EU per 5 blocks for tin, 1/10 for copper, 1/20 for gold, and keep 1/40 for glass fiber.
    • Maximum EU/p should become a soft cap and depend on insulation. For example, uninsulated copper can send 16 EU/p at normal loss, loses half of any voltage from 17 to 32 EU/p (i.e. a 16+4(=20) EU/p packet is immediately reduced to 16+2(=18) effective EU/p upon entering the cable.), and loses all voltage above 32 EU/p. Insulation doubles these numbers (allowing normal transmission at 32 EU/p), but breaks down above 40 EU/p, leading to an effective maximum of 36 EU/p (input at 40 EU/p) with insulation or 24 EU/p (input at 32+ EU/p) without.
    • The cable itself should overheat and melt based on the number of packets per tick, not the EU/p. Let tin carry 10 packets/tick, but limit everything else to 4 packets/tick.
    • Machinery should only consume as much EU/t as the highest EU/p they receive. So a 4x32 EU/p line can give 32 EU/t to up to four machines, but only 32 EU/t to each. Machinery should still explode if it receives too high an EU/p.
    • Transformers will still take as many packets as they receive, but will only accept as much EU/t as their higher EU/p value. For example, an LV transformer will accept 128 EU/t (at up to 128 EU/p) and transmit either 1x128 EU/p or 4x32 EU/p. Further, they should store energy below their target voltage, so that they never output smaller EU/p. (An LV transformer could, however, take 64 EU/t and output two packets per tick at 32 EU/p.) Like machinery, transformers should still explode if they receive too high an EU/p.
    • Generators should store power and output it at the next-highest EU/p threshold. Solar panels would output at 5 EU/p (once every five ticks), generators at 32 EU/p, and nuclear reactors at 32, 128, 512, or >512 EU/p, depending on their power. This is especially important for low-power generators, so that they don't lose all power after a short distance.
    • HV cable will be handled specially. It loses 1 EU per 5 blocks, like tin cable, but can transmit unlimited EU/p at one packet per tick. Above 128 EU/p, it will destroy any blocks other than itself, construction foam (solidified or not), or HV transformers that are adjacent to it, triggering explosives and exploding machinery. Further, for every 256 EU/p, the loss rate is incremented (to 2 EU per 5 blocks, then 3 per 5, etc.) and the cable deals damage to living things one block further away. Each layer of insulation doubles the EU/p values, raising them to 1024 EU/p (for block destruction) and every 2048 EU/p (for extra EU loss and damage radius) with full insulation. Insulated HV cable cannot be painted (or the paint degrades when the cable starts destroying blocks, but the rewiring that would cause seems icky).
    • When transforming up, HV transformers will accept all incoming EU/t and output a minimum of 512 EU/p. When transforming down, HV transformers accept up to 2048 EU/t (at any EU/p), producing up to four packets per tick at 512 EU/p.
    • Detector and splitter cables should be considered to be fully-insulated HV cable, but will also not destroy adjacent redstone-conducting blocks (redstone dust, redstone torches, levers, repeaters, and so on).


    All of the numbers here could be tweaked, but I think this is a decent starting set.


    End results:


    Ten solar panels can happily use a tin cable, bursting 10x5EU/p every 5 ticks. (Theoretically, you could get more on the same cable if you somehow staggered them, but if power ever stopped flowing for a moment, they would overload the cable as soon as it resumed.) A single LV transformer would turn this into 1x32EU/p every 3.2 ticks. Note that any other cable type will only take four solar panels safely.


    For LV machinery cabling, copper cables can now go 9 blocks without loss, or you can upgrade to gold cables and go up to 19 blocks. And for the rich, diamond cables are still excellent.


    An expensive machine, such as a mass fabber, sitting on a 4x32 EU/p grid will be limited to 32 EU/t. Simply transforming a higher current to LV is thus sufficient to limit the machine's input accordingly.


    A single transformer is safe to use on its target cable, producing at most what the cable can handle. Trying to supercharge a cable by using multiple power sources will also work up to four packets per tick, but connecting multiple down-converting transformers or more than 4 energy storage blocks to a cable will cause it to fail.


    The reduced loss rate on HV cable makes using it for long-distance power transfer more viable. Sending 2048 EU/t 100 blocks will now lose you just 20 EU/t, and you can't make the same transmission with a single line of copper cable. Gold or glass fiber cable would still work, at 4x512 EU/p, but gold and diamond are both expensive compared to iron, and would require a second line if you decided to double the transfer rate to 4096 EU/t later, while the HV cable would just work. (Of course, there's still the problem of exactly why you want to send 4096 EU/t a hundred blocks instead of just generating it at the other end, but that's out of scope for this suggestion.)

  • First of all, good job, you are NOT in the 99.9% that doesn't actually make sense when they post something. (I didn't even read your whole wall of text).
    Second of all, I think cables are fine the way they are. I don't think there is anything bad with making long chains of power with intervals in-between.
    Anyhow, your suggestion is well thought out, and cohesive. Awesome.

    Haikus are poems

    They don't always make sense

    Potato

  • I will agree that there does need to be a rework of the current EU system in IC to something that suits a better, more realistic environment in terms of electricity...


    However, I doubt that the priority of such a task is in the works anytime soon, as the current system took a few months to even setup...


    A system based off of {P = IV} and {V = IR} for calculating power and voltage would help simply the confusion between EU/t and EU/p.. in which case, wires could then be reworked around the amounts of Voltage and Current they could tolerate, and Resistance would show how loss translates into that current movement. In some respects, this is already in the current system, but there are no clear parallels as to why they are in place, and how those factors are tied to the materials used in crafting said wire..


    So yes... brilliant post. Hopefully either Albla or Richard will notice it in the near future...

    Would anyone like to try a Slowpoke Tail?! Only 1 Million Yen!


    Quote

    this isn't about arrogance or ego, I have a block that I put a lot of freaking work into


    Every Mod Author, in existence. And yet, you STILL say otherwise.

  • First of all, good job, you are NOT in the 99.9% that doesn't actually make sense when they post something. (I didn't even read your whole wall of text).
    Second of all, I think cables are fine the way they are. I don't think there is anything bad with making long chains of power with intervals in-between.
    Anyhow, your suggestion is well thought out, and cohesive. Awesome.

    Wow. Piercing insight. The ability to rate the cohesion and thoughtfulness of something you didn't actually read is a skill far too few develop, these days.


    Perhaps you could move your confusion out of the man's way, though, because his idea is intuitive, reasonable, simple enough--or it looks so--to implement, and a vastly superior modeling of actual electrical conduction. To be honest, the backward approach currently taken with EU transmission has me puzzling over how to use it effectively even after three months of working with it. Eventually, I give up and install Thaumcraft, every time.


    ---


    Funnyman, this is a superb modeling.

  • First of all congrats on a well conjured post. Now to post my opinions.


    1: Agreed...to a point. Tin cable was ment to transfer tiny packets over very long distances (As you most likely know making this responce stupid in the slightest) I think it should stay like that...just my opinion.


    2: Loosing EU when entering a cable? Chance of degredation of the insulation upon entering a oddball area of EU's. Just a cap in increments for the max EU/p per insulation level for me thank you. Too much micro-managing otherwise. If I got that wrong let me know. My brains not working very well atm...


    3: Agreed


    4: Agreed


    5: Thinking about this...


    6: No


    7: Ehhh...no on the side effects, yes on the transmit.


    8: Agreed...thought that was already in but ok.


    9: Agreed

    "A modern tank can speed at 60 mph while shooting a target with pinpoint accuracy from 5 miles away." Civ-5

  • 2: Loosing EU when entering a cable? Chance of degredation of the insulation upon entering a oddball area of EU's. Just a cap in increments for the max EU/p per insulation level for me thank you. Too much micro-managing otherwise. If I got that wrong let me know. My brains not working very well atm...

    This would be almost invisible to the user. The final result would be, "Don't go over X EU per second on this cable or you'll melt your insulation off. There's a lower number, Y, where transmission is particularly inefficient, so really, you should stay below that." X and Y would both be known and stable and -far- less complicated than current EU/t(/p)(/b) efficiency tables. There is literally nothing about this idea that does not lead to a simplification for the user.

    Quote

    6: No

    Dude. If that isn't changed, and everything else is, generators will basically not work anymore, because you'd see massive power degradation across distance. You need that in order to tie up loose ends in the simulation that having discontinuous time introduces. If it -is- changed, they go on working much as they do now.

  • Really GJ whanted to write somethink about this but didnt had SOO much time
    and sending 5000 EU thru glass fibre must be stopped

  • Well articulated and well reasoned post from what I can read (its been a long day), will reread this after I've had some sleep; but at the moment I can't find a fault in OP's reasoning other than to say that such a major shift in the mod is likely to be a low priority for the designers.

  • Excellently written post, I really hope that the IC2 devs read and comment / implement on this topic. Or at the very least, that some enterprising modder writes an addon to do all this.


    Well articulated and well reasoned post from what I can read (its been a long day), will reread this after I've had some sleep; but at the moment I can't find a fault in OP's reasoning other than to say that such a major shift in the mod is likely to be a low priority for the designers.


    I have no idea why fixing one of the clearly broken parts of IC2 wouldnt be a priority, but then again adding pointless time-wasting toys like crops and brewing seem to be more their concern nowadays...

  • Excellently written post, I really hope that the IC2 devs read and comment / implement on this topic. Or at the very least, that some enterprising modder writes an addon to do all this.



    I have no idea why fixing one of the clearly broken parts of IC2 wouldnt be a priority, but then again adding pointless time-wasting toys like crops and brewing seem to be more their concern nowadays...

    Because the system works, even if its a bit wonky it still works.

  • Because the system works, even if its a bit wonky it still works.


    Sure, I can imagine some people really like the current system and have planned their builds around it. Changing to a system like this would likely ruin a lot of existing industrial setups.


    Perhaps the devs could implement a system like this, but leave a config option to use the current system for those who prefer it?

  • Sure, I can imagine some people really like the current system and have planned their builds around it. Changing to a system like this would likely ruin a lot of existing industrial setups.


    Perhaps the devs could implement a system like this, but leave a config option to use the current system for those who prefer it?

    Its not all "Rainbows and Sunshine" like you seem to think it is.


    According to Alblaka, it took months for Player(Ic2Dev) to design the E-net algorithm that IC2 uses now. And iirc IC e-net its entirely different from IC2 E-net, so i seriously doubt the devs are going to bother too much with this, at best it will be in the backburner, something to consider but nothing they want to bother immediately with.


    Like a saying i heard recently in a tv-series, "Don't Pet the lion, no matter how cute or docile it may seem, because you don't know when it will decide to attack and how is it going to do it", in this case the Lion is the E-Net, messing with it can have some dire consequences.

  • Dude. If that isn't changed, and everything else is, generators will basically not work anymore, because you'd see massive power degradation across distance. You need that in order to tie up loose ends in the simulation that having discontinuous time introduces. If it -is- changed, they go on working much as they do now.


    Sorry I was in a rush so let me rephrase my awnser ;(


    It would be fine for all generators EXCEPT Nuclear. The nuclear reactors fuel cell based system for outputing EU means that it would have to be the same. If a reactor outputs 1081 (example) EU then I beleave it should output 1081 EU not output, say, 800 EU and wait for the next tick that the storage hits 800.

    "A modern tank can speed at 60 mph while shooting a target with pinpoint accuracy from 5 miles away." Civ-5

  • If EC-Meters read the right thing, and weren't bugged still... There wouldn't be any issues on people understanding the system.

    ...What? There's no pineapples here.


    GENERATION Pineapple: The first pineapple you see, copy it into your sig on any forum and add sqrt(-1) to the generation. Pineapple experiment.

  • Quote

    Like a saying i heard recently in a tv-series, "Don't Pet the lion, no matter how cute or docile it may seem, because you don't know when it will decide to attack and how is it going to do it", in this case the Lion is the E-Net, messing with it can have some dire consequences.

    That seems more like a coward's case on the issue... Just because YOU lack the nerve and time to take up said task, doesn't mean others should be excluded from doing so, for greatness is not given: it is made...


    And this mod is a prime example of that fact..

    Would anyone like to try a Slowpoke Tail?! Only 1 Million Yen!


    Quote

    this isn't about arrogance or ego, I have a block that I put a lot of freaking work into


    Every Mod Author, in existence. And yet, you STILL say otherwise.

  • Quote

    That seems more like a coward's case on the issue...

    come now, be polite.


    now, i dont think it needs reworking. it realy is ain HUGE pain to code.
    hell i have tried to decompile and read all the text, it is REALY an complicated work of art that player made. he can be proud for good reason.


    only he can decide it thou, shal i code it to this? (i dont think he wil)

    right, time to get serious...
    i wil be offline for weeks and possibly months at an time. if you have anything to add to an post i made, and would like me to know. you are welcome to pm me, and i wil reply as soon as i am able to do so.

  • That seems more like a coward's case on the issue... Just because YOU lack the nerve and time to take up said task, doesn't mean others should be excluded from doing so, for greatness is not given: it is made...


    And this mod is a prime example of that fact..

    Nope, it was greys anatomy a Medical Tv series, the analogy was comparing the lion to a cancer because no matter how small it is, no matter how benign it appears to be, the slight change, movement or touch could make it go ballistic.


    And its more on the path that, if you gonna do it, don't rush headlong like a frigging moron, prepare yourself well before even attempting to do anything.

  • Quote

    Nope, it was greys anatomy a Medical Tv series...

    *cuts corner off Man card*...

    Quote

    the analogy was comparing the lion to a cancer because no matter how small it is, no matter how benign it appears to be, the slight change, movement or touch could make it go ballistic.

    Programming is no where near close to the same as medically handling diseases... If you mess up your code, you can always undo the changes you set into place. May be painful at times, but it always is doable if you have a pre-established base to work off of. And E-Net in and of itself would actually experience little changes with this idea, seeing as most of the re-classments are more about the nature of the EU in the wiring rather than restructuring how a EU is transcribed as a whole...


    Quote

    And its more on the path that, if you gonna do it, don't rush headlong like a frigging moron, prepare yourself well before even attempting to do anything.

    You mean: have at least a technical level of education with either the electrical industry or a college level understanding of electro-statics from Physics? If you didn't get that from the OP as he was describing Ohm's Law and the nature of conductance, then I highly doubt you have the education yourself to call him a 'moron' in this matter. The science in the matter is very solid. Your logic in the issue, however, is not...

    Would anyone like to try a Slowpoke Tail?! Only 1 Million Yen!


    Quote

    this isn't about arrogance or ego, I have a block that I put a lot of freaking work into


    Every Mod Author, in existence. And yet, you STILL say otherwise.