Orbs


If you want to ponder your orb, this mod is for you.

Overhaul
4 days ago
2.0
219
Combat Fluids Circuit network Manufacturing Power

g Enjoying pondering the orb

22 days ago
(updated 22 days ago)

I've been having an absolute blast pondering the orb! I've just gotten to the Rune Research Pack so this is a snapshot of my thoughts before finishing the mod as-is.

The challenges are very unique and a true joy to solve:

  • I like the burning coal concept and I feel that it's a good introduction to looping crafts.
  • Steam-powered assembly machines are a nice change of pace and having magic inserters (and lights) that don't require electricity is a fun way to keep the focus on the new problems. Automating magical inserters is also a good early game incentive to figure out orb automation.
  • Flux orbs are fun! Creating them is interesting as a step up from science (which is a step up from making orbs). Coordinating Beta and Gamma Orbs to line up was the highlight of Divination Science.
  • I enjoy the "one screen"-ness that you mentioned in the mod description. Specifically I created a proof of concept for how to make Divination Science and I was pleasantly surprised that I didn't need to needed to duplicate it to the nth degree.
  • And finally there's Volatile orbs; They're a blast to figure out. I would consider myself experienced with the circuit network but having to handle the orbs dynamically on a strict time limit is diabolical. And fun.

Bugs:

  • This should not require Space Age as a dependency. The Space Age content (recipes, buildings, items, fluids, entities, ect.) isn't used and adds a bunch of noise to the Factoriopedia. Other mods that have spoiling without requiring Space Age and after some investigation it looks like you only need to specify spoiling_required. See https://lua-api.factorio.com/latest/auxiliary/mod-structure.html#spoiling_required.
  • I can't find anything in-game that indicates how to craft a Rune Research Pack!!! I had the idea that this could be order sensitive but the Factoriopedia displays the order of ingredients as IMTRUV and that doesn't work! I found the right order by looking in the Lua and I also see that the recipe is trying to display the right order although that's not following through to the Factoriopedia. I don't know if there's a way for you to control the display order in the Factoriopedia. If not you should update the "Rune Research Packs" description to mention "you learn how to create rune research packs using the incantation VITRUM".
  • I went into the editor when making my Volatile orb setup so that I could advance just one tick at a time. Unfortunately Volatile orbs in your editor inventory causes explosions in "your current location" when they spoil. And explosions continue to happen (repeatedly) even after leaving the editor...
  • Searching in the Factoriopedia gets broken by the Rune Transformers. Specifically after pressing Ctrl+F in the Factoriopedia the search box will randomly grey out after some time. This is annoying if you actually want to search for something. This doesn't happen when the game is paused in the editor. Deconstructing all of the Rune Transformers fixes this. Having a single Rune Transformer running reproduces this.
  • The description for "Rune Research Pack" says "Combine the five fundamental runes" which is incorrect.

Combat:

  • Generally combat is not the highlight. A better tier of Channeled Mana is on the horizon but I haven't gotten there yet.
  • It's hard to use Glitter Bombs since you end up taking such a big chunk of your own health. And it's really hard to avoid hitting yourself with them. Maybe improve the explosion resistance of the only tier of armor available. Or marginally increase the throw range so you're not forced to grenade yourself. If you can't increase the throw range as a property on the Glitter Bomb then this could maybe be done on the player in one of the early telekinesis researches.
  • I think the cost scaling on the infinite combat researches is too steep. At my current stage combat researches are glacial and effectively dealing damage is hard. There's no way to automate mana production so you either end up stuck waiting on handcrafting mana or you're stuck waiting on the super long crossbow reload time (which also locks you out of your other weapons). Adding a research for crossbow reload speed would make this more gentle and give more of a purpose to Contraption Science.

Ideas:

  • Inventory Size could be improved. Perhaps a "Bag of Holding" research after each new science?
  • Volatile orbs could last an extra twenty seconds since the current timeout is quite brutal. I've survived this (I think) but I can see the current state being balanced too hard for more casual play.
  • A tier two assembly machine would be a nice late-game addition. This would be faster and less polluting machine that maybe doesn't require steam. I can see this requiring stability and "module" orbs and maybe a flux orb or a rune of some kind.
  • The only other mod I'm using is https://mods.factorio.com/mod/FilterHelper which could be an optional, recommended dependency.

Less good ideas:

  • Currently, Conjuration and Flux orbs require a Magic orb as a catalyst in the craft that ends up being returned. I think this should also happen when making other orbs (e.g. Haste, Cleansing, Productivity, Rage). And also when making Stability. I don't think it would be too obnoxious to double down on the catalyst theme.
  • I think it would be nice for Stability to always produce exactly one Volatile orb. At the moment it might produce zero Volatile orbs or all five. Changing this is probably involved and the benefit is dubious/philosophical.
  • My solution to the Volatile orbs only involves Duplication and Neutralization and no Transmuting (combining two orbs to get a third). That feels like a missed opportunity on my part. There could maybe be a sixth orb that doesn't have a direct path to Neutralization which forces combing it with others and makes the "pair things up" ratio less nice. Or maybe there could be an "Advanced Stability" recipe that creates a separate class of "Chaos" orbs that need to be combined with specific Volatile orbs. I'm not actually sure that this is a good idea...

Overall I'm having a blast. The quality of life touches really help to make this a refreshing experience. Telekinesis and the Summoning Wand are pulling a lot of weight in making this more of a breezy experience. I'm looking forward to tackling Runes.

22 days ago

Thank you so much for the review! I'm glad you're having a blast!!

Also, thank you so much for the suggestions. To respond in order:

Bugs:

  • This is a good tip, although removing the space age dependency isn't easily possible because we use the crusher, which is space age content. We are also planning a bunch of other content that will require space age. You're right though that we should remove all the items that aren't in the game anymore to avoid clutter. This is planned.
  • This is hinted at in the description of the rune altar, but you're right that it could be a lot more accessible. I've also added this info to the description of the rune research pack technology and the rune research pack recipe, hopefully that will make it easier to find. Unfortunately the recipe does not let me specify the order of the ingredients.
  • We don't endorse using the editor to solve the puzzle, so I'm not sure if we'll fix this problem.
  • This is an unfortunate side-effect from how the rune transformer is implemented, since it needs to enable and disable recipes. I'm not sure if we'll be able to fix this.
  • Thanks, fixed.

Combat:

  • Yes, this is fair.
  • This is intentional lol. Good idea to make it researchable
  • Good idea!

Ideas:

  • Good idea!
  • I'll let boesemilch comment on this. We adjusted the timing a few times. We don't want to make it too stressful but create some time pressure. Also, usually the cost of blowing stuff up isn't too high since you can just hold your summoning wand and it'll get repaired in no time.
  • Yes, we've considered adding this and we might at some point in the future.
  • Hm, not sure if that is very specific to orbs? It looks like a general qol mod (that you're obviously welcome to use with this one).
  • Good point. We originally had magic orbs as catalysts in the early recipes to make it harder for players to deadlock themselves. But consistency here would be good.
  • The reasons to make it random is so that you have to build a more complicated contraption that can deal with whatever comes out. Also, unfortunately there is no way in Factorio to guarantee that exactly one item is returned, drawn at random from a list. At the moment the number of volatile orbs can be anywhere between 0 and 5, where each volatile orb has a 20% chance to produced independently of all others.
  • If you don't use transmuting, there is a good chance your build isn't actually net stability-positive.
22 days ago
(updated 22 days ago)

Thanks so much for playing and taking the time to write such a detailed review!

Your volatile orb setup sounds like you found a creative new way to deal with the problem that we hadn't anticipated, congrats!
Based on what you said, this is what I assume you did (spoilers may be contained):

I assume you build a ton of stability extractors and duplicate fresh orbs to get rid of old orbs that are about to expire. The shear amount of numbers of fresh orbs keep you safe, because you can annihilate all but ~3 orbs. I can see how a little extra decay time would help a lot with this setup.

If you have fun solving puzzles with circuit logic: There is another way to solve the puzzle that does not run into issues with the 40s expiring time. Since that solution exists I would hold off from increasing the decay time for now.

A few other anecdotes:

  • The original decay time of the volatile orbs was 7s, with all recipes taking 0.1s to craft.
  • This is not the first time the volatile orb puzzle was solved in an unintended way, thegurke realized at some point that the orbs spoil during the recipe even if the recipe is supposed to emit them at full freshness, yielding no orb and all the stability. The explosion wouldn't happen if it spoiled during the crafting. To fix this exploit I let the volatile orb decay into itself, but use the explosion to delete the item so that in practice it never remains. Unless you have it inside the inventory of your editor I guess...
22 days ago

I've just pushed version 0.3.2 that contains the following updates:

  • Reduced damage bonus technology cost modifier from 2x to 2^(1/4)x
  • Orb variants should now all consistently use another orb as a catalyst
  • Added 3 bag of holding techs
22 days ago

Those patch notes look good. I'll take a look when I get a chance.


Volatile orb notes below this line.

I think the intended solution is to find sequences that annihilate any random starting orb. This is doable for each chain and this comes out to 22 machines across all of the tracks. Each of these machines cost 50 stability to use so average cost for a single chain is 22*50/5 or 220 which is barely positive given the "revenue" you're working with is 225.

I think the original short decay time and super-short craft time push towards this "fixed" solution. And since this is faster it also makes the +5 Stability more reasonable.


However my approach doesn't keep anything running constantly. Instead I process large batches that annihilate cleanly, e.g.

  • simultaneously start 40 crafts when Stability is low (this gives a "budget" of 9000 Stability)
  • pair Q and S and make copies of the one with the lower quantity (minus ~142 Stability on average for cloning and minus ~471 Stability for annihilation)
  • pair R and T and make copies of the one with the lower quantity (minus ~142 Stability on average for cloning and minus ~471 Stability for annihilation)
  • make a copy of U if needed (minus 25 Stability on average for cloning and minus 212.5 Stability for annihilation)

This comes out to over 7.5k in "profit" which is a lot more than the "naive" approaches which has a profit of only 200 for the same batch of 40.

(I used AnyDice just now to calculate these numbers and I could have made some errors.)


The core idea is that: After creating the Volatile orbs, each use of an assembler has the same cost and moves the total number of orbs by either +1 for cloning or -1 for transmuting or -2 for annihilation. Since the goal is to get to zero in as few steps as possible you should minimize overhead by doing as few +1s as possible since they're pure overhead.

The "naive" solution requires 2.2 copy operations(!) on average which is a lot of the most expensive operation. Anything that can be shaved off of that is an improvement. My approach gets more efficient the more orbs you create since even though the overhead gets proportionally smaller the larger the batch size.

Downsides of my approach are that it's finicky and that I'm doing things dynamically based on what I see:

  • Make the wrong number of copies -> boom
  • Make the right number of copies but too slow -> boom
  • Fail to account for orbs in inserter hands when counting-> boom
  • Fail to leave an orb to be copied when annihilating orbs -> boom
  • Use the wrong settings on an entity -> boom
  • Fail to look at the right data because of bad wire connections-> boom
  • Succeed at looking at the right data but fail to account for combinator delays since each combinator takes a tick to process -> boom
  • Fail to account for the Working signal not being set on the tick a craft finishes but the result isn't output yet -> boom
  • Fail to look at the Finished signal when you also need that -> boom

Or you might want to read the contents of an assembly machine (so you don't unnecessary insert extra orbs since you need to always do exactly the correct number of crafts) but that ends up backwashing into the the memory cell that's necessary to remember "the current craft" (since otherwise the machine immediately forgets what it's doing) and that causes the assembly maching to use its own contents as the "Set Recipe" of the assembly machine and a Q orb is crafted via Stability rather than cloning and that just makes more Volatile orbs.

boom
boom
boom

You might be able to see why I needed to step through things one tick at a time...

But in the end it works!

Overall a very fun problem and I enjoyed doing things the harder unintended way.


Although I don't have a fallback for the "lucky" case where one of the non-U orbs is completely absent but that's only one in a few thousand chance and I can probably take a look after beacons...

boom

I could also probably make it simpler by having separate stages for cloning and annihilation instead of trying to do both of these simultaneously, but that would be slower unless I also...

boom
boom
boom

16 days ago

I beat this and it was good.

I can see there being room to do more. Especially with runes.

Summon Death is a fun joke.

Ideas:

  • The Terra Rune could give you stone. Like how the Aqua Rune can give you water.
  • For base defense, there could be a MILA ritual that summons Defense Wards. Or that makes a Defense Tower that slowly summons Defense Wards around itself for a more-permanent (and not offensively-minded) defensive perimeter. I made Rage Throwers but didn't set up a defense perimeter with them and maybe that fills the same niche.

Bugs:

  • There are no production stats for the Rune Research Pack.

When I get a chance I'll try to redo my Volatile Orb setup. I've thought of a simpler way that doesn't involve recipe switching that should (hopefully) be completely robust.

2 days ago

I remade my Volatile Orb setup with minimal logic. See: https://factoriobin.com/post/xd8sjp

The main innovation was using "Read hand contents (Pulse)" to have an exact count of Volatile Orbs. The new approach completely avoids recipe switching.

The left-hand side that makes the Volatile Orbs can probably be expanded to the left.


removing the space age dependency isn't easily possible because we use the crusher, which is space age content

You may be able to use https://mods.factorio.com/mod/saplib. Or do what that does and reference space age content via relative paths.


You've done good work. Thank you for the mod.

New response