So, I was going to wait until I had more done before starting a development thread, but I decided I couldn't wait. (and discussing it on other people's threads is rude, even if it's a related topic) Back in 2019, I developed a series of mods that built on one another that modified certain power plants in the game. First, it was just a way to make Simmer2's Modular Solar Panels make better use of those gorgeous Inverters and Step-up Transformers that come packed with it. I wrote an LUA script that required you to first build the Step-up Transformer before it would let you build any Inverters, then it wouldn't let you build the PV panels until you built an Inverter. I eventually got it working so that you had to have 1 Step-up transformer for every 16 Inverters and 1 Inverter for every 16 PV panel, so a field of panels with 1 Transformer could have up to 16 Inverters and up to 256 panels. But I didn't stop there... As my understanding of LUA scripting and Exemplars got better, I started working on fixing issues of game balance with the Maxis power plants and a number of power plants that I had downloaded from the STEX and LEX. Many looked great, but didn't balance well when compared to the others and the Maxis default plants. So I started tweaking their Properties to fix them... then writing LUA scripts to more fully integrate them into the game... (advisor comments, technology development chains, building requirements, etc.) and before I knew it I had set things up so that not only were over 40 different power plants available, but they were well balanced compared to one another and were all fully integrated into a (semi) realistic power grid! Then my Hard Drive crashed... ...then I found out that the last six months of backups being done on another PC in the network were corrupted... ...then i found out that SSD drives can't usually get the same sort of data recovery process that platter Hard Drives can get... ...then I threw up my hands and walked away from the game for 2 years. So on January 18th I finally had let go of the frustration and decided to start rebuilding what I had lost. After 10 days re-downloading all my mods, I set to work rebuilding. (thank God for SC4D's Download History that got me all the content I had downloaded from there... the rest of the time I spent trawling the STEX and wracking my brain to remember what I had before) --- GOAL: To completely re-define the Utilities portion of SimCity 4 the same way the NAM team redefined roads. (no pressure!) Note: Having already done this once before, I don't need much help in actually getting it done. Programing and logic paths come easy to me. (I first started programming in 8502 machine language on my old Commodore 128 back in the day... 2 MHZ of fun crammed into 128k of memory!) I'm also a Statistical Data Analyst by trade, (now a stay-at-home Mom) so organizing large data sets is in my wheelhouse, too! The purpose of this thread is that this time I intend to distribute my mod onto the STEX. That means that I'm not just trying to please myself this time, I want this to be something everyone can enjoy. Comments and (constructive) criticism are welcome! If you see somewhere that I could develop further, please let me know! (not a guarantee that I'll implement it, but it never hurts to ask!) --- The Core of the Power Grid mod is Power_Lot_Balance.DAT; a DAT file I made in iLive Reader that replaces a number of LTEXT, EXEMPLAR, and LUA files native to Simcity1.DAT and 33 Power Plant Lots here on the STEX and on the LEX. (full list below) Then I have my custom LUA script that handles lot build allowances based on the criteria I set. Originally I used the BSC Essentials ability to add building counts to be tracked, but this time around I wrote my own, so the BSC Essentials ISN'T a Dependency. (though it should play nice with it) The first step was to rebuild my spreadsheet to compare power plants against one another. In this I am kind of hard-nosed against changes. I made 33 power plants put out by people over the last 15 years plus the 8 default Maxis plants all work together without any one of them being the "obvious choice", making all others obsolete. You have give and take with EVERY plant. Here are the general guidelines I used: 1. Modify the Maxis plants as little as possible - This is more a function of the fact that Maxis balanced them the way they did for a REASON, game balance. I DO make a few fixes as a nod toward reality, but I limit changes to the core 8 plants to things that are NECESSARY. 2. Everything has a downside - Those Wind Turbines are great, aren't they? Yeah... TOO great. So now they have 1/5th the longevity that they used to and require a Wind Farm Maintenance Facility to be built first. They're still "Squeaky clean", and can be placed where there is no road access, but they're expensive and short-lived. 3. Everything has an upside - Coal plants suck. They choke up the air like a chain smoker locked in a Datsun. But per megawatt-hour, they're the cheapest electricity you can build... by half or less. They can't provide ALL your power, (more on that in point 5) but they can sure reduce your average cost per MWh! 4. Everything has a use - Every power plant in my list has a niche. Coal and Wood are cheap. Wind and solar are low-impact. Oil and Natural Gas are adaptable. Diesel is compact and doesn't require a grid in place to use. Every plant is priced, balanced, and assigned stats based on the idea of filling a purpose. If a plant can't fill a niche that no other plant can, it's useless and won't be supported. If you think X plant produces too much (or not enough) pollution, or should be cheaper, there's probably a reason why it is the way it is... to fill a niche. If a particular plant or feature would make another plant completely obsolete, it will NOT be supported by this mod. 5. No power Grid can survive on ONE kind of power source - Carrots are great! I love them! I could eat them all day! But humans need a variety in their diet. So too does a power grid. Nuclear, Coal, Waste to Energy, and Geothermal are all what is referred to a "Base Load" plants. They're great for producing LOTS of power and running 24/7, but power grids are delicate creatures. Every watt produced has to be used within a fraction of a second of when it's generated. Base Load plants SUCK at "load following", that is adjusting their output rapidly based on demand. They can sometimes take HOURS to adjust their output to meet demand. Thus, they usually spend all their time running full-out; that's what makes them relatively cheap to operate. They're predictable. Oil and Natural Gas are "Peak Load" plants that are very good at load following, but expensive. Wind and solar are "Intermediate Load" plants; that is they don't load follow, but their output is variable and unpredictable. So if you want to run your city on nothing but wind and solar, get used to seeing "no power" zots. An ideal grid would have no more than 60% of its power coming from Base Load plants, no more than 40% coming from intermediate load plants, and at LEAST 20% from Peak load plants. You NEED Peak plants to fill in the high-demand times. 6. It's called 'Power Grid' for a reason - Power Grid implies more to it than just building power plants, right? You won't be able to plop down a Coal plant as your first building... because first you need a Transmission Substation... one powerful enough to handle 12.5 mega volt-amps. (MVA or kVA, kilo volt-amps... the unit for grid tolerance) Don't have one that large at the start of your game? You could build two 10 MVA Transmission Substations to handle the load... but you still need Distribution Substations in your neighborhoods to distribute the power... and you can't build Distribution Substations until you have Transformers placed to step down the voltage to household levels. Get the idea? 7. Game Balance > Realism > Opinion - See point 4. Also, I am VERY well researched on this subject. I've spent HUNDREDS of hours pouring over government websites, trolling for statistics on power plant efficiency, cleanliness, Capacity Factors, costs, etc. I also have a considerable knowledge base when it comes to physics. Thus, why the Hydrogen Plant is renamed to the Fusion plant... because that's what it is and likely uses deuterium or tritium as fuel shipped from the Moon where it's plentiful. (and why the Fusion plant may require the Space Port as a prerequisite... still up in the air on that one) In contrast, the Solar Thermal Power Plant (the Maxis Solar Plant) should be 100 times bigger to produce that much power... so says math and physics. Either that or it should only produce 50 MWh/month. I compromised and made it cost one tenth as much to build, but produce 1/10th the power. (i.e. $3,000 to build, $100/month to operate, but only makes 500 MWh/month... so ten of them equal the original stats, just using more space) 8. NO POLITICS - I have my opinions, you have yours. Let's keep it that way. The issue of green energy vs. cheap energy is, despite best intentions, a political football. Since this mod is all about power utilities, it's inevitable that someone might try to push their political opinion regarding energy policy on others. Opinions, pro or con, about "Clean Coal", "carbonless societies", "the green mafia", etc. are therefor verboten and will be ignored and/or reported. TAKE IT ELSEWHERE. This thread is open to ANY ideas... but no idea is more "correct" or virtuous than any other. This is a FICTIONAL GAME... it's meant to have FUN. Using nothing but high polluting 28 MW Coal Power Plants in your cities will never cause SimGlobalWarming... and no one is forcing or coercing anyone else to use solar, wind, or geothermal plants if they don't want to. Let's keep it sane, people. --- So here is a list of features once development is completed: - Require transformers, substations, and other ancillary buildings to build most power plants (except generators that are MEANT to operate independently) - Require balancing your power plant types (Base Load, Intermediate Load, Peak Load) in realistic terms - Build a chain of developing technology, such that you can't build more advanced plants (clean coal, solar, geothermal, fusion, etc.) until you meet certain criteria - Add to the existing lots to broaden options (e.g. add some kind of power storage lot to mitigate the limitations of Intermediate Load plants, etc.) --- Dependencies: Ideally, none... or rather just one... a lot set that provides transformers, substations, etc. to create the grid with. (I personally prefer Simmer2's SM2 Power Pack) Since I STINK at any form of art, my ability to create actual unique buildings and props is somewhat on the order of a blind woman with severe spastic seizures. Stick figures are high art for me. I can push bits around... that's all. (luckily, I'm REALLY good at pushing them around and making them obey me!) --- List of supported Power Plants: Creator        Original Name                            New Name
Generators (Diesel and Natural Gas) Pegasus        Diesel Generator                         1.8 MW Container Diesel Generator
Colyn          CSX Mini Power Plant RH                  945 KW Diesel Generator
Colyn          CSX Mini Generator                       240 KW Diesel Generator
Andreas Roth   Power Generator                          180 KW Natural Gas Generator
Simmer2        SM2 Mobile Power Generator L             120 KW Mobile Diesel Generator
kaos78414      Generator                                50 KW Diesel Generator   Wind Maxis          Wind Power Plant                         1 MW Wind Power Plant
deadwoods      Power-producing Windmill                 5 KW Wooden Wind Generator
  Natural Gas
Maxis          Natural Gas Power Plant                  6.5 MW Natural Gas Power Plant
dk1            Methane Power Plant                      3.5 MW Natural Gas Power Plant
dk1            Methane Power Plant                      2.4 MW Natural Gas Power Plant
dk1            Power Plant                              2 MW Natural Gas Power Plant
dk1            Power Plant                              1.3 MW Natural Gas Power Plant
  Waste to Energy
Colyn          CSX LSU WasteTech RH                     45 MW Waste to Energy Plant
Maxis          Waste to Energy Plant                    9 MW Waste to Energy Plant
mrbisonm       Waste to Energy Plant                    4.5 MW Clean Waste to Energy Plant
  Geothermal
Pegasus        GeoThermal Power Plant                   10 MW Geothermal Power Plant
Simmer2        SM2 Geothermal Power Plant               8 MW Geothermal Power Plant
Pegasus        Geothermal Power Plant                   4 MW Geothermal Power Plant
Mathe Man      Geothermical power station               2 MW Geothermal Power Plant
  Solar
Maxis          Solar Power Plant                        2.5 MW Solar Thermal Plant
Simmer2        SM2 GE Solar Power Plant                 533 KW PV Power Plant
1dera3         Solar Station                            50 KW Remote PV Station
Simmer2        SM2 Modular Solar Panels 1X1             36 KW PV Panel Set
  Coal/Wood
Cat fan        Coal Power Plant                         28 MW Coal Power Plant
Maxis          Coal Power Plant                         10 MW Coal Power Plant
shoRt-mAn123   S.M. Power Plant                         6.5 MW Coal Power Plant
Shy Dude       Chicago Union Station Power Plant        2 MW Coal Power Plant
carrot1984     Medium Clean Coal Power Plant            25 MW Clean Coal Power Plant
fukuda         Lignite-fired power plant                20 MW Clean Coal Power Plant
SimGoober      Hardun Coal Power Plant                  10 MW Clean Coal Power Plant
shoRt-mAn123   Small Steam Power Plant                  3 MW Wood Pulp Power Plant
onlyplace4     Wild West Power House                    1 MW Wood Power Plant
  Oil
BIWDC          SC2k Oil Power Plant                     30 MW Oil Power Plant
Maxis          Oil Power Plant                          15 MW Oil Power Plant
mrbisonm       Nexis Emergency Diesel Power             4.5 MW Oil Power Plant
  Fission
BurroDiablo    Nuclear Plant                            1.2 GW Fission Power Plant
JPouX          Close-to-water EDF Nuclear Power Plant   112 MW Coastal Fission Plant
JPouX          Mainland EDF Nuclear Power Plant         112 MW Inland Fission Plant
Maxis          Nuclear Power Plant                      25 MW Fission Power Plant
  Fusion
Maxis          Hydrogen Power Plant                     75 MW Fusion Power Plant

--- Details: All power plants are divided up into one of four main types any one of four categories. Types: Base Load, Intermediate Load, Peak Load, & Generators (Generators are technically Peak power plants, but don't require Support Equipment to build or use) Categories: Clean Power Plants, Petroleum Power Plants, Carbon Power Plants, & Other Power Plants (Other is anything that doesn't fit in the first 3) Support equipment is broken down into one of three categories. Transformers, Distribution Substations, Transmission Substations, & Electrical Features. (Features are anything that don't fit the first 3 categories, like Inverters, power banks, etc.) The mod goes in the My Documents\SimCity 4\Plugins folder in a sub-folder titled "ZZZZZ AMPS". This ensures it runs last after all other mods. This is important because it replaces certain Exemplar and LTEXT files from Maxis and all of the above lots. This allows full integration into the game, allowing new advisor comments to be made to include hyperlinks, etc. It also uses new custom queries to advise you on load balancing, etc. One Maxis LUA file currently overridden (this will probably change to a new kind of override before release so it doesn't replace a Maxis core file) is ID: CA63E2A3-4A5E8F3F-FFB0A8D0 that is used to define certain constants. It's also used by BSC Essentials to add more building counts for use with automata managers using the "track_buildings =" function. Rather than take a chunk of their IDs, I created my own. I am using the Occupant Group 0xBB350000-0xBB35020F since it's not used anywhere that I can tell. This lets us use the Rewards features to limit construction to lots you have ability to build. (I also included the BSC code, which is harmless if you don't need it and vital that it be included if you do) The new Occupant Groups are broken down as follows: 0xBB350000-0xBB35000F = Individual Generator Lots (eg. Pegasus's MTP Diesel Generator is 0xBB350003) 0xBB350010-0xBB35001F = Individual Transformer Lots (eg. KloudKicker's custom 250 kVA residential transformer lot is 0xBB350012) 0xBB350020-0xBB35002F = Individual Distribution Substation Lots (eg. Simmer2's SM2 HV Transformer lot is 0xBB350020) 0xBB350030-0xBB35003F = Individual Transmission Substation Lots (eg. Takingyouthere's Transformer lot is 0xBB350030) 0xBB350040-0xBB35004F = Individual Electrical Feature Lots (eg. Simmer2's Solar Inverters from his Modular Solar Panels set is 0xBB35004F) 0xBB350050-0xBB35005F = Individual Clean Intermediate Load Plant Lots (eg. the Wind Power Plant is 0xBB350059)   0xBB350060-0xBB35006F = Individual Clean Base Load Plant Lots (eg. Pegasus's GeoThermal Power Plant is 0xBB350063) 0xBB350070-0xBB35007F = Individual Clean Peak Load Plant Lots (eg. the Hydrogen Power Plant is 0XBB350070) 0xBB350080-0xBB35008F = Individual Petroleum Intermediate Load Plant Lots (reserved for potential use; no plants currently qualify) 0xBB350090-0xBB35009F = Individual Petroleum Base Load Plant Lots (reserved for potential use; no plants currently qualify) 0xBB3500A0-0xBB3500AF = Individual Petroleum Peak Load Lots (eg. the Oil Power Plant is 0xBB3500A1)   0xBB3500B0-0xBB3500BF = Individual Carbon Intermediate Load Plant Lots (reserved for potential use; no plants currently qualify) 0xBB3500C0-0xBB3500CF = Individual Carbon Base Load (eg. the Coal Power Plant is 0xBB3500C9) 0xBB3500D0-0xBB3500DF = Individual Carbon Peak Load Plant Lots (reserved for potential use; no plants currently qualify) 0xBB3500E0-0xBB3500E4 = Individual Other Intermediate Load Plant Lots (reserved for potential use; no plants currently qualify) 0xBB3500E5-0xBB3500E9 = Individual Other Base Load Plant Lots (reserved for potential use; no plants currently qualify) 0xBB3500EA-0xBB3500EE = Individual Other Peak Load Plant Lots (reserved for potential use; no plants currently qualify) 0xBB3500F0 = Used on all Generator lots to return the sum total of all of them; used in custom queries and for grid validity checks 0xBB3500F1 = Used on all Transformer lots to return the sum total of all of them; used in custom queries and for grid validity checks 0xBB3500F2 = Used on all Distribution Substation lots to return the sum total of all of them; used in custom queries and for grid validity checks 0xBB3500F3 = Used on all Transmission Substation lots to return the sum total of all of them; used in custom queries and for grid validity checks 0xBB3500F4 = Used on all Electric Feature lots to return the sum total of all of them; used in custom queries and for grid validity checks 0xBB3500F5 = Used on all Clean Intermediate Load Plant lots to return the sum total of all of them; used in custom queries and for grid validity checks 0xBB3500F6 = Used on all Clean Base Load Plant lots to return the sum total of all of them; used in custom queries and for grid validity checks 0xBB3500F7 = Used on all Clean Peak Load Plant lots to return the sum total of all of them; used in custom queries and for grid validity checks 0xBB3500F8 = Used on all Petroleum Intermediate Load Plant lots to return the sum total of all of them; used in custom queries and for grid validity checks 0xBB3500F9 = Used on all Petroleum Base Load Plant lots to return the sum total of all of them; used in custom queries and for grid validity checks 0xBB3500FA = Used on all Petroleum Peak Load Plant lots to return the sum total of all of them; used in custom queries and for grid validity checks 0xBB3500FB = Used on all Carbon Intermediate Load Plant lots to return the sum total of all of them; used in custom queries and for grid validity checks 0xBB3500FC = Used on all Carbon Base Load Plant lots to return the sum total of all of them; used in custom queries and for grid validity checks 0xBB3500FD = Used on all Carbon Peak Load Plant lots to return the sum total of all of them; used in custom queries and for grid validity checks 0xBB3500FE = Used on all Other Intermediate Load Plant lots to return the sum total of all of them; used in custom queries and for grid validity checks 0xBB3500FF = Used on all Other Base Load Plant lots to return the sum total of all of them; used in custom queries and for grid validity checks 0xBB3500EF = Used on all Other Peak Load Plant lots to return the sum total of all of them; used in custom queries and for grid validity checks 0xBB350100-0xBB3501FF Same as above, reserved for Small Power Plants that do not require a Transmission Substation, only Distribution Substations and Transformers 0xBB350200-0xBB35020F Used for special building tracking, such as for tracking the number of Front Offices on the map to prevent having more than one All original files are also using the Instance ID series "BB35xxxx", which is also to the best of my knowledge unused by anyone. --- In order to simulate grid imbalance when you don't have enough Peak load-following power sources, LUA code will increase power consumption grid-wide until brown-outs occur, proportional to the imbalance, in much the same way the the Power Conservation Ordinance works, only in reverse. This is perhaps one of the most difficult goals to implement and may take some time to work out. The other parts of the mod are relatively easy and I had working flawlessly 2 years ago. :^/ --- Comments welcome!