[0.17+] Randotorio

Topics and discussion about specific mods
User avatar
BlueTemplar
Smart Inserter
Smart Inserter
Posts: 2420
Joined: Fri Jun 08, 2018 2:16 pm
Contact:

Re: [0.17+] Randotorio

Post by BlueTemplar »

Happy about how this mod claims to be compatible with Sea Block, I tried to run AngelBob with it (which, being a subset of Sea Block, is supposed to be simpler). No luck... :cry:

Code: Select all

  45.050 Error ModManager.cpp:1332: Failed to load mod "randotorio": __randotorio__/data-final-fixes.lua:311: Max Iterations: 4000 / 4000
See attached modlist and log.
P.S.: And greatly increasing the number of iterations

Code: Select all

logic.Walk(rando.WalkCondition,rando.WalkAction,64000)--4000
didn't help either...
P.P.S.: SeaBlockPack_0.3.8.zip loads and game-starts fine. (Throws a bunch of errors in the terminal, but that's probably on the other mods...)
Attachments
dir.txt
(2.41 KiB) Downloaded 106 times
factorio-current.log
(2.18 MiB) Downloaded 132 times
BobDiggity (mod-scenario-pack)

User avatar
BlueTemplar
Smart Inserter
Smart Inserter
Posts: 2420
Joined: Fri Jun 08, 2018 2:16 pm
Contact:

Re: [0.17+] Randotorio

Post by BlueTemplar »

Heh, first SeaBlockPack_0.3.8.zip try had me stuck too :
The basic circuit board tech, which unlocks basic transport belts, requires me to craft a basic circuit board... which needs basic transport belts as ingredients !
(Though I blame Sea Block's very nice but weird tutorial, it's incredible that you even support it in theory !)
EDIT: that's with default seed :

Code: Select all

Randotorio
Retrying...

EDIT : Randotorio didn't like spaces in seed (or something) :

Code: Select all

Randotorio Sea Block
(See attached log)

whereas

Code: Select all

RandotorioSeaBlock
loaded fine.

EDIT2 : Dang, stuck again, this time Lab Mechanization => Circuit

EDIT3 : Seed "SeaBlock" throws a fit.
EDIT4 : So does "SeaBlockPack_0.3.8".
EDIT5 : "0123456789" failed to load too.
EDIT6 : "qwertyuiop" managed to load. But need Green Algae to build Algae Farm ! :cry:
EDIT7 : "asdfghjkl" loaded. - ooh crap :
Image
Ok, this seems impossible :
Image
EDIT8 : "zxcvbnm" loaded. Stuck on Crushed Crotinnium for Algae Farm.
EDIT9 : "qazwsx" failed to load
EDIT10 : "qazwsxedc" loaded. Got to red science. Aaand sigh...
Image
EDIT11 : "rfvtgbyhn" has the exact same recipe issue. wat..
EDIT12 : "abcdefghi" stuck on algae farm, sigh...
EDIT13 : "jklmnopqr" doesn't load. Kill me.
Attachments
27 000_01 SeaBlock Randotorio qazwsxedc stuck.zip
(1.88 MiB) Downloaded 106 times
25 000_01 SeaBlock Randotorio asdfghjkl stuck.zip
(2.02 MiB) Downloaded 116 times
24 000_01 SeaBlock Randotorio qwertyuiop stuck.zip
(1.56 MiB) Downloaded 106 times
SeaBlock.log
(12.42 KiB) Downloaded 122 times
23 000_00 RandotorioSeaBlock stuck again.zip
(1.63 MiB) Downloaded 111 times
factorio-previous.log
(12.54 KiB) Downloaded 115 times
22 000_03 sea block stuck.zip
(2.13 MiB) Downloaded 115 times
BobDiggity (mod-scenario-pack)

Silfir
Burner Inserter
Burner Inserter
Posts: 14
Joined: Sat Jul 20, 2019 7:41 pm
Contact:

Re: [0.17+] Randotorio

Post by Silfir »

I got stuck. My chemical plant requires both sulfur and (one step deeper from advanced circuits) plastics to be built. Unless there is an alternative that I'm completely blanking on, there is only one recipe that makes sulfur, and it uses the chemical plant. Same for plastic bars. No chemical plants in this particular game locks me out of blue science and above entirely.

The very first "control" seed I made using base + Randotorio also had a chemical plant recipe that included sulfur. This time I wasn't locked out of any of the tech, but the rocket silo required low density structures, which required flying robot frames, which required both solid fuel and plastics. Both of which, of course, require the chemical plant.



EDIT: There's another issue that broke progression in my next game: Copper cables were selected as the ingredient for both copper plates and stone bricks. The furnaces seem to always choose copper plates, so there seems to be no way to make stone bricks - locking me out of green science.



EDIT: And another one!

This is essentially a repeat of issue 1. This time the recipe for blue assembling machines includes a sulfuric acid barrel. I checked yellow assembling machines as well, but the RNG spared me from making checks up the tech tree by including blue assembling machines in the recipe for yellow ones.

In this seed, no blue assembling machines lockes me out of processing units, which in turn locks me out of purple science.



EDIT: Last one! The same thing again, really. I just had centrifuges requiring U-238 to be built. It doesn't lock me out of winning in this game (just driving tanks or using Power Armor Mk2, not that I'm bitter or anything), but at this point I'm fairly sure it very well could. I suspect there simply isn't a "Do I have access to the building to craft this" check in the code.



For any interested players of the mod, here is my checklist to make sure a vanilla game using Randotorio can actually be completed:

1. Check the ingredients for iron plates, copper plates, stone bricks and steel plates. If any of those have the same ingredient, one of them is inaccessible as long as you use vanilla furnaces.
2. Check the recipe for chemical plants. If it uses any ingredients that can only be made using chemical plants themselves, such as sulfur, you can't ever make one.
3. Do the same for advanced assembling machines. Your downfall could lie in any of the filled barrels (crude oil barrel, sulfuric acid barrel, etc.), since these can only be made in blue or yellow assembling machines. It may still be possible (though unlikely) to make yellow assembling machines if you can't make blue ones.
4. If chemical plants require advanced assembling machines to be made and advanced assembling machines require a chemical plant ingredient, you're probably screwed as well.
5. Finally, check out the centrifuge. If U-235 or U-238 (or a derivative) are part of the recipe, you'll be locked out of those as well, as well as nuclear fuel.
6. If you like, double-check that the science packs up to the rocket silo as well as the rocket silo and the rocket part themselves actually use any of the materials you were locked out of in the first five steps.

6. (Post start-up) If your stone furnace requires a material that has to be smelted, place it (on your spawn, if you like) and never pick it up, to prevent yourself from accidentally using it in a recipe and locking yourself out of all smelting.



I strongly recommend the use of Kenira's Random Recipes for a more complete randomized experience, as well as the use of a mod that adds a recipe that automates the generation of wood. I use a simple mod called Coal to Wood, but edited it to 2 coal -> 4 wood (down from 25 coal -> 50 wood) because it also gets shuffled into the pool.
Last edited by Silfir on Wed Apr 08, 2020 7:09 pm, edited 1 time in total.

PyroFire
Filter Inserter
Filter Inserter
Posts: 356
Joined: Tue Mar 08, 2016 8:18 am
Contact:

Re: [0.17+] Randotorio

Post by PyroFire »

Silfir wrote:
Fri Mar 27, 2020 12:00 am
I suspect there simply isn't a "Do I have access to the building to craft this" check in the code.
Nice find with how ingredients for "furnaceable recipes" can't be duplicates.
This seems like something that should actually prevent factorio from passing the data stage validation.
No quick fix for this one, but it definitely needs to be done as this produces impossible seeds in the vanilla game.

As for all the others, you are most certainly correct with your suspicions.
I remember having written it, so I've checked the code and the function exists, but it isn't actually being used so that's fixed now for future updates which addresses points 2~5.

As for point 6, I had a little trouble understanding it, but i don't think this is possible because it's not included in the initial conditions -- at least, not for vanilla.
Seablock is a different story, the logic thinks you can craft everything you get out of the home chest because they're added as accessible items, even if you don't have a recipe to craft them.
It behaves this way so that it can randomize the initial pool of ingredients which rely on the items you start with, such as electrolyzers, but it's also a bit of a crude solution so it's likely this can be improved.
I'd imagine this can produce impossible seeds, but i'm relieved that it only affects the early stages of the game so you won't be too invested when you find out, and again only in seablock.

Well done, nice findings.

Silfir
Burner Inserter
Burner Inserter
Posts: 14
Joined: Sat Jul 20, 2019 7:41 pm
Contact:

Re: [0.17+] Randotorio

Post by Silfir »

It's great to have you back!

I don't think number 6 can produce impossible seeds (EDIT: in core - I just realized you were talking about seablock. My background is 100% vanilla, as you might have guessed), I included it because I encountered it during gameplay. I'd crafted my only stone furnace away before smelting any copper plates and that was that. Like you said, it's a painless restart if this happens. My current playthrough also makes stone furnaces from copper plates, and 25 hours later in the yellow science era that's very unlikely to result in an unwinnable game state.

Is the logic designed to only ensure a path to the rocket, or to ensure you can unlock every technology? There's merit to either approach. Being locked out of tanks has led directly to me discovering the joys of poison capsule carpet bombing. I suspect LttP Rando provides an option for both, as does OoT.

EDIT: Oh, if it's true that the code isn't supposed to include your starting stone furnace in the initial conditions and therefore plates or bricks shouldn't be in the stone furnace recipe (I hope I understood you correctly), it's probably just the same issue as the one affecting chemical plants etc. No "Can I make furnaces" check or equivalent.

PyroFire
Filter Inserter
Filter Inserter
Posts: 356
Joined: Tue Mar 08, 2016 8:18 am
Contact:

Re: [0.17+] Randotorio

Post by PyroFire »

Silfir wrote:
Wed Apr 08, 2020 7:50 pm
Is the logic designed to only ensure a path to the rocket, or to ensure you can unlock every technology?
The logic is designed so you can (ideally) unlock every technology and craft every recipe, one way or another.

xmod2
Manual Inserter
Manual Inserter
Posts: 1
Joined: Sat Apr 18, 2020 5:40 am
Contact:

Re: [0.17+] Randotorio

Post by xmod2 »

Another gotcha. When playing Space Block, you don't start with a furnace. My furnace costs 5 pipes and my pipes are 10 plates each.

Silfir
Burner Inserter
Burner Inserter
Posts: 14
Joined: Sat Jul 20, 2019 7:41 pm
Contact:

Re: [0.17+] Randotorio

Post by Silfir »

I finally realized the mod was now updated to 0.18.x and re-enabled the latest experimental branch, only to find that the mod would crash on load. Rolling back to 0.18.18, predictably, allowed it to load. It works with 0.18.19 as well. 0.18.20 is when it breaks. Those dastardly developers sabotaged you with one of their changes to modding or scripting two days ago, I have to assume.

Here's the crash log, though you could probably get your own copy fairly quick since I don't think I'm doing anything special on my machine:

Code: Select all

   2.693 Mods to disable:Failed to load mods: __randotorio__/data-final-fixes.lua:319: out of queue on iter 58
test:nil
test2:{}
---POOL---
Itemcount:{}
Fluidcount:{}
Misroll:{
  ["automation-science-pack"] = true,
  boiler = true,
  ["burner-inserter"] = true,
  ["burner-mining-drill"] = true,
  ["copper-cable"] = true,
  ["copper-plate"] = true,
  ["electric-mining-drill"] = true,
  ["electronic-circuit"] = true,
  ["firearm-magazine"] = true,
  inserter = true,
  ["iron-gear-wheel"] = true,
  ["iron-plate"] = true,
  ["iron-stick"] = true,
  lab = true,
  ["offshore-pump"] = true,
  pipe = true,
  ["pipe-to-ground"] = true,
  pistol = true,
  ["repair-pack"] = true,
  ["small-electric-pole"] = true,
  ["steam-engine"] = true,
  ["stone-brick"] = true,
  ["stone-furnace"] = true,
  ["transport-belt"] = true,
  ["wooden-chest"] = true
}
MisEject:{
  ["copper-plate"] = true,
  ["iron-plate"] = true,
  ["stone-brick"] = true
}
MisUsed:{
  ["stone-brick"] = true
}
--------------HAND:----------------------{
  belts = false,
  burnables = {},
  burner_cats = {
    chemical = 1
  },
  craft_cats = {
    crafting = 0
  },
  drill = false,
  ents = {
    ["iron-chest"] = true,
    radar = true
  },
  entscan = {
    ["iron-chest"] = true,
    radar = true
  },
  fluid_drill = false,
  fluids = {},
  fuel_types = {},
  heat = 0,
  inserters = false,
  items = {
    coal = true,
    ["copper-ore"] = true,
    ["iron-chest"] = true,
    ["iron-ore"] = true,
    ["light-armor"] = true,
    radar = true,
    stone = true,
    wood = true
  },
  itemscan = {
    coal = true,
    ["copper-ore"] = true,
    ["iron-chest"] = true,
    ["iron-ore"] = true,
    ["light-armor"] = true,
    radar = true,
    stone = true,
    wood = true
  },
  labpacks = {},
  labslots = {},
  pipe_to_ground = false,
  pipes = false,
  pole = false,
  power = false,
  reciperead = {},
  recipes = {
    ["automation-science-pack"] = true,
    boiler = true,
    ["burner-inserter"] = true,
    ["burner-mining-drill"] = true,
    ["copper-cable"] = true,
    ["copper-plate"] = true,
    ["electric-mining-drill"] = true,
    ["electronic-circuit"] = true,
    ["firearm-magazine"] = true,
    inserter = true,
    ["iron-chest"] = true,
    ["iron-gear-wheel"] = true,
    ["iron-plate"] = true,
    ["iron-stick"] = true,
    lab = true,
    ["light-armor"] = true,
    ["offshore-pump"] = true,
    pipe = true,
    ["pipe-to-ground"] = true,
    pistol = true,
    radar = true,
    ["repair-pack"] = true,
    ["small-electric-pole"] = true,
    ["steam-engine"] = true,
    ["stone-brick"] = true,
    ["stone-furnace"] = true,
    ["transport-belt"] = true,
    ["wooden-chest"] = true
  },
  recipescan = {
    ["iron-chest"] = true,
    ["light-armor"] = true,
    radar = true
  },
  resource_cats = {
    ["basic-solid"] = 0
  },
  resource_scan = {
    coal = 0,
    ["copper-ore"] = 0,
    ["iron-ore"] = 0,
    stone = 0
  },
  rocket_silo = false,
  splitters = false,
  techs = {},
  techscan = {},
  underground_belts = false,
  void = true
}
--------------RANDO:----------------------
28 < Queued | Ejected > 25
3 < Rolled |
EJECT QUEUE:{
  {
    category = "smelting",
    energy_required = 3.2000000000000002,
    ingredients = {
      {
        "copper-ore",
        1
      }
    },
    name = "copper-plate",
    result = "copper-plate",
    type = "recipe"
  },
  {
    category = "smelting",
    energy_required = 3.2000000000000002,
    ingredients = {
      {
        "iron-ore",
        1
      }
    },
    name = "iron-plate",
    result = "iron-plate",
    type = "recipe"
  },
  {
    category = "smelting",
    enabled = true,
    energy_required = 3,
    ingredients = {
      {
        "stone",
        2
      }
    },
    name = "stone-brick",
    result = "stone-brick",
    result_count = 1,
    type = "recipe"
  }
}
ROLL QUEUE:{}
BIGPOOL:{
  fluidcount = {},
  fluids = {},
  itemcount = {},
  items = {}
}

stack traceback:
	[C]: in function 'error'
	__randotorio__/data-final-fixes.lua:319: in function 'debug'
	__randotorio__/data-final-fixes.lua:270: in function 'fact'
	__randotorio__/lib/lib_data_logic.lua:504: in function 'Walk'
	__randotorio__/data-final-fixes.lua:379: in main chunk

PyroFire
Filter Inserter
Filter Inserter
Posts: 356
Joined: Tue Mar 08, 2016 8:18 am
Contact:

Re: [0.17+] Randotorio

Post by PyroFire »

Silfir wrote:
Sun Apr 26, 2020 5:15 pm
I finally realized the mod was now updated to 0.18.x and re-enabled the latest experimental branch, only to find that the mod would crash on load. Rolling back to 0.18.18, predictably, allowed it to load. It works with 0.18.19 as well. 0.18.20 is when it breaks. Those dastardly developers sabotaged you with one of their changes to modding or scripting two days ago, I have to assume.
Nice sleuth work but i checked the changelogs and don't see anything relevant to randotorio.
Regardless, please post any future issues/bugs on the mods discussion so i can track them.
xmod2 wrote:
Sat Apr 18, 2020 5:41 am
Another gotcha. When playing Space Block, you don't start with a furnace. My furnace costs 5 pipes and my pipes are 10 plates each.
And seablock starts you off with plenty of plates.
If there are further issues like this please post it on the mods discussion so i can track it.

HeckinBamboozled
Manual Inserter
Manual Inserter
Posts: 1
Joined: Fri Jun 12, 2020 1:07 am
Contact:

Re: [0.17+] Randotorio

Post by HeckinBamboozled »

Also tried to load this into 0.18.x (0.18.31 as of this post) and got the following error. I don't see an option to use any 0.18 betas before 0.18.21, and I got a similar error trying on that one as well.

** EDIT: Looks to be based on the same error as above

Code: Select all

Failed to load mods: __randotorio__/data-final-fixes.lua:319: out of queue on iter 43
test:nil
test2:{}
---POOL---
Itemcount:{}
Fluidcount:{}
Misroll:{
  ["automation-science-pack"] = true,
  boiler = true,
  ["burner-inserter"] = true,
  ["burner-mining-drill"] = true,
  ["copper-cable"] = true,
  ["copper-plate"] = true,
  ["electric-mining-drill"] = true,
  ["electronic-circuit"] = true,
  ["firearm-magazine"] = true,
  inserter = true,
  ["iron-gear-wheel"] = true,
  ["iron-plate"] = true,
  ["iron-stick"] = true,
  lab = true,
  ["offshore-pump"] = true,
  pipe = true,
  ["pipe-to-ground"] = true,
  pistol = true,
  radar = true,
  ["repair-pack"] = true,
  ["small-electric-pole"] = true,
  ["steam-engine"] = true,
  ["stone-brick"] = true,
  ["stone-furnace"] = true,
  ["transport-belt"] = true,
  ["wooden-chest"] = true
}
MisEject:{
  ["copper-plate"] = true,
  ["iron-plate"] = true,
  ["stone-brick"] = true
}
MisUsed:{
  ["stone-brick"] = true
}
--------------HAND:----------------------{
  belts = false,
  burnables = {},
  burner_cats = {
    chemical = 1
  },
  craft_cats = {
    crafting = 0
  },
  drill = false,
  ents = {
    ["iron-chest"] = true
  },
  entscan = {
    ["iron-chest"] = true
  },
  fluid_drill = false,
  fluids = {},
  fuel_types = {},
  heat = 0,
  inserters = false,
  items = {
    coal = true,
    ["copper-ore"] = true,
    ["iron-chest"] = true,
    ["iron-ore"] = true,
    ["light-armor"] = true,
    stone = true,
    wood = true
  },
  itemscan = {
    coal = true,
    ["copper-ore"] = true,
    ["iron-chest"] = true,
    ["iron-ore"] = true,
    ["light-armor"] = true,
    stone = true,
    wood = true
  },
  labpacks = {},
  labslots = {},
  pipe_to_ground = false,
  pipes = false,
  pole = false,
  power = false,
  reciperead = {},
  recipes = {
    ["automation-science-pack"] = true,
    boiler = true,
    ["burner-inserter"] = true,
    ["burner-mining-drill"] = true,
    ["copper-cable"] = true,
    ["copper-plate"] = true,
    ["electric-mining-drill"] = true,
    ["electronic-circuit"] = true,
    ["firearm-magazine"] = true,
    inserter = true,
    ["iron-chest"] = true,
    ["iron-gear-wheel"] = true,
    ["iron-plate"] = true,
    ["iron-stick"] = true,
    lab = true,
    ["light-armor"] = true,
    ["offshore-pump"] = true,
    pipe = true,
    ["pipe-to-ground"] = true,
    pistol = true,
    radar = true,
    ["repair-pack"] = true,
    ["small-electric-pole"] = true,
    ["steam-engine"] = true,
    ["stone-brick"] = true,
    ["stone-furnace"] = true,
    ["transport-belt"] = true,
    ["wooden-chest"] = true
  },
  recipescan = {
    ["iron-chest"] = true,
    ["light-armor"] = true
  },
  resource_cats = {
    ["basic-solid"] = 0
  },
  resource_scan = {
    coal = 0,
    ["copper-ore"] = 0,
    ["iron-ore"] = 0,
    stone = 0
  },
  rocket_silo = false,
  splitters = false,
  techs = {},
  techscan = {},
  underground_belts = false,
  void = true
}
--------------RANDO:----------------------
28 < Queued | Ejected > 25
2 < Rolled |
EJECT QUEUE:{
  {
    category = "smelting",
    enabled = true,
    energy_required = 3.2000000000000002,
    ingredients = {
      {
        "stone",
        2
      }
    },
    name = "stone-brick",
    result = "stone-brick",
    type = "recipe"
  },
  {
    category = "smelting",
    energy_required = 3.2000000000000002,
    ingredients = {
      {
        "copper-ore",
        1
      }
    },
    name = "copper-plate",
    result = "copper-plate",
    type = "recipe"
  },
  {
    category = "smelting",
    energy_required = 3.2000000000000002,
    ingredients = {
      {
        "iron-ore",
        1
      }
    },
    name = "iron-plate",
    result = "iron-plate",
    type = "recipe"
  }
}
ROLL QUEUE:{}
BIGPOOL:{
  fluidcount = {},
  fluids = {},
  itemcount = {},
  items = {}
}

stack traceback:
	[C]: in function 'error'
	__randotorio__/data-final-fixes.lua:319: in function 'debug'
	__randotorio__/data-final-fixes.lua:270: in function 'fact'
	__randotorio__/lib/lib_data_logic.lua:504: in function 'Walk'
	__randotorio__/data-final-fixes.lua:379: in main chunk

Mods to be disabled:
• randotorio (0.0.7)
Last edited by HeckinBamboozled on Fri Jun 12, 2020 1:17 am, edited 1 time in total.

Post Reply

Return to “Mods”