Since Liquius bowed out due to time constraints, I and a friend have stepped in to continue development of this mod. This post will served as a continuation of Liquius' first post. All future announcements will be linked back to this post.
Factorio 0.13.x - Current version: 0.6.5 -> Download | Example build -> Download
Factorio 0.14.x - Current version: 0.6.6 -> Download | Example build -> Download
Description of build
Gross Power up to 265 MW
Upkeep Power of 6.6 MW => Simple fuel enrichment, ~50 MW => SImple fuel enrichment + Fuel reprocessing
Simple enrichment only concentrates U-235 to 1.7%, but that is sufficient for crafting MOX fuel. A complete enrichment of U-235 at 4.7% is recommended for at least the first two rounds of fueling the reactor.
Fixed small bug with data-updates.lua. Version remains 0.6.6
0.6.6 - Nov 23, 2016
Many many fixes and additions
Added fuel reprocessing (relevant gfx and recipes) and fuel decay for the current reactors
MOX fuel added, which can be made through the fuel reprocessing lines
Added compatibility for people playing with Bob's and Angel's (implicit compatibility for Angel's)
Changed ticking mechanism
Allowed uranium extraction from coal ash
Introduced a furnace that can burn coal and gives coal ash + hot water to run steam engines
Reactor upgraded to 250 MW and 500 MW heat, about 37% of it can be made into electricity
Many things are now locked under technologies
0.6.5 - Aug 17, 2016
Changed wall-type heat-exchanger area search to positional search to be compatible with 0.13.16
0.6.4.2 - Jul 08, 2016
ksi_01 contributed ru-localization.
Tweaked shell ammo recipe.
Updated projective animation and area of effect.
Version remains 0.6.4
0.6.4.1 - Jul 03, 2016
Tweaked resource generation parameters. This is a bandage until game's own code is fixed.
Merged "good" gfx from 0.6.3 into 0.6.4. For some reason a few could not load the mod in 13.x
Version remains 0.6.4
0.6.4 - Jul 01, 2016
Removed "require defines"
Migrated to new Lua API for some lua calls that were previously part of LuaGameScript to LuaSurface
Tweaked the resource regeneration due to new base game resource generation algorithm. Overall, occurance of fluorite is ~200 units/chunk while uraninite is at ~500 units/chunk. These density values are greater than those found in Factorio 0.12.x.
Added circuit-connector sprite for steam-generator, recirculation pump. The remaining entities can not be connected to the circuit. A custom function was made to prevent it.
Fixed error due to new game.on_load and game.on_init behavior
Added script.on_configuration_changed to catch updates to fluid prototypes.
Added migration script to fix technology issues.
Added an experimental small nuke shell. Very large explosion animation is in the work.
0.6.2 and 0.6.0 - Jul 19, 2015
Fixed Multiplayer Desync caused by divergence in local ticking
0.6.1 incremented to 0.6.2
0.6.0 remains the same but receives the same fix
0.6.1 - Jul 19, 2015
Port of 0.6.0 to Factorio 0.12.x
Steam Generator and Turbine Generators may need to be mined and replaced.
Save game from Factorio 0.11.22 using Uranium Power 0.6.0 should be able update to this version. As always, backup before update!
0.6.0 - Jul 18, 2015
Added Reactor Recirculation Pump, Steam Generator Mk I, and 30 MW Turbine Generator/Cooling Tower Complex.
Close fluid loops builds are now possible with the new buildings.
New builds capable of generating 64 MW from 72 MW reactor.
Heat transfer efficiency now affects how much heat can be removed from the reactor. Buildings affected: Small and Big Heat Exchangers (S/R) and Heat Exchanger. Using more than 4 of any types on a reactor will have diminishing returns.
Possible Multiplayer desync if 30 MW Turbine Generator/Cooling Tower Complex runs out of Superheated Dry Steam. This is avoidable and is a Factorio fluid bug.
Added new sounds for Steam Generator Mk I and 30 MW Turbine Generator/Cooling Tower Complex.
This release is for 0.11.x. An update will be announced once I port this release to 0.12.x
0.5.4 - Jun 19, 2015
Multiplayer fixes concerning reactor chests duplication, messaging, and possible desync
Heat exchanger tweaks
Reverted reactor heat handicap to make way for a new heat handicapping method
Many prototype cleanups
Fixed fluid output to take advantage of the new deterministic fluid boxes based on recipe
Preparatory release for 0.6.0
0.5.3_01 - Feb 16, 2015
Added missing recipes to migration scripts.
Added two fluid recipes to heat exchange pressurised-water to pressurised-water
Reverted reactor heat handicap to 0.35 and 0.2 for pressurised-water and water, respectively. Normal performance expected.
Added a method to compensate heat dispersion due to conservative tick update in new heat exchanger. Heat exchange performance improved slightly.
Expected performance of Big Heat Exchanger x4 using pressurised-water to water : 23.040 MW(electric) from 72 MW reactor, 54.720 MW(electric) from 144 MW reactor.
Expected performance of Big Heat Exchanger x4 using water to water : 15.360 MW(electric) from 72 MW reactor, 25.920 MW(electric) from 144 MW reactor.
Expected performance of Small Heat Exchanger will be proportionally less but still useful depending on what one needs.
0.5.3 - Feb 16, 2015
Added graphics for heat exchanger made by Liquius.
Added graphics, icon, crafting recipes, fluid recipes, research unlock for two new heat exchangers of assembler-prototype.
New heat exchangers come in chiral pairs labeled as (S) and (R).
New heat exchangers will power themselves when their fluidboxes are filled. Ignore the empty fuel notice or fuel it with solid fuel if it will make you happy.
The red and blue marks on the tank of the new heat exchangers denote the incoming hot and cold fluid, respectively. This is to help you identify and orient the heat exchangers more easily.
New heat exchangers consume less update ticks and should provide comparable heat exchange performance.
Reactors no longer need reactor-fuel.
Increased Reactors energy_consumption but capped heat output internally.
Reactor performance should be on par if not out-perform those of previous versions.
Fast-pump speed increased to 4x so new throughput is 240 units fluid / s.
Added migration script for updating from 0.5.2. If heat exchanger is not performing right after loading of save, break and replace them.
Reorganized many file structures, name, groups, sub-groups, and crafting categories.
0.5.2 - Feb 2, 2015
Tweaked icons to better convey information.
Renamed enrichment chain to better convey information.
Fast-pump mineable changed to fast-pump instead of small-pump
Added Uranium Power group and moved all things concerning this mod under this new group.
This release should be compatible with saved game since 0.5.1.
The light at the end of the tunnel is getting brighter for 0.6.0
Here is a WIP of the turbine generator/cooling tower complex from my friend's blender render. It needs some more geometry and doodads to make it more appealing.
turbinegenresize4.png (104.33 KiB) Viewed 93391 times
Re: Uranium Power
Posted: Wed Apr 15, 2015 4:16 pm
by kurkudjikul
What will be the dimensions of the turbine generator/cooling tower complex?
Re: Uranium Power
Posted: Wed Apr 15, 2015 11:05 pm
by Fatmice
Presently, the turbine generator/cooling tower complex is going to be around 5x10 or 5x12 for the 3by3 reactor. The 5by5 reactor will get its own turbine generator/cooling tower, which will be correspondingly larger. The initial 0.6.0 release will only have the complex for the 3by3. The complex for the 5by5 reactor will come in a subsequent update.
Re: Uranium Power
Posted: Thu Apr 16, 2015 7:59 pm
by tomcat
for the meantime would multiple of the smaller turbines/cooling towers still work with a 5x5 reactor?
Re: Uranium Power
Posted: Thu Apr 16, 2015 10:55 pm
by Zeeth_Kyrah
Those are awesome-looking models. Professional quality work.
Re: Uranium Power
Posted: Fri Apr 17, 2015 12:46 am
by Fatmice
tomcat wrote:for the meantime would multiple of the smaller turbines/cooling towers still work with a 5x5 reactor?
No, due to the nature of how I've coded the complex, the 3by3 or 5by5 "support" buildings can not be mixed and matched. This limitation is mainly due to how buildings in Factorio can not have irregular concave shapes, such as L shapes. The upside is that a single 3by3 reactor with its support buildings will be able to put out about 26 MW of power for a measly footprint of approximately 5x20 or so. I think this is a good trade-off for the inability to mix and match to vanilla power production.
The 5by5 reactor with its support building is slated to take up about 8x30? I'm not sure yet as that is still on the drawing board. I do hope that the large size of the complex will not have rendering issues.
Zeeth_Kyrah wrote:Those are awesome-looking models. Professional quality work.
Thanks. My friend will be happy to see your kind words.
Re: Uranium Power
Posted: Fri Apr 17, 2015 10:30 am
by Wenihal
New graphics looks really cool.
Fatmice wrote:
The 5by5 reactor with its support building is slated to take up about 8x30? I'm not sure yet as that is still on the drawing board. I do hope that the large size of the complex will not have rendering issues.
Wow. Can't wait to see this!
Re: Uranium Power
Posted: Thu May 28, 2015 1:51 am
by Fatmice
Here is a little teaser
sample.gif (9.93 MiB) Viewed 90335 times
Re: Uranium Power
Posted: Sun May 31, 2015 11:22 am
by Fatmice
I'm glad you like the teaser.
Regarding heat, the simulation of it is very basic in Factorio. Only fluids can "carry" heat while things designated as fuel can have a certain heating values, i.e. batteries of heat.
How are you using heat? Are you willing to accept non-realistic heat-capacity values that will "work?" If you are going to work with heat, you will have to accept the quirks that come with it until the Factorio devs code a better heat simulation. The present situation can be rather frustrating. I know because I'm dealing with a certain heat problem myself that I'm trying to work out.
Re: Uranium Power
Posted: Sun May 31, 2015 5:53 pm
by Zeeth_Kyrah
That's definitely it. Fluid heat in Factorio doesn't rely on fluid density or heat capacity, only on the speed of the machine that adds or removes heat and the value of heat-containing items. So fluids don't behave like fluids, in more than one way.
Re: Uranium Power
Posted: Mon Jun 01, 2015 2:54 am
by Dreadicon
EDIT 2: Never mind; I finally found the information I was looking for; the amount of heat needed is in fact given as a per-unit basis. to this end, I have adjusted the amount of heat per unit, and adjusted how much is in a unit. water is a weird amount per unit (based on temperature and such, assuming the max temp is 100 degrees, water's boiling point at standard pressure, and it's 1KJ per degree, each unit is around 250 liters of water). I think this clears up a lot. Thanks for taking the time to read!
Well, I went through great lengths to use Factorio's system; would be a waste to give up now. The dilema specifically is as follows:
A blast furnace takes around 300 liters of air per second, heated to around 1000 degrees Celsius. the specific heat of air is 1.01, so that comes to about 300kJ of energy per second, which is 300kW.
When I configue air to have a max temperature of 1000, and set it's energy potential at 1kJ, it takes a ton of boilers to heat the 300 air to that temperature per second. like 50 or so just to get half way. How does this even work? I want to work with the built in heating, but I can't make heads or tails of any of it. how does it take 50 390kW boilers to achieve 100 kW of heating per second? is the energy potential per point of temperature?
EDIT: of note, i'm not even factoring in things like heat transfer efficiency or such things for now; I just want to know how the game works, but there's like no documentation anywhere on it.
Re: Uranium Power
Posted: Mon Jun 01, 2015 5:51 am
by Fatmice
The reason why it takes so much vanilla boilers to heat your air is because heat can only be added in certain amounts per second, more accurately per tick. The temperature rise is inversely proportional to the heat-capacity (1kJ/Celsius for your fluid). In this case, a unit of air will have a temperature rise of 390 Celsius if the boiler heats it for 1 second. However, a vanilla boiler has space for 10 units of air (base_area * 10; 1 * 10), so the temperature rise will be 39C. This means a vanilla boiler can at most cause 39C/s of temperature rise to any liquid of heat-capacity = 1kJ/C if such liquid transitions through the boiler at a rate of 10 units/s. The actual temperature rise in the game is much lower than this because the flow rate is usually much higher than 10 units/s.
Luckily, the flow rate is usually sink limited. So in your case, one could take the blast furnace energy consumption of 300 kW to compute the liquid sink rate given the base_area of the sink. If the liquid sink rate is smaller than 10 units/s, the temperature of the arriving liquid will eventually reach max-temp otherwise it will be below max-temp.
The problem you will face is a bit more hidden. Currently, there is no vanilla way to extract energy from a fluid without destroying it. There is also no way for a recipe to contain temperature requirements nor is there anyway to produce liquid at a certain temperature that has working heat (heat value above base line) through recipe. A furnace is not an assembler-prototype so I do not think it can have liquids as input. Furthermore, a 2 inputs -> 1 output is permissible but not 1 input -> 2 ouputs nor 2 inputs -> 2 outputs nor any other variations.
Re: Uranium Power
Posted: Mon Jun 01, 2015 11:56 pm
by Dreadicon
so, I already resolved the issues; the root of the issue was that 'heat_capacity' is per-temperature-increment (which most people use as degrees C). There was no documentation about this anywhere in the API or modding info; I finally stumbled across it in a fluid mechanics guide in the player's portion of the wiki. I had incorrectly assumed that 'heat_capacity' was the total energy of one unit of fluid at 'max_temperature', and thus the amount of heat needed was quite astronomical; about 8000 times more than it should be. The other aspect I realized was that vanilla water is 250 liters per unit, if the heat_capacity of it is to be believed, thus 1 unit of liquid = 0.25kL, rather than 10L as I had originally assumed.
Concerning making sure the temperature is correct for the recipe, I wrote a script that checks 15 times per second for fluid in a separate 'intake' entity, and if enough fluid is present of the right temperature, it removes the appropriate amount from the intake entity, and inserts the corresponding amount into the blast furnace (an assembler type entity). If the intake fills beyond a certain point with air that is not hot enough, it removes some so more can come in. The linking process for it is essentially the same as Uranium Power's access port linking (I admit I looked to it for ideas on how to do this). I have to say, the number of nil and valid checks one must do in this is pretty silly, but that's probably just me coming from a strong typed language background...
Because of the massive amount of materials a blast furnace consumes, I also wrote a script for it to pick up valid items that are adjacent, which is also processed 15 times per second. So far, it's (finally) all working out nicely, now that i've uncovered more of the silly API's tribal knowledge. Armed with what I have now, I can jury-rig around most any further obstacles I run into, I believe.
Thanks for your time and you mod! It's a lot of fun, and I look forward to how it further develops. My only suggestions for it would be 1) move it further up the tech tree + split out some of the techs a little more, 2) increase the amount of depleted uranium needed per pellet, as currently it's pretty trivial to replace all ammo with the (somewhat powerful) depleted uranium rounds.
oh, and increase the decay rate on the uranium; giving it a base-line decay as well that happens even when it's not under any load.
But, those are only suggestions; the mod is already a blast and really cool
PS: Rseding said he has written up some code for allowing recipes to have heat constraints on liquids, but it's pending approval by one of the leads, who has been super busy with multiplayer lag-hiding and end-game stuff. It'll be in the game in some build relatively soon methinks, but that may yet be a moth or three, depending on priorities. Just thought I'd give you a heads up
Re: Uranium Power
Posted: Tue Jun 02, 2015 8:34 am
by Fatmice
Base line decay is an interesting idea. I'll look into that.
I'll look at your mod once it is released. =)
Re: Uranium Power
Posted: Fri Jun 19, 2015 9:44 am
by Fatmice
Hello all,
I've compiled an interim release 0.5.4 to prepare for 0.6.0 as work on it is almost done. The current release has quite a few bug fixes, as well as goodies if you know where to look, that I felt should be released before 0.6.0...that and I had to fix that fluid output bug in the example build that was driving me nuts. Enjoy. 0.6.0 will be out soon, perhaps a week's time.
Re: Uranium Power
Posted: Sat Jul 18, 2015 10:18 am
by Fatmice
Hello all,
I'm pleased to release 0.6.0. This update brings about the first iteration of closed fluid cycles. Three new buildings added, the Reactor Recirculation Pump, Steam Generator Mk I, and 30 MW Turbine Generator/Cooling Tower complex. You will now be able to put much of the heat from the 72 MW reactor to good use (see screenshots). You should know that overclocking your reactor will degrade your fuel assemblies much faster when fuel decay is implemented.
With the release of Factorio 0.12.x today, I will now deprecate all releases under 0.11.x after today's release. What this means to you is that 0.6.0 will be the last release for 0.11.x and will only receive bug fixes. Once I port 0.6.0 to support Factorio 0.12.x, a separate link will be provided for you to download the ported version. Please read release notes carefully before you download.
I am in the process of making a series of video that will introduce new players to this mod. For those who have requested more documentations, you can view those video when I've uploaded them.
The roadmap for 0.6.x will be mainly about closed fluid cycles and cross-mod compatibilities. The second iteration of closed fluid cycles will be in 0.6.1 where I will split up the Turbine Generator/Cooling Tower complex into their individual components. Two types of cooling tower will be added as well as a condenser building. I will likely to move away from steam-generator type and towards accumulator-type due to DyTech's irreverence to vanilla values*. Mod compatibility will be added for MoPower as well as support for DyTech's clean-water in my assembler-type heat exchanger.
The roadmap for 0.7.x remains the same. Fuel decay, fuel breeding, fuel reprocessing, breeder reactor, and a liquid salt reactor will be added as well as reworking the graphics for the current reactors. A new fuel will be added, thorium.
The roadmap for 0.8.x has recently been fleshed out in my mind. Militarization of Uranium Power. I will add new ammo types, rocket types (read nuclear warheads), a custom missile silo with targeting control (if Factorio's modding api allows). I will begin work on an addon that add support for a reactor control room.
The roadmap for 0.9.x hopefully will be mainly code optimization as by then I think this mod is feature complete. I will begin work on Hydrogen Power (Fusion), a separate mod that will require the power foundation of the current mod.
*If you play with DyTech, changes to the water heat_capacity introduced by that mod will have a profound effect on the amount of power produced by the 30 MW Turbine Generator/Cooling Tower complex. You have been warned.
Now some screenshots
New Reactor components.jpg (938.78 KiB) Viewed 51863 times
New Reactor componens_power_output.jpg (736.38 KiB) Viewed 51863 times
Re: Uranium Power
Posted: Sat Jul 18, 2015 5:25 pm
by Zeeth_Kyrah
Awesome! I'm glad to see Uranium Power's alive. Still one of my favorite mods.
Re: Uranium Power
Posted: Sun Jul 19, 2015 9:50 am
by Fatmice
Hello all,
0.6.0 has been ported to Factorio 0.12.x. This took longer than I had expected but was not too painful. See release notes.
Re: Uranium Power
Posted: Mon Jul 20, 2015 2:11 am
by Fatmice
Hello all,
Multiplayer desync bug fix for 0.6.0 and 0.6.2. See release notes.