What does upgrading weapons do now.
Moderator: Oberlus
Forum rules
Always mention the exact version of FreeOrion you are testing.
When reporting an issue regarding the AI, if possible provide the relevant AI log file and a save game file that demonstrates the issue.
Always mention the exact version of FreeOrion you are testing.
When reporting an issue regarding the AI, if possible provide the relevant AI log file and a save game file that demonstrates the issue.
-
- Space Kraken
- Posts: 111
- Joined: Mon Nov 16, 2015 5:57 am
What does upgrading weapons do now.
As far as i can tell in the dev build im using, nothing seems to happen when i upgrade from say mass driver 1 to mass driver 2 ect ect... the damage doesn't increase the cost doesn't go down, is that a bug ?
Another thought shouldn't ship speed rely on something like a dedicated engine slot or slot's, not the hull itself. That way researching engines or tech that unlocks them, allows for different strategy's then just get op hull get op unit with op speed.
Another thought shouldn't ship speed rely on something like a dedicated engine slot or slot's, not the hull itself. That way researching engines or tech that unlocks them, allows for different strategy's then just get op hull get op unit with op speed.
-
- Programmer
- Posts: 389
- Joined: Sun Feb 14, 2016 12:08 am
Re: What does upgrading weapons do now.
That upgrade should increase the damage of Mass Drivers in your empire (even the existing ones).
This upgrade for existing weapons occurs through the supply line, so a ship will not have upgraded weapons until it resupplies.
There is also a turn delay between researching the tech, and it reaching ships in the supply line.
Are you seeing different results?
This upgrade for existing weapons occurs through the supply line, so a ship will not have upgraded weapons until it resupplies.
There is also a turn delay between researching the tech, and it reaching ships in the supply line.
Are you seeing different results?
Re: What does upgrading weapons do now.
I hope not, it's working fine for me, ships need to be in supply to get the upgrade.xlightwavex wrote:As far as i can tell in the dev build im using, nothing seems to happen when i upgrade from say mass driver 1 to mass driver 2 ect ect... the damage doesn't increase the cost doesn't go down, is that a bug ?
I have considered this as an option in the past, have it that the engine parts are one-use-only parts with perhaps improved effects and ships don't come with anything except basic low level thrust which improves for higher tech ships. We've sort of already implemented this with the Trans Spatial Drive, that used to be an integral part for one hull.Another thought shouldn't ship speed rely on something like a dedicated engine slot or slot's, not the hull itself. That way researching engines or tech that unlocks them, allows for different strategy's then just get op hull get op unit with op speed.
But at the moment I've not really put any work into it, so basically I agree with the principle but I'm not sure it's worth the work and there are higher priority things for me to balance off first—if somoene else wants to do the work (and liase with the AI team for the inevitable updates) I'd be happy to review it.
Mat Bowles
Any code or patches in anything posted here is released under the CC and GPL licences in use for the FO project.
Any code or patches in anything posted here is released under the CC and GPL licences in use for the FO project.
-
- Space Kraken
- Posts: 111
- Joined: Mon Nov 16, 2015 5:57 am
Re: What does upgrading weapons do now.
Yep looking at your pics i just realized why you guys probably didn't notice it too. In the ship designing screen the value isn't updated when you click on the weapon, which is what i was looking at.Are you seeing different results?
I hope not, it's working fine for me, ships need to be in supply to get the upgrade.
On the map when you click the ship however it is updated though. So is it actually updated or not when your ship fights ?
Actually with that improved engine coupling part, you have the script already, but its for a internal slot Though i guess i could add one more to all of the ship then add new parts with the coupling script slightly modified. Each ships speed could just be set to a low value 1 or 0 then parts could be included. The ai space monsters speed could just be left alone for now. Which really wouldn't be right because not all the early ships have internal slots, then again a engine is a internal part.I have considered this as an option in the past, have it that the engine parts are one-use-only parts with perhaps improved effects and ships don't come with anything except basic low level thrust which improves for higher tech ships. We've sort of already implemented this with the Trans Spatial Drive, that used to be an integral part for one hull.
But at the moment I've not really put any work into it, so basically I agree with the principle but I'm not sure it's worth the work and there are higher priority things for me to balance off first—if somoene else wants to do the work (and liase with the AI team for the inevitable updates) I'd be happy to review it.
What i just need to be able to do is...
- Have or know how to make a new slot type, that i can add to ships like in ship hull scripts for external internal.
How to assign it (the engine parts i make) to be of the new slot type.
How to link that slot type to a new graphic shape (i dunno a triangle with a square in it or something call it engine slot).
How to have it show up in the ship designer when its unlocked.
Would it really muck up the ai the first way i mean the ai must take into account already a trans-warp on any ship right ?
If it is then its just a matter of copy paste scripting basically and making some new images that's not really a big deal for me to do. I could probably do the rest from their as well. Id just make one engine for each already existing ship that has a different speed. then drop it onto what gets unlocked on the tech tree when you research / unlock that ship. The cool thing would be unlocking different ships to get the engine for different ships. Please remember i just started looking at the scripts a few days ago.
I could probably do it fairly fast, maybe even automate it if i can get past the specifics above. Ive been tinkering with the scripting. So i started writing the beginnings of a editor / analyzer i was thinking of having it simpliy script output really but first. I got annoyed looking for all the parts so the first function alphabetized every tech and its file folders so now i have a list.
Soon im going to make a dependency tree for every single tech its parts and the ship hulls with a graph showing minimal time and cost to reach them, with a op-ness graph. The engine thing though would sort of fit in for a practical use case of something that needs actual editing or creating.// File: sortedtechs.txt Date: 2016:09:15:02:24:31 Encoding: System.Text.UTF8Encoding
CON_ARCH_MONOFILS
scripting\techs\construction\ARCH_MONOFIL.focs.txt
CON_ARCH_PSYCH
scripting\techs\construction\ARCH_PSYCH.focs.txt
CON_ART_HEAVENLY
scripting\techs\construction\ART_HEAVEN.focs.txt
CON_ART_PLANET
scripting\techs\construction\ART_PLANET.focs.txt
CON_ASYMP_MATS
scripting\techs\construction\ASYMP_MATS.focs.txt
ect...
- Geoff the Medio
- Programming, Design, Admin
- Posts: 13587
- Joined: Wed Oct 08, 2003 1:33 am
- Location: Munich
Re: What does upgrading weapons do now.
The original plan was to not have any engine parts at all, because this makes balancing hulls a lot easier, since you can't load up on engine parts to get a fast version of every hull. If there's currently an "op" hull just due to its speed, which makes you not want to use any other hull, then it should be made less "op" by adjusting its speed or other stats.
-
- Space Kraken
- Posts: 111
- Joined: Mon Nov 16, 2015 5:57 am
Re: What does upgrading weapons do now.
Just one of these slots per ship as a rule and you can stack the transwarp as it is.Geoff the Medio wrote:The original plan was to not have any engine parts at all, because this makes balancing hulls a lot easier, since you can't load up on engine parts to get a fast version of every hull. If there's currently an "op" hull just due to its speed, which makes you not want to use any other hull, then it should be made less "op" by adjusting its speed or other stats.
Ok op might be a bad way to make a point, at the very least id like to do it for my own scripts.
One thing i realized when playing is... if the engine is unlocked by the hull tech itself.
Then you could use newer engines on your older hulls which is sort of like upgrading them. Plus it makes sense that way, a engine is a by product of technology its never limited to a specific design of ship. For example the basic ships are basically done in by the speed they have alone after you get just a bit into the game, but if i could stick the flux drive in them and boost the speed i increase there shelf life and can bypass organic that opens up a different tactic.
Plus as you advance in tech you should get more hull for less cost by this i mean, cost effectiveness, though still smaller ships should cost less for the hull built, ships you start with should not be as cost effective later on. While better engines should nearly always cost more then previous ones, be better and should probably even add a little to hp as speed is evasion and maneuverability.
Also i want starbases or / and non-jump system defense ships for that to be a thing, the hull needs to be cheaper by simply not adding a expensive star drive at all to a ship. The engine idea does that instantly, maybe not making it a lot cheaper but still somewhat cheaper. Something like a asteroid would be great for a in system unit. I don't think giant iceball's or rocks should be high tech anyways traveling across starlanes, but i can see them as in system bases or units. Moo3 did that and it was pretty cool not all of moo3 was bad in fact their was a lot of cool stuff in it after you put on the custom patches.
Ship size might impact a engines performance though. What you could do for balance is to have each hull, have a specific small bonus speed or penaly it could be negative like -20 for a asteriod or something. If thats not possible you could do like, 1 to 60 were the normal is 30 so small ships may have 45 big fat ships 15, then the engines go from 0 to 60 as well, that could be account for. The main thing is the engine is necessary for actual star travel, so some engine must be equipped. All in all this means old ships are still viable longer and there is other ways to balance different types of ships so they don't feel like a<b<c<d in fact you could put cruddy engines in good ships to cheapen them if your totally on the defensive.
I also want to make new star-yard upgrades take more time to build and other things less. Meaning you can pump out military while you build but cant just build upgraded star-yards every-were or you get behind you need to tactically place them. While researching up needs some other advantage then which engines would help to fill and properly so. As you wouldn't have the mass industry.
So even though say you cant build some ship because its either too expensive or you don't have a star of a certain type, if you unlocked the ship, you have the engine technology and that engine should be able to go onto your older ships or other ships that only makes sense at least to me.
So is it possible to do it
Last edited by xlightwavex on Thu Sep 15, 2016 7:09 pm, edited 1 time in total.
Re: What does upgrading weapons do now.
The slot types are hardcoded, so you can't add more of them via scripting.xlightwavex wrote:Is a new slot type possible via scripting or does that require more work to the game engine ?
Re: What does upgrading weapons do now.
Weapon parts can have different attack values depending upon which species is using them, so the weapon parts in the ship design screen only show the base attack value for the weapon.xlightwavex wrote: Yep looking at your pics i just realized why you guys probably didn't notice it too. In the ship designing screen the value isn't updated when you click on the weapon, which is what i was looking at.
On the map when you click the ship however it is updated though. So is it actually updated or not when your ship fights ?
One of the windows that should be open in your ship design screen is the pedia entry for your ship design. This will show the current attack values (and other stats) of the ship design for various species that you control. As you add or remove parts the values for the total ship design will update and reflects the current status of your weapon research.
(Note: an un-intuitive feature is that if you're interested in the stats for a specific species, you should have a planet that's populated with that species selected before you enter the design screen.)
When a ship is built it gets the attack values, (as well as detection range and shield values), specific to the species that built it, and according to whatever your current tech level is for that weapon. When you upgrade a weapon tech, that upgrade rolls out to all of your ships on the next turn, assuming that they are in supply range and not in combat. If they are out of supply range they will get the upgrades the next time they return to a location within supply range.
- Attachments
-
- shipdesign.jpg (179.82 KiB) Viewed 1332 times
Windows 10 64bit, AMD 8 Core, 16 GB
Nvidia GTX 670 @ 3240x1920
FreeOrion Build: Latest Windows Test Build
Nvidia GTX 670 @ 3240x1920
FreeOrion Build: Latest Windows Test Build
-
- Space Kraken
- Posts: 111
- Joined: Mon Nov 16, 2015 5:57 am
Re: What does upgrading weapons do now.
I kind of see why it's done like that it changes depending on the planet race you have currently selected, its more confusing/deceptive then un-intutive as it is. I think if there is no solution thought up yet that is practical, (like a toggle button to change the display for what race or what not).Weapon parts can have different attack values depending upon which species is using them, so the weapon parts in the ship design screen only show the base attack value for the weapon.
One of the windows that should be open in your ship design screen is the pedia entry for your ship design. This will show the current attack values (and other stats) of the ship design for various species that you control. As you add or remove parts the values for the total ship design will update and reflects the current status of your weapon research.
(Note: an un-intuitive feature is that if you're interested in the stats for a specific species, you should have a planet that's populated with that species selected before you enter the design screen.)
When a ship is built it gets the attack values, (as well as detection range and shield values), specific to the species that built it, and according to whatever your current tech level is for that weapon. When you upgrade a weapon tech, that upgrade rolls out to all of your ships on the next turn, assuming that they are in supply range and not in combat. If they are out of supply range they will get the upgrades the next time they return to a location within supply range.
Then some notation / description needs to be at the top of the design window that clues the user into this fact. I actually thought this was bugged at first.
I guess i could add a extra internal slot to every ship and try to do that i don't think the engine coupling item stack's. Im not sure, if it does that still wouldn't work exactly the way id like but i guess i could make it work maybe.The slot types are hardcoded, so you can't add more of them via scripting.
What would be the effect be of placing a negative value on a hull's speed itself and then adding a internal engine ?
E.G.
If i have a ship with (- 30) speed and i add a (non stacking) modified engine coupling with (+ 50) speed.
Is the result that the ship cant star travel without a engine ?
Will the -30 hull speed + 50 engine part speed, mean the ship has 20 speed ?
Or will the engine just not accept it ? (would be great if negatives just didn't allow star lane jumps)
Provided the part itself isn't stacking and one extra internal slot is added to all ships i suppose this would make it possible to achieve the desired effect. With the current balance i would just have to do the math on hulls via the fastest hull setting the zero mark (i.e. the fastest hull would get zero speed). Any hull below that would get a negative amount by the difference it has from the maximum speed of the best hull in game. Then all engines for each ship you unlock would be equal to its corresponding hulls original speed ( + ) a amount corresponding to its difference that brings it back up to its hulls original value as it is currently balanced now. Provided the above condition is optionally possible, it would basically be balanced to the way it is now for each ship but you could swap engines as well as have penalty's on massive or old hulls or implicit penalty's for using bad engines on high tech hulls. All previously mentioned considerations would be accountable for.
-
- Programmer
- Posts: 389
- Joined: Sun Feb 14, 2016 12:08 am
Re: What does upgrading weapons do now.
If you do, remember that each of the ship designs using a modified hull need to align with the new slot layout/count.I guess i could add a extra internal slot to every ship and try to do that i don't think the engine coupling item stack's. Im not sure, if it does that still wouldn't work exactly the way id like but i guess i could make it work maybe.
Otherwise these designs will not be valid.
Have not checked, I assume it would follow the same course as stealth does (the actual value would be negative, but display as 0), so your scenario would have an immobile ship with the second scenario resulting in 20.What would be the effect of placing a negative value on a hull's speed itself then adding a internal engine ?
-
- Space Kraken
- Posts: 111
- Joined: Mon Nov 16, 2015 5:57 am
Re: What does upgrading weapons do now.
'Aligned', Can you elaborate on this ?If you do, remember that each of the ship designs using a modified hull need to align with the new slot layout/count.
Otherwise these designs will not be valid.
Which files or values should i be looking for or to in order to ensure they are ?
Code: Select all
Hull
name = "SH_BASIC_SMALL"
description = "SH_BASIC_SMALL_DESC"
speed = 75
fuel = 4
stealth = 5
structure = 5
slots = [
Slot type = External position = (0.50, 0.45) // what all do i need to setup
/* some new internal part Slot type = Internal position = (0.40, 0.45) */
]
buildCost = 10.0 * [[FLEET_UPKEEP_MULTIPLICATOR]]
buildTime = 2
location = Contains And [
Building name = "BLD_SHIPYARD_BASE"
OwnedBy empire = Source.Owner
]
effectsgroups = [
[[REGULAR_HULL_DETECTION]]
[[SCAVANGE_FUEL_UNOWNED]]
[[UNOWNED_GOOD_VISION]]
[[UNOWNED_MOVE]]
]
icon = "icons/ship_hulls/basic-small-hull_small.png"
graphic = "hulls_design/basic-small-hull.png"
Just tested it, its exactly as you described so it will work.Have not checked, I assume it would follow the same course as stealth does (the actual value would be negative, but display as 0), so your scenario would have an immobile ship with the second scenario resulting in 20.
Someone must have also considered this idea at some point and provided for it.
I gotta go back and test that the engine couplings part doesn't stack though and see what the difference is script wise with the trans-flux as that one does.
Brb... yep... EDIT: ahhh no the engine couplings stack as well, crap.
Code: Select all
Part
name = "FU_IMPROVED_ENGINE_COUPLINGS"
description = "FU_IMPROVED_ENGINE_COUPLINGS_DESC"
class = Speed
capacity = 10
mountableSlotTypes = Internal
buildcost = 10 * [[FLEET_UPKEEP_MULTIPLICATOR]]
buildtime = 3
location = OwnedBy empire = Source.Owner
icon = "icons/ship_parts/engine-1.png"
#include "/scripting/common/upkeep.macros"
Code: Select all
Part
name = "FU_TRANSPATIAL_DRIVE"
description = "FU_TRANSPATIAL_DRIVE_DESC"
class = Speed
capacity = 40
mountableSlotTypes = Core
buildcost = 80 * [[FLEET_UPKEEP_MULTIPLICATOR]]
buildtime = 8
location = And [
OwnedBy empire = Source.Owner
Contains Building name = "BLD_SHIPYARD_CON_ADV_ENGINE"
]
effectsgroups = [
EffectsGroup
scope = Source
activation = (1 <= [[BEST_CLOAK_EFFECT]] <= 40)
stackinggroup = "ENGINE_STEALTH_PART_STACK1"
accountinglabel = "TRANSPATIAL_CLOAK_INTERACTION"
effects = SetStealth value = Value - [[BEST_CLOAK_EFFECT]]
EffectsGroup
scope = Source
activation = (40 >= [[BEST_CLOAK_EFFECT]])
stackinggroup = "ENGINE_STEALTH_PART_STACK2"
effects = SetStealth value = Value + 40
]
icon = "icons/ship_parts/engine-4.png"
#include "stacking.macros"
#include "/scripting/common/upkeep.macros"
Last edited by xlightwavex on Thu Sep 15, 2016 9:27 pm, edited 2 times in total.
-
- Programmer
- Posts: 389
- Joined: Sun Feb 14, 2016 12:08 am
Re: What does upgrading weapons do now.
Tutorial - Ship Hulls and Effects - Ship Designs might help.xlightwavex wrote:'Aligned', Can you elaborate on this ?
Which files or values should i be looking for or to in order to ensure they are ?
The ship design slot order needs to align with the ship hull slot order. They can be empty, but not left out or placed in a different order.
ship designs are in the (freeorion)/default/scripting/ship_designs, (freeorion)/default/scripting/monster_designs, and (user data directory)/shipdesigns directories.
-
- Space Kraken
- Posts: 111
- Joined: Mon Nov 16, 2015 5:57 am
Re: What does upgrading weapons do now.
Thanks this will save me a headache.dbenage-cx wrote:Tutorial - Ship Hulls and Effects - Ship Designs might help.xlightwavex wrote:'Aligned', Can you elaborate on this ?
Which files or values should i be looking for or to in order to ensure they are ?
The ship design slot order needs to align with the ship hull slot order. They can be empty, but not left out or placed in a different order.
ship designs are in the (freeorion)/default/scripting/ship_designs, (freeorion)/default/scripting/monster_designs, and (user data directory)/shipdesigns directories.
One more thing i just realized the improved engine couplings also stack. I need a way to prevent this, is that possible thru a script, to make sure only one engine on a ship actually counts. I think that some of the other parts are not stackable like shields.
I see this for shields would i make a macro for engines basically the same way ?
Edit: Not sure about this bottom part though.
class defines what kind of part this is: a short range weapon, a fighter weapon, a piece of armor, etc.
Code: Select all
stackinggroup = "SPEED_PART_STACK" // dunno about this ????????????? valid ?
accountinglabel = "SPEED_INTERFERENCE" // dunno about this ????????????? valid ?
Code: Select all
//______________________________________
// scripting ship_parts stacking.macros
//
BEST_ENGINE_EFFECT
'''
max(max(max(max(
min(1, PartsInShipDesign Name = "SH_ENGINE_1" design = Source.DesignID)
* PartCapacity name = "SH_ENGINE_1",
min(1, PartsInShipDesign Name = "SH_ENGINE_2" design = Source.DesignID)
* PartCapacity name = "SH_ENGINE_2"),
min(1, PartsInShipDesign Name = "SH_ENGINE_3" design = Source.DesignID)
* PartCapacity name = "SH_ENGINE_3"),
min(1, PartsInShipDesign Name = "SH_ENGINE_4" design = Source.DesignID)
* PartCapacity name = "SH_ENGINE_4"),
min(1, PartsInShipDesign Name = "SH_ENGINE_5" design = Source.DesignID)
* PartCapacity name = "SH_ENGINE_5"
)
'''
SUM_ENGINE_CAPACITY
'''
((PartCapacity name = "SH_ENGINE_1")* (PartsInShipDesign Name = "SH_ENGINE_1" design = Source.DesignID)
+(PartCapacity name = "SH_ENGINE_2")* (PartsInShipDesign Name = "SH_ENGINE_2" design = Source.DesignID)
+(PartCapacity name = "SH_ENGINE_3")* (PartsInShipDesign Name = "SH_ENGINE_3" design = Source.DesignID)
+(PartCapacity name = "SH_ENGINE_4")* (PartsInShipDesign Name = "SH_ENGINE_4" design = Source.DesignID)
+(PartCapacity name = "SH_ENGINE_5")* (PartsInShipDesign Name = "SH_ENGINE_5" design = Source.DesignID))
'''
// Is there a speed class, is this possible i hope so.
ENGINE_STACKING
'''
EffectsGroup // Make sure to add new engine parts to the macros SUM_ENGINE_CAPACITY and BEST_ENGINE_EFFECT
scope = Source
activation = DesignHasPartClass Low=2 High=999 Class=Speed
stackinggroup = "SPEED_PART_STACK" // dunno about this ?????????????
accountinglabel = "SPEED_INTERFERENCE" // dunno about this ?????????????
effects = SetMaxSpeed value = Value - [[SUM_ENGINE_CAPACITY]] + [[BEST_ENGINE_EFFECT]]
'''
'''
-
- Programmer
- Posts: 389
- Joined: Sun Feb 14, 2016 12:08 am
Re: What does upgrading weapons do now.
That is one way to do it, yes. Both the effects documentation and the tutorial should have details on stackinggroup and priority.
Edit: more than happy to help, but this may be getting off topic. Might create another thread or push to a branch on github and post a link.
Edit: more than happy to help, but this may be getting off topic. Might create another thread or push to a branch on github and post a link.
Last edited by dbenage-cx on Thu Sep 15, 2016 11:11 pm, edited 1 time in total.
Re: What does upgrading weapons do now.
Hmm, I liked that engines 'stacked'. It was the only way to get slow hulls like asteroid hulls to have a decent speed since they had so much internal space.
But I can see your point too. Going this path I would like to see more engines and not core mount ones.
Or, as I've requested before, more Items that can use a Core slot as well as normal Internal slots so that core slots aren't wasted.
Things that are Core slot only should still stay that way.
But I can see your point too. Going this path I would like to see more engines and not core mount ones.
Or, as I've requested before, more Items that can use a Core slot as well as normal Internal slots so that core slots aren't wasted.
Things that are Core slot only should still stay that way.