Type: Mod
Name: Scalar
Description: A mod to scale technology costs and times with the option of scaling evolution with aim of extending the overall game time.
License: MIT Licence
Version: 1.0.2
Release: 2015-02-12
Tested-With-Factorio-Version: 0.12.22
Category: Gameplay
Tags: Technology, science, evolution
Download-Url: https://github.com/fishlips13/Scalar/releases
Website: https://github.com/fishlips13/Scalar
License
License
The MIT License (MIT)
Copyright (c) 2015 Niall Phillips (fishlips13)
Permission is hereby granted, free of charge, to any person obtaining a copy
of this software and associated documentation files (the "Software"), to deal
in the Software without restriction, including without limitation the rights
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
copies of the Software, and to permit persons to whom the Software is
furnished to do so, subject to the following conditions:
The above copyright notice and this permission notice shall be included in all
copies or substantial portions of the Software.
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
SOFTWARE.
The MIT License (MIT)
Copyright (c) 2015 Niall Phillips (fishlips13)
Permission is hereby granted, free of charge, to any person obtaining a copy
of this software and associated documentation files (the "Software"), to deal
in the Software without restriction, including without limitation the rights
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
copies of the Software, and to permit persons to whom the Software is
furnished to do so, subject to the following conditions:
The above copyright notice and this permission notice shall be included in all
copies or substantial portions of the Software.
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
SOFTWARE.
Version history
Version history
v1.0.0 (2015/02/12)
- Initial release
v1.0.1 (2015/02/13)
- Infinite Research mod bugfix
v1.0.2 (2016/02/20)
- Updated for Factorio 0.12.x
- Fixed a bug with modded technology items
- Found a typo(!) and fixed it (yay!)
v1.0.0 (2015/02/12)
- Initial release
v1.0.1 (2015/02/13)
- Infinite Research mod bugfix
v1.0.2 (2016/02/20)
- Updated for Factorio 0.12.x
- Fixed a bug with modded technology items
- Found a typo(!) and fixed it (yay!)
What it does
What it does
Scalar allows you to edit all technologies and the evolution rate by applying scalar values to their attributes. You can scale tech repetition, tech time, tech ingredients and evolution factors all together or individually, and with a few extra options aswell. All this can be done via the config file and all changes are applied to all technologies, even mod ones.
Scalar allows you to edit all technologies and the evolution rate by applying scalar values to their attributes. You can scale tech repetition, tech time, tech ingredients and evolution factors all together or individually, and with a few extra options aswell. All this can be done via the config file and all changes are applied to all technologies, even mod ones.
How you use it
How you use it
Download the zip file from the link above and place the contained folder into your mods directory.
To enable/disable a feature flip the appropriate bool in the config file. The mod will change appropriate tech and/or evolution values based upon the specified values.
eg.
See the README file and the annotations in the config file for a description of each feature and available options.
IMPORTANT: Be sure to restart the game to apply any changes made.
Download the zip file from the link above and place the contained folder into your mods directory.
To enable/disable a feature flip the appropriate bool in the config file. The mod will change appropriate tech and/or evolution values based upon the specified values.
eg.
Code: Select all
ENABLE_TECH_COUNT == true -- Research repetition scaling is enabled
TECH_COUNT_SCALE = 2 -- Repetition is doubled (eg. 10 to 20)
TECH_COUNT_SCALE = 0.5 -- Repetition is halved (eg. 10 to 5)
IMPORTANT: Be sure to restart the game to apply any changes made.
Questions Quirks Tips
Questions/Quirks/Tips
"But what about evolution? If my tech takes forever to research, won't the Biters get too strong?"
By default and when enabled, evolution scales with tech cost and tech time modifiers multiplicatively.
eg. 2x count -> 0.5x evolution or 2x count, 2x time -> 0.25x evolution
______________________________________________________
"Automatic? But that doesn't work for me!"
We've got you covered! The default behaviour can be overridden in the config file with custom values.
______________________________________________________
"Can I go really crazy with these numbers?"
Yes! Within reason ... Just remember you have to produce enough science/have enough labs to make really big numbers viable in terms of gameplay. All values must be above 0, and the final result of tech/science pack count are rounded down but can only can go as low as 1.Time and evolution can go as low as you like.
______________________________________________________
"I have an old save and I want to play it with Scalar."
Certainly! Scalar will convert old new tech/evolution new new values. This feature is off by default. To turn it on, in the config file enable either of the following:
These will enable reloading for tech or evolution respectively with the new Scalar values. Then load up the save file and save it back to keep the changes. The same works in reverse to revert new values back. Just remember, any save you open up with these features enabled will also be modified, so be sure to disable rebuilding when you're done.
______________________________________________________
"I looked at your config file ... there's cheats!"
There are 2 optional 'cheats' available:
The first is 'Automation 1 doesn't scale'. Imagine you're playing with 100x research count. Now imagine having to craft 10 x 100 red science packs (1000) before you can get going with the rest of the game. This cheat keeps the first research at base values. A potential headache saved.
The second simply makes all research instant and free, but you still need a lab to research it, pre-requisites are still necessary and you still need to click the 'Research' button! This is more of a godmode tool for experimentation, etc.
One potential use is to acclerate the start of a savegame. Turn ON the cheat, start a game, do some instant research, save + quit, turn OFF the cheat, ENABLE tech rebuilding, load the save again, save + quit, and DISABLE tech rebuilding. This will preserve the tech you instantly researched, but allow you to do it the old fashioned way beyond that.
______________________________________________________
"Ooo! OOO! I Found a bug/have a cool addition for your mod!"
Post here and I'll do my best to help! Alternately, I have a GitHub for the mod and those fluent with Git are welcome to post Issues or Fork a copy to work on it. Scalar is licenced under The MIT licence so editing/reuse is freely permitted.
______________________________________________________
"Math puns?! *SIREN* Fire all Phasers!!!"
The name? Indeed, it's a pun on mathematical scalars. The interface via the config file is all simple numbers that are multiplied with in-game values. They're all scalars that scale your tech. My inner nerd quivers with glee. Hahaha.
"But what about evolution? If my tech takes forever to research, won't the Biters get too strong?"
By default and when enabled, evolution scales with tech cost and tech time modifiers multiplicatively.
eg. 2x count -> 0.5x evolution or 2x count, 2x time -> 0.25x evolution
______________________________________________________
"Automatic? But that doesn't work for me!"
We've got you covered! The default behaviour can be overridden in the config file with custom values.
______________________________________________________
"Can I go really crazy with these numbers?"
Yes! Within reason ... Just remember you have to produce enough science/have enough labs to make really big numbers viable in terms of gameplay. All values must be above 0, and the final result of tech/science pack count are rounded down but can only can go as low as 1.Time and evolution can go as low as you like.
______________________________________________________
"I have an old save and I want to play it with Scalar."
Certainly! Scalar will convert old new tech/evolution new new values. This feature is off by default. To turn it on, in the config file enable either of the following:
Code: Select all
TECH_REBUILD_ON_LOAD
EVOLUTION_REBUILD_ON_LOAD
______________________________________________________
"I looked at your config file ... there's cheats!"
There are 2 optional 'cheats' available:
Code: Select all
AUTOMATION_TECH_CHEAT
INSTANT_FREE_TECH_CHEAT
The second simply makes all research instant and free, but you still need a lab to research it, pre-requisites are still necessary and you still need to click the 'Research' button! This is more of a godmode tool for experimentation, etc.
One potential use is to acclerate the start of a savegame. Turn ON the cheat, start a game, do some instant research, save + quit, turn OFF the cheat, ENABLE tech rebuilding, load the save again, save + quit, and DISABLE tech rebuilding. This will preserve the tech you instantly researched, but allow you to do it the old fashioned way beyond that.
______________________________________________________
"Ooo! OOO! I Found a bug/have a cool addition for your mod!"
Post here and I'll do my best to help! Alternately, I have a GitHub for the mod and those fluent with Git are welcome to post Issues or Fork a copy to work on it. Scalar is licenced under The MIT licence so editing/reuse is freely permitted.
______________________________________________________
"Math puns?! *SIREN* Fire all Phasers!!!"
The name? Indeed, it's a pun on mathematical scalars. The interface via the config file is all simple numbers that are multiplied with in-game values. They're all scalars that scale your tech. My inner nerd quivers with glee. Hahaha.
How It Works
How It Works
When Factorio is loaded, all the data from 'data.raw' is loaded into memory. Just after this, Scalar jumps in gets the old values, modifies them and sends them back (with a liberal degree of error checking to be certain nothing untoward happens). This requires a game restart for changes to take effect but the work is done at loadtime with little runtime overhead.
When Factorio is loaded, all the data from 'data.raw' is loaded into memory. Just after this, Scalar jumps in gets the old values, modifies them and sends them back (with a liberal degree of error checking to be certain nothing untoward happens). This requires a game restart for changes to take effect but the work is done at loadtime with little runtime overhead.
Final Thoughts
Final Thoughts
It's been a great learning experience making this mod. It's my first real piece of coding I've done in a long time. Learned a lot about LUA, versioning, licences, and of course the inner workings of Factorio itself. I hope to continue as I've set off, and I hope you guys/girls get as much out of this mod as I did making it.
It's been a great learning experience making this mod. It's my first real piece of coding I've done in a long time. Learned a lot about LUA, versioning, licences, and of course the inner workings of Factorio itself. I hope to continue as I've set off, and I hope you guys/girls get as much out of this mod as I did making it.