FIXBUGFIXBUGFIX Posted July 19, 2018 Share Posted July 19, 2018 Review material properties Spoiler Solid: The difference of thermal conductivity of metal could be more huge. Currently they are too similar. Liquid: The density of liquid should depend on liquid's Max Mass For Liquid Under Compression. Viscosity could have more influences. When boiling, crude oil and Petroleum could be decomposed to carbon / refined carbon. When boiling, liquid steel should be decomposed to steel gas and refined carbon. Gas: Correct the error of molar mass of gas. Material.xlsx Building heat generation display 0.005 times heat display factor is confusing. Please rethink about it. It would be good if aquatuner and regulator have heat production tooltips. If temperature of surroundings are higher than the overheat temperature of machine, the heat which is exhausted to surroundings should be exhausted to machine directly. For some machines which remove heat, the rule is reversed. If surroundings are vacuum or have low mass (<1.5kg), slimiar as above. Spoiler Following code is I written to solve the situation when surroundings are vacuum or have low mass. public class StructureTemperatureComponents : KGameObjectComponentManager<StructureTemperatureData> public override void Sim200ms(float dt) { for (int i = 0; i < this.data.Count; i++) { StructureTemperatureData structureTemperatureData = this.data[i]; if (Sim.IsValidHandle(structureTemperatureData.simHandle)) { structureTemperatureData.ApplyPendingEnergyModifications(); if (!structureTemperatureData.isActiveBuilding) { this.data[i] = structureTemperatureData; } else { if (structureTemperatureData.operational == null || structureTemperatureData.operational.IsActive) { structureTemperatureData.selectable.SetStatusItem(Db.Get().StatusItemCategories.OperatingEnergy, this.operatingEnergyStatusItem, structureTemperatureData.simHandle); if (structureTemperatureData.ExhaustKilowatts != 0f) { Extents extents = structureTemperatureData.GetExtents(); int num = extents.width * extents.height; float num2 = structureTemperatureData.ExhaustKilowatts * dt / (float)num; float num3 = 0f; for (int j = 0; j < extents.height; j++) { int num4 = extents.y + j; for (int k = 0; k < extents.width; k++) { int num5 = extents.x + k; int num6 = num4 * Grid.WidthInCells + num5; float num7 = Mathf.Min(Grid.Mass[num6], 1.5f) / 1.5f; float num8 = num2 * num7; num3 += num2 - num8; SimMessages.ModifyEnergy(num6, num8, structureTemperatureData.maxTemperature, SimMessages.EnergySourceID.StructureTemperature); } } StructureTemperatureComponents.UpdateSimState(ref structureTemperatureData, num3 / dt); structureTemperatureData.energySourcesKW = this.AccumulateProducedEnergyKW(structureTemperatureData.energySourcesKW, structureTemperatureData.OperatingKilowatts + num3 / dt, BUILDING.STATUSITEMS.OPERATINGENERGY.OPERATING); structureTemperatureData.energySourcesKW = this.AccumulateProducedEnergyKW(structureTemperatureData.energySourcesKW, structureTemperatureData.ExhaustKilowatts - num3 / dt, BUILDING.STATUSITEMS.OPERATINGENERGY.EXHAUSTING); } else { StructureTemperatureComponents.UpdateSimState(ref structureTemperatureData); structureTemperatureData.energySourcesKW = this.AccumulateProducedEnergyKW(structureTemperatureData.energySourcesKW, structureTemperatureData.OperatingKilowatts, BUILDING.STATUSITEMS.OPERATINGENERGY.OPERATING); } } else { structureTemperatureData.selectable.SetStatusItem(Db.Get().StatusItemCategories.OperatingEnergy, null, null); } this.data[i] = structureTemperatureData; } } } } Tepidizer temperature limit Currently the default states of Tepidizer is heating instead of overtemp, which allowed as use automation periodic signal to break the limit. It would be better ff the default states could be change to overtemp and update the states more rapidly. Some special structure can bypass the limit.So tepridzer should not only detect the temperature of its surroundings, but also itself. Building submerging detection Currently building only detect the mass of liquid, which allowed us to submerge building into layers different liquid without flooded. I suggest building should also count how many grids are occupied by liquid, or how many layers liquid above it. Like this Vent overpressure detection Liquid Vent should compare the Max Mass For Liquid Under Compression of liquid and the mass in grid. New building —— Space Radiator Space radiator send its heat to space, the amount is base on its temperature. New gas mechanism After gas have correct molar mass, we could make more improvements. The fluid flow in world simulation should depends on pressure, and the pressure is calculated by mass ÷ density. The density of gas are their Molar Mass, and the density of gas are their Max Mass For Liquid Under Compression The max transmit amount of pipe could also be relative with mass ÷ density. New custom game selection Add dark mode. In dark mode, Fog of War is stronger. Players has less visual field. And the visual field could be relative with time and light. In dark and night, the visual field is smallest. In noon and light environment, the visual field is bigger. Infinity technology A technology which can research repeatedly. Each time when the research is completed, duplicate could get a random buff, such as increasing states points, a stress reduce buff, even remove a bad trait, or anything else. Anyway, the most important things is this technology can be researched repeatedly. Link to comment https://forums.kleientertainment.com/forums/topic/93709-my-suggestion-list/ Share on other sites More sharing options...
Mattheww Posted July 19, 2018 Share Posted July 19, 2018 12 minutes ago, R9MX4 said: Review material properties Reveal hidden contents The difference of thermal conductivity of metal could be more huge. Currently they are too similar. The density of liquid should depend on liquid's Max Mass For Liquid Under Compression. Viscosity could have more influences. When boiling, crude oil and Petroleum could be decomposed to carbon / refined carbon. When boiling, liquid steel should be decomposed to steel gas and refined carbon. Correct the error of molar mass of gas. Material.xlsx Building heat generation display 0.005 times heat display factor is confusing. Please rethink about it. It would be good if aquatuner and regulator have heat production tooltips. If temperature of surroundings are higher than the overheat temperature of machine, the heat which is exhausted to surroundings should be exhausted to machine directly. For some machines which remove heat, the rule is reversed. If surroundings are vacuum or have low mass (<1.5kg), slimiar as above. Reveal hidden contents Following code is I written to solve the situation when surroundings are vacuum or have low mass. public class StructureTemperatureComponents : KGameObjectComponentManager<StructureTemperatureData> public override void Sim200ms(float dt) { for (int i = 0; i < this.data.Count; i++) { StructureTemperatureData structureTemperatureData = this.data[i]; if (Sim.IsValidHandle(structureTemperatureData.simHandle)) { structureTemperatureData.ApplyPendingEnergyModifications(); if (!structureTemperatureData.isActiveBuilding) { this.data[i] = structureTemperatureData; } else { if (structureTemperatureData.operational == null || structureTemperatureData.operational.IsActive) { structureTemperatureData.selectable.SetStatusItem(Db.Get().StatusItemCategories.OperatingEnergy, this.operatingEnergyStatusItem, structureTemperatureData.simHandle); if (structureTemperatureData.ExhaustKilowatts != 0f) { Extents extents = structureTemperatureData.GetExtents(); int num = extents.width * extents.height; float num2 = structureTemperatureData.ExhaustKilowatts * dt / (float)num; float num3 = 0f; for (int j = 0; j < extents.height; j++) { int num4 = extents.y + j; for (int k = 0; k < extents.width; k++) { int num5 = extents.x + k; int num6 = num4 * Grid.WidthInCells + num5; float num7 = Mathf.Min(Grid.Mass[num6], 1.5f) / 1.5f; float num8 = num2 * num7; num3 += num2 - num8; SimMessages.ModifyEnergy(num6, num8, structureTemperatureData.maxTemperature, SimMessages.EnergySourceID.StructureTemperature); } } StructureTemperatureComponents.UpdateSimState(ref structureTemperatureData, num3 / dt); structureTemperatureData.energySourcesKW = this.AccumulateProducedEnergyKW(structureTemperatureData.energySourcesKW, structureTemperatureData.OperatingKilowatts + num3 / dt, BUILDING.STATUSITEMS.OPERATINGENERGY.OPERATING); structureTemperatureData.energySourcesKW = this.AccumulateProducedEnergyKW(structureTemperatureData.energySourcesKW, structureTemperatureData.ExhaustKilowatts - num3 / dt, BUILDING.STATUSITEMS.OPERATINGENERGY.EXHAUSTING); } else { StructureTemperatureComponents.UpdateSimState(ref structureTemperatureData); structureTemperatureData.energySourcesKW = this.AccumulateProducedEnergyKW(structureTemperatureData.energySourcesKW, structureTemperatureData.OperatingKilowatts, BUILDING.STATUSITEMS.OPERATINGENERGY.OPERATING); } } else { structureTemperatureData.selectable.SetStatusItem(Db.Get().StatusItemCategories.OperatingEnergy, null, null); } this.data[i] = structureTemperatureData; } } } } Tepidizer temperature limit Currently the default states of Tepidizer is heating instead of overtemp, which allowed as use automation periodic signal to break the limit. It would be better ff the default states could be change to overtemp and update the states more rapidly. Some special structure can bypass the limit.So tepridzer should not only detect the temperature of its surroundings, but also itself. Building submerging detection Currently building only detect the mass of liquid, which allowed us to submerge building into layers different liquid without flooded. I suggest building should also count how many grids are occupied by liquid, or how many layers liquid above it. Like this Vent overpressure detection Liquid Vent should compare the Max Mass For Liquid Under Compression of liquid and the mass in grid. New building —— Space Radiator Space radiator send its heat to space, the amount is base on its temperature. New gas mechanism After gas have correct molar mass, we could make more improvements. The fluid flow in world simulation should depends on pressure, and the pressure is calculated by mass ÷ density. The density of gas are their Molar Mass, and the density of gas are their Max Mass For Liquid Under Compression The max transmit amount of pipe could also be relative with mass ÷ density. New custom game selection Add dark mode. In dark mode, Fog of War is stronger. Players has less visual field. And the visual field could be relative with time and light. In dark and night, the visual field is smallest. In noon and light environment, the visual field is bigger. I like the idea of a dark mode, a space radiator would also be a good thing, the only thing I dont agree with is the new gas mechanics, it would be too complicated, it would make many players leave because their oxygen suddenly turned into hydrogen and everything set on fire Can you take a look at my suggestions? Link to comment https://forums.kleientertainment.com/forums/topic/93709-my-suggestion-list/#findComment-1065873 Share on other sites More sharing options...
goboking Posted July 20, 2018 Share Posted July 20, 2018 19 hours ago, R9MX4 said: New building —— Space Radiator Space radiator send its heat to space, the amount is base on its temperature. This would be quite handy. 19 hours ago, R9MX4 said: Infinity technology A technology which can research repeatedly. Each time when the research is completed, duplicate could get a random buff, such as increasing states points, a stress reduce buff, even remove a bad trait, or anything else. Anyway, the most important things is this technology can be researched repeatedly. A long time ago I suggested something similar. I proposed the repeatable research could slightly enhance a particular building (chosen by the player when choosing the research) so that they'd consume a little less power, generate a little less heat, or have slightly better input/output ratio. There would naturally need to be floors and ceilings, but I think it would be a worthwhile way for a researcher to spend their time in the late game. Link to comment https://forums.kleientertainment.com/forums/topic/93709-my-suggestion-list/#findComment-1066263 Share on other sites More sharing options...
Madbro Posted July 20, 2018 Share Posted July 20, 2018 Nice job, excellent ideas, especially the space radiator. Link to comment https://forums.kleientertainment.com/forums/topic/93709-my-suggestion-list/#findComment-1066285 Share on other sites More sharing options...
Recommended Posts
Archived
This topic is now archived and is closed to further replies.
Please be aware that the content of this thread may be outdated and no longer applicable.