[MOD 0.18] RITEG

Topics and discussion about specific mods
User avatar
darkfrei
Smart Inserter
Smart Inserter
Posts: 2905
Joined: Thu Nov 20, 2014 11:11 pm
Contact:

[MOD 0.18] RITEG

Post by darkfrei »

Type: Mod
Name: RITEG
Description: Proof of concept: Radioisotope thermoelectric generator
License: MIT https://opensource.org/licenses/MIT



Category: Simple Extension, Power Production
Tags: RTG, RITEG, power, nuclear
Download-Url: https://mods.factorio.com/mods/darkfrei/RITEG
Exponent
Exponent
2018-01-13 11_12_21-Factorio 0.16.16.png (34.68 KiB) Viewed 11482 times
Long description
RITEG (RTG) is a Radioisotope Thermoelectric Generator, it's an electrical generator with nuclear fuel. It means, you are need fuel only by construction of it. It needs a lot of nuclear energy, but only once.
Last edited by darkfrei on Tue Jan 28, 2020 4:58 pm, edited 5 times in total.
User avatar
ownlyme
Filter Inserter
Filter Inserter
Posts: 426
Joined: Thu Dec 21, 2017 8:02 am
Contact:

Re: [MOD 0.16] RITEG

Post by ownlyme »

I don't think it works. It constantly generates 600 kW...
creator of 52 mods
My requests: relAbove||Grenade arc||Blueprint allies||Creeps forget command/ don't get removed||Player Modifiers||textbox::selection||Better Heat IF||Singleplayer RCON||tank bug w/ min_range >= projectile_creation_distance
User avatar
darkfrei
Smart Inserter
Smart Inserter
Posts: 2905
Joined: Thu Nov 20, 2014 11:11 pm
Contact:

Re: [MOD 0.16] RITEG

Post by darkfrei »

ownlyme wrote:I don't think it works. It constantly generates 600 kW...
The half life period is about 12 hours. You can test it on tiny map 128x128 tiles with

Code: Select all

/c game.speed = 10000
So, after 12 hours the output will be only 300 kW.
User avatar
ownlyme
Filter Inserter
Filter Inserter
Posts: 426
Joined: Thu Dec 21, 2017 8:02 am
Contact:

Re: [MOD 0.16] RITEG

Post by ownlyme »

Ah now i see that it works :) was expecting a higher output though.
Do you already have an idea to prevent people from picking them up and placing them again?
Maybe you could make them unrepairable and loose health?
One more thing: in reality, those things use Pu-238, so maybe it would be nice if yours use u-238 too, that way they could also fill the gap until you can build real nuclear power plants.
creator of 52 mods
My requests: relAbove||Grenade arc||Blueprint allies||Creeps forget command/ don't get removed||Player Modifiers||textbox::selection||Better Heat IF||Singleplayer RCON||tank bug w/ min_range >= projectile_creation_distance
User avatar
darkfrei
Smart Inserter
Smart Inserter
Posts: 2905
Joined: Thu Nov 20, 2014 11:11 pm
Contact:

Re: [MOD 0.16] RITEG

Post by darkfrei »

ownlyme wrote:Ah now i see that it works was expecting a higher output though.
Do you already have an idea to prevent people from picking them up and placing them again?
Maybe when you pick it up, you get a depleted generator item instead?
I know that RITEG can be "recharged" just with deconstruct and placing it again.
It was by me few idea how to work with it: after 10-15 minutes placed entity will be protected from deconstructing and you can destroy this entity, nothing else. With a lot of pollution by destroying, of course.

Nice idea to save the remaining energy in the health value, but every damaging of RITEG makes energy decrease too.
Tiny RITEG must have very big half life period and it means that output energy will be about very bad, about 50-60 kW.
User avatar
ownlyme
Filter Inserter
Filter Inserter
Posts: 426
Joined: Thu Dec 21, 2017 8:02 am
Contact:

Re: [MOD 0.16] RITEG

Post by ownlyme »

i made a version for myself that stores the remaining energy in the health, in a pretty simple way.
https://www.dropbox.com/s/og3e48oy7qbx9 ... .lua?raw=1
lines 98-103
of course i also added the flag "not-repairable" to the entity prototype
creator of 52 mods
My requests: relAbove||Grenade arc||Blueprint allies||Creeps forget command/ don't get removed||Player Modifiers||textbox::selection||Better Heat IF||Singleplayer RCON||tank bug w/ min_range >= projectile_creation_distance
User avatar
darkfrei
Smart Inserter
Smart Inserter
Posts: 2905
Joined: Thu Nov 20, 2014 11:11 pm
Contact:

Re: [MOD 0.16] RITEG

Post by darkfrei »

ownlyme wrote:i made a version for myself that stores the remaining energy in the health, in a pretty simple way.
https://www.dropbox.com/s/og3e48oy7qbx9 ... .lua?raw=1
lines 98-103
of course i also added the flag "not-repairable" to the entity prototype

Code: Select all

power=rtg.entity.health*66.5
What is "66.5" here? The health of entity is 150 (100%), so power will be 9975 kW.
User avatar
ownlyme
Filter Inserter
Filter Inserter
Posts: 426
Joined: Thu Dec 21, 2017 8:02 am
Contact:

Re: [MOD 0.16] RITEG

Post by ownlyme »

i don't know why 150x66.5 equals 597 kW but that's the number i found out by trial and error.
when you place the thing, it looses it's first health point after ~10 seconds.

edit: 10000 is the energy produced per tick
with that in mind, 66.66666... or 200/3 should be the most exact value.
creator of 52 mods
My requests: relAbove||Grenade arc||Blueprint allies||Creeps forget command/ don't get removed||Player Modifiers||textbox::selection||Better Heat IF||Singleplayer RCON||tank bug w/ min_range >= projectile_creation_distance
User avatar
darkfrei
Smart Inserter
Smart Inserter
Posts: 2905
Joined: Thu Nov 20, 2014 11:11 pm
Contact:

Re: [MOD 0.16] RITEG

Post by darkfrei »

So, now (RITEG [0.1.2]) The health of placed RITEG makes first_energy, but it can be wrong.

E_0 = 40 GJ = 40 000 000 000 J - total energy in the new RITEG (first_energy);
P_0 = 600 kW = 600 000 W - the output power of new RITEG (first_power);
t_0 = game.tick [ticks] - first tick of placed new RITEG (= (t_0/60) [s]).

Now we can get half-life period (half_life):
t_HL = E_0 * ln(2) / P_0 [s]

And the output energy at any tick _t must be:
P_t = P_0 / (2^((game.tick - t_0) / (t_HL*60)))

And remain energy at any tick _t must be:
E_t = P_t * t_HL / ln(2)

Now I use health as amount of output power, but I think that health must be based on remain energy. It is impotent when you merge two used RITEGs in your inventory.
User avatar
ownlyme
Filter Inserter
Filter Inserter
Posts: 426
Joined: Thu Dec 21, 2017 8:02 am
Contact:

Re: [MOD 0.16] RITEG

Post by ownlyme »

okay so ritegs don't loose power when attacked
looks good
though i still think its too expensive except maybe when you use it for outposts that are in danger of loosing their power because creeps destroy your power poles... or other special use cases
i made mine cost 60 u238.. but it's your choice.
just one more thing:
the graphics look pretty sterile, maybe adding a shadow near the ground already helps a bit.
i attached mine but i'm no graphics artist
Attachments
entity.png
entity.png (11.11 KiB) Viewed 11242 times
creator of 52 mods
My requests: relAbove||Grenade arc||Blueprint allies||Creeps forget command/ don't get removed||Player Modifiers||textbox::selection||Better Heat IF||Singleplayer RCON||tank bug w/ min_range >= projectile_creation_distance
User avatar
Sigma1
Fast Inserter
Fast Inserter
Posts: 233
Joined: Mon Nov 21, 2016 5:25 pm
Contact:

Re: [MOD 0.16] RITEG

Post by Sigma1 »

If you want better graphics, you can use the ones I will be using in my mod. I have attached them below. If you do, please give credit :)

Oh, and the slight film grain is caused by the cycles rendering engine. Also, you might want to scale this thing down a bit.
Attachments
The RTG model
The RTG model
RTG2_Full.png (281.23 KiB) Viewed 10999 times
she/they
User avatar
darkfrei
Smart Inserter
Smart Inserter
Posts: 2905
Joined: Thu Nov 20, 2014 11:11 pm
Contact:

Re: [MOD 0.16] RITEG

Post by darkfrei »

Sigma1 wrote:If you want better graphics, you can use the ones I will be using in my mod. I have attached them below. If you do, please give credit :)
Oh, and the slight film grain is caused by the cycles rendering engine. Also, you might want to scale this thing down a bit.
Can you make shadow 50% transparent?
Attachments
Factorio_Building_3x3_03.png
Factorio_Building_3x3_03.png (33.75 KiB) Viewed 10975 times
Factorio_Building_3x3_03.blend.7z
(263.98 KiB) Downloaded 185 times
User avatar
Sigma1
Fast Inserter
Fast Inserter
Posts: 233
Joined: Mon Nov 21, 2016 5:25 pm
Contact:

Re: [MOD 0.16] RITEG

Post by Sigma1 »

darkfrei wrote:Can you make shadow 50% transparent?
I also updated the model a bit and managed to reduce the rendering noise.
Attachments
RTG2_Full.png
RTG2_Full.png (120.04 KiB) Viewed 10976 times
she/they
User avatar
darkfrei
Smart Inserter
Smart Inserter
Posts: 2905
Joined: Thu Nov 20, 2014 11:11 pm
Contact:

Re: [MOD 0.16] RITEG

Post by darkfrei »

Sigma1 wrote:
darkfrei wrote:Can you make shadow 50% transparent?
I also updated the model a bit and managed to reduce the rendering noise.
Thanks a lot! Published: https://mods.factorio.com/mod/RITEG
It looks little too high.
Attachments
hr
hr
2018-05-11 00_25_34-Factorio 0.16.41.png (181.05 KiB) Viewed 10948 times
User avatar
Sigma1
Fast Inserter
Fast Inserter
Posts: 233
Joined: Mon Nov 21, 2016 5:25 pm
Contact:

Re: [MOD 0.16] RITEG

Post by Sigma1 »

I'm actually working on an improved, more factorio-y version now, I'll upload that once it's finished.
she/they
User avatar
Sigma1
Fast Inserter
Fast Inserter
Posts: 233
Joined: Mon Nov 21, 2016 5:25 pm
Contact:

Re: [MOD 0.16] RITEG

Post by Sigma1 »

This thing somehow took 20 minutes to render...
Also the resolution is a bit big, so scale it to what you like.
Attachments
RTG4_Edited_Cropped.png
RTG4_Edited_Cropped.png (627.75 KiB) Viewed 10874 times
she/they
User avatar
mrudat
Fast Inserter
Fast Inserter
Posts: 248
Joined: Fri Feb 16, 2018 5:21 am
Contact:

Re: [MOD 0.16] RITEG

Post by mrudat »

After 56 hours the RITEG will produce under 24kW (~23.6kW), at which point it would be useful to replace it with either a fresh RITEG, or a solar panel.

Ideally, the RITEG would be automatically marked for deconstruction, yielding a used-up-RITEG-1, which could then be recycled for the spent nuclear fuel.

How about something like the following?

Code: Select all

data:extend({
  {
    type = "recipe",
    name = "RITEG-1-recycling",
    energy_required = 0.5,
    enabled = false,
    ingredients = {
      { "RITEG-1", 1 }
    },
    results = {
      {"used-up-uranium-fuel-cell", 5},
    }
  }
})

table.insert(
  data.raw["technology"]["nuclear-fuel-reprocessing"].effects,
  {type = "unlock-recipe",recipe = "RITEG-1-recycling"})
or perhaps instead:

Code: Select all

data:extend({
  {
    type = "recipe",
    name = "RITEG-1-recycling",
    energy_required = 0.5,
    enabled = false,
    ingredients = {
      {"uranium-fuel-cell", 5},
      {"used-up-RITEG-1", 1 }
    },
    results = {
      {"used-up-uranium-fuel-cell", 5},
      {"RITEG-1", 1 }
    }
  }
})
User avatar
darkfrei
Smart Inserter
Smart Inserter
Posts: 2905
Joined: Thu Nov 20, 2014 11:11 pm
Contact:

Re: [MOD 0.16] RITEG

Post by darkfrei »

mrudat wrote:After 56 hours the RITEG will produce under 24kW (~23.6kW), at which point it would be useful to replace it with either a fresh RITEG, or a solar panel.

Ideally, the RITEG would be automatically marked for deconstruction, yielding a used-up-RITEG-1, which could then be recycled for the spent nuclear fuel.
Nice idea! I like the second recipe.

Look at [urlhttps://mods.factorio.com/mod/Deconstruction]Deconstruction[/url], you can just take all ingredients of the entity with it.
For example, laser turret has recipe:

Code: Select all

data.raw.recipe["laser-turret"].ingredients[1][1] = "steel-plate" 
data.raw.recipe["laser-turret"].ingredients[1][2] = 20 
data.raw.recipe["laser-turret"].ingredients[2][1] = "electronic-circuit" 
data.raw.recipe["laser-turret"].ingredients[2][2] = 20 
data.raw.recipe["laser-turret"].ingredients[3][1] = "battery" 
data.raw.recipe["laser-turret"].ingredients[3][2] = 12 
data.raw.recipe["laser-turret"].result = "laser-turret" 
Mineble code:

Code: Select all

data.raw["electric-turret"]["laser-turret"].minable.mining_time = 0.5 
data.raw["electric-turret"]["laser-turret"].minable.result = "laser-turret" 
And with this mod "mineble" will be:

Code: Select all

data.raw["electric-turret"]["laser-turret"].minable.mining_time = 0.5 
data.raw["electric-turret"]["laser-turret"].minable.results[1].name = "steel-plate" 
data.raw["electric-turret"]["laser-turret"].minable.results[1].type = "item" 
data.raw["electric-turret"]["laser-turret"].minable.results[1].amount_min = 20 
data.raw["electric-turret"]["laser-turret"].minable.results[1].amount_max = 20 
data.raw["electric-turret"]["laser-turret"].minable.results[1].probability = 1 
data.raw["electric-turret"]["laser-turret"].minable.results[2].name = "electronic-circuit" 
data.raw["electric-turret"]["laser-turret"].minable.results[2].type = "item" 
data.raw["electric-turret"]["laser-turret"].minable.results[2].amount_min = 20 
data.raw["electric-turret"]["laser-turret"].minable.results[2].amount_max = 20 
data.raw["electric-turret"]["laser-turret"].minable.results[2].probability = 1 
data.raw["electric-turret"]["laser-turret"].minable.results[3].name = "battery" 
data.raw["electric-turret"]["laser-turret"].minable.results[3].type = "item" 
data.raw["electric-turret"]["laser-turret"].minable.results[3].amount_min = 12 
data.raw["electric-turret"]["laser-turret"].minable.results[3].amount_max = 12 
data.raw["electric-turret"]["laser-turret"].minable.results[3].probability = 1 
So, I can just add

Code: Select all

    minable.results = {
      {name = "used-up-uranium-fuel-cell", amount = 5},
      {name = "used-up-RITEG-1", amount = 1 }
And set autodeconstuction on 5% output power.
User avatar
mrudat
Fast Inserter
Fast Inserter
Posts: 248
Joined: Fri Feb 16, 2018 5:21 am
Contact:

Re: [MOD 0.16] RITEG

Post by mrudat »

That looks nifty, though it should probably either yield a used-up-RITEG-1 and have a recycling recipe, or 5x used-up-uranium-fuel-cell, not both.

Another thought occurs to me; it would be ideal if a ghost for a RITEG-1 were to be placed down where the used-up-RITEG-1 was; provided you're manufacturing new RITEG-1s, this would make a field of RITEG-1s just as automated as a regular nuclear power plant.
User avatar
darkfrei
Smart Inserter
Smart Inserter
Posts: 2905
Joined: Thu Nov 20, 2014 11:11 pm
Contact:

Re: [MOD 0.16] RITEG

Post by darkfrei »

mrudat wrote:That looks nifty, though it should probably either yield a used-up-RITEG-1 and have a recycling recipe, or 5x used-up-uranium-fuel-cell, not both.

Another thought occurs to me; it would be ideal if a ghost for a RITEG-1 were to be placed down where the used-up-RITEG-1 was; provided you're manufacturing new RITEG-1s, this would make a field of RITEG-1s just as automated as a regular nuclear power plant.
The RITEG-1already has 5 new uranium-fuel-cell. When I do entity deconstruction, I get back five used cells and empty RITEG, without any cells in it.
So, I need new item empty-RITEG, which I can use for RITEG-1 or higher tier.

Automatically set mark to deconstruction and new ghost with new RITEG-1 is good as well. The factor is 5% or 50 kW for output energy power.
Post Reply

Return to “Mods”