This site is in archival mode. A replacement is being developed. In the meantime, please use the PBW2 Forums for community discussions. The replacement software for this site will use a unified account system with PBW2, and any newly created threads will carry over.
Welcome to Spaceempires.net
Login or Register

Search
Modules
· Content
· Downloads
· Forums
· Game Info
· Image Gallery
· Links
· Shipyards
· Topics
· Staff

User Info
· Welcome, Anonymous
Membership:
· New: Astorre
· New Today: 0
· New Yesterday: 0
· Overall: 3155

People Online:
· Visitors: 93
· Members: 0
· Total: 93

  

Spaceempires.net :: Advanced Modding Tutorials :: View topic
Forum FAQ :: Search :: Memberlist :: Usergroups :: Profile :: Log in to check your private messages :: Log in


Advanced Modding Tutorials

 
Post new topic   Reply to topic    Spaceempires.net Forum Index -> SEIV Modding FAQ
View previous topic :: View next topic  
Author Message
Fyron
Galactic Guru


Joined: Aug 04, 2003
Location: CA, USA

PostPosted: Mon Nov 15, 2004 9:19 pm    Post subject: Advanced Modding Tutorials Reply with quote

This thread will be for gatheringwhat are essentially tutorials on specific modding concepts.

Last edited by Fyron on Sat Mar 19, 2005 7:25 pm; edited 3 times in total


Back to top
Fyron
Galactic Guru


Joined: Aug 04, 2003
Location: CA, USA

PostPosted: Mon Nov 15, 2004 9:19 pm    Post subject: Quasi-Newtonian Propulsion Reply with quote

Quasi-Newtonian Propulsion

by Nick Dumas (Suicide Junkie), August 18, 2002.

Concept Mod

Background:
===========================
Newtonian physics would have that the acceleration of a ship be dependent on the thrust of its engines divided by its mass. (F=ma) Unmodded SE4 uses a system where Speed is equal to the thrust of the engines, no matter what the mass of the ship.
Quasi-Newtonian Propulsion is an attempt to improve on the realism of SE4's propulsion system, while still being possible using only the moddable data files. Since SE4 does not model acceleration in its movement system, the QNP compromise is that speed should be dependent on thrust divided by mass. (F=mv)

SE4 limitations:
===========================
There are a few limitations in SE4 that you must be aware of when implementing a QNP scheme.
1) Acceleration is not modeled, so F=mv is the closest to newtonian physics that can be achieved in SE4.
2) There is a maximum of 255 "standard movement" points allowed on a design without causing a Range Check Error. This restricts the scale of your QNP scheme, and may limit the maximum speed of larger ships.
3) Only integer values for "standard movement" points are allowed.
4) Ship speeds above 30 movement points will not be useful in simultaneous-turn games. Ships of over 30 speed will only move once per "day", and will cover at most 30 sectors.

Calculating Speeds in SE4:
===========================
To calculate the final speed of a ship in SE4, the following method is used:
1) Add up all "Standard Movement" points on a ship.
2) Divide by the "Engines Per Move" setting on the vehicle, rounding DOWN.
3) If the speed of the vessel is at least one, add any "Bonus Movement" points, and add 1 speed if the race has the "Propulsion experts" trait chosen.

Designing a QNP scale:
===========================
Any QNP model requires a scale. This only fixes the numbers that will be used internally by the mod, and does not determine how much space is required on a ship to move at a specific speed.

NOTE: Since ships and fighters use completely separate engine components, the mod can and should have a separate scale for both types of vehicle.

If the scale is very large, then bigger ships will be able to be packed with engines without causing Range Check Errors. Unfortunately, a large scale may cause inaccuracies due to rounding errors. Given the default ship sizes in SE4, a value of 1 "standard move" per 50kt of ship providing 1 Speed is the best choice. If the escort were changed to a size of 100kt or removed entirely, then 1 "standard move" per 100kt of ship providing 1 speed would be an option. For fighters, a value of 1 "standard move" per 5kt of fighter providing 1 speed would likely be the best choice. In any case, the value you choose should divide evenly into all hull sizes (or as many as possible).

Implementing the QNP system:
===========================
Once you have chosen a scale for your QNP system, you can start editing the mod files.
Open vehiclesize.txt, and for each ship:
1) Find the Hull size in kt.
2) Divide the hull size by your scale, determined above.
3) Set the "Engines per Move" setting to the value calculated in step 2
4) Set the "Requirement Max Engines" to 255.
Go back through the file, and repeat the process for all fighters, using the fighter scale chosen above.

Balancing the QNP system:
===========================
If you were to start a game you should quickly find that larger ships do indeed require many more engines to reach a particular speed than smaller ships. However, you will also notice that it takes an incredibly large number of unmodded engines to achieve even speed 1.
It is time to mod the engine components. What you will have to do is increase the number of "Standard movement" points each engine component provides. Too much, and your ships will zoom through the galaxy at 30+ sectors per turn. Too few, and your ships will be giant clusters of engines that can barely crawl through space.

A good choice for a scale of 50 is 3 Standard movement on an Ion engine. The bonus movement points provided by the higher-tech engines are clearly not Q-N. Instead of providing a bonus movement, simply have the engine provide more standard movement! If an Ion engine provides 3 sm, you could have a Contraterrene drive provide 4, a Jacketed Photon drive 5, and Quantum engines 6. Thus an escort (3 engines per move) would need 4 Ion engines to move at speed 4, but only 3 CT drives to move the same speed, and only 2 Quantum drives to move speed 4. Alternatively, you could reduce the size of the higher-tech engines, while they provide the same amount of thrust. There are many ways to balance the speed of the engines at this point, just be creative.

Once you have modded the engines, be sure to check that the maximum speeds are all reasonable throughout the range of hull sizes. Be sure that escorts cannot travel beyond a speed of 30, and that the largest ships can actually move.
Note: the fastest possible hull size is not actually the escort! While the escort must spend almost 20% of its hull space on bridge/lifesupport/crew quarters, a Light Cruiser spends only 8%. Under a QNP system, and given equal technology, a larger ship can go faster if all of its free space is devoted to engines.

Some other components that you will have to alter will be:
- Solar sails
- Afterburners
- Higher-tech fighter engines.

QNP side-effects:
===========================
When implementing a QNP system some common side effects will show up.
- Larger ships will burn vast amounts of supplies moving from one sector to another. Since they require more engines, they use up proportionally more supplies. This means that it will take exactly the same amount of supplies to move Two 400kt ships from point A to point B as it will to move One 800kt ship from A to B at the same speed.
- Smaller ships remain useful late in the game. The fact that large ships must spend about the same fraction of their space on engines as the little ships means that given fleets of equal mass, the fleet of small ships will carry roughtly the same tonnage of ordnance as the fleet of large ships. The large ships will have mounts and be harder to kill individually, but the smaller ships will have a defense bonus due to size.
- The final speed of a ship will be totally dependent on the designer. Ship designs will be more diverse, with very fast scoutships composed only of engines and supply tanks, and slower warships that carry extra firepower or shields. Each race may have a different opinion of the optimum balance between engines, shields and weapons.


Last edited by Fyron on Wed Sep 28, 2005 6:30 pm; edited 2 times in total


Back to top
Fyron
Galactic Guru


Joined: Aug 04, 2003
Location: CA, USA

PostPosted: Mon Nov 15, 2004 9:20 pm    Post subject: Leaky Armor Reply with quote

Leaky Armor

by Nolan Kelly (Imperator Fyron), February 23, 2004.

Concept Mod

Background:
===========================
Have you ever wondered why all armor on your ship, no matter which facing it is on, must be completely vaporized before any damage can be done to internal components (other than from armor skipping weapons)? The solution to this conundrum is leaky armor. Leaky armor is armor in the sense that it protects your ship from physical harm. However, it is not armor in the sense that it does not have the Armor ability. It will protect from some weapon hits, and not protect against others. Some hits will leak through the armor layer to damage internal components. Thus, there is no magic wall to be penetrated as with normal armor. Leaky type armor first appeared in the Pirates & Nomads mod, in the form of Bucky-Tube Gel Plating.

How it works mechanically:
===========================
No component with the Armor ability will protect you from weapons with the Skips Armor or Skips Shields and Armor damage types. Leaky armors treat armor-skipping weapons as normal weapons, as there is no armor layer to pierce. Components with the Armor ability are only damaged by armor skipping weapons once there are no other components left intact on the ship that do not have the armor ability.

When a weapon hits a ship, it will first face the shield layer. If there are no shield generators, or no shield points, the damage goes to the components of the ship. If there are any components with Armor ability, they will be hit first. But, if the weapon was one with armor-skipping damage, such as Shard Cannons, then the damage will completely bypass the Armor layer and damage "internals," where internals are any components that do not have the Armor ability. Only the Armor ability makes a component act like "armor."

If a ship has "leaky armor" components, they are not actually "armor" because they do not have the Armor ability. They are treated exactly like other internals. The reason that we use the term "leaky armor" is because having some beefed up components (lots of hit points) without the Armor ability makes them act similar to armor, except that some shots will not hit them but hit other internals instead. So instead of complete absorption by the Armor, you have partial absorption by the leaky armor.

A note on abilities:
===========================
Armor-skipping damage has one role, to bypass the Armor layer. Or, in other words, those components with the Armor ability. However, testing has shown a few other side effects. The abilities of Shields From Damage and Emissive Armor do not get triggered by weapon shots with the armor-skipping damage type. Both of these abilities will function when any component gets hit, even if that component does not have that ability. This is why combining stock Armor and Emissive Armor works. Any shot from a regular weapon that hits any armor component will be emissed by so many damage points. The same occurs with Crystalline Armor, which has the shields from damage ability. If you assign either of these abilities to an internal component, then that ability will be triggered when any component on the ship is damaged. Whether it is internal or armor is irrelevant. But, their effects do not get triggered from weapon damage of the armor-skipping type. So, if you mod in an internal component that has the Shields From Damage ability (such as leaky shields as in some mods), no shields will be added from the damage occured by an armor-skipping weapon (such as Shard Cannons).

Implementation:
===========================
To implement leaky armor, create a component that has no abilities. Give it more structure (hit points) than the average internal ship component has. This way, it is more likely to be hit first than other internal components. If the average component has 10 hit points, then leaky armor with 15 hit points will have a good chance of being hit first. But, a lot of shots will still hit other internals.

Since the only purpose of leaky armor is to absorb damage, it should have a much higher structure to space taken ratio than other components. If it does not, then those other components might end up as being better leaky armor than your new armor! The exact values are up to you, but I would recommend as a bare minimum that all leaky armor components have at least 2 times the structure to space taken ratio as most internals do. In stock SE4, most internals have a ratio of either 1:1 or 2:1 (engines being those with 2:1). So, 4:1 is a good minimal ratio for your leaky armor

Complexity:
===========================
You can implement a system where there is just one type of leaky armor. Or, you can implement a system with multiple types, to create more strategic diversity. Let's take a system with two types of leaky armor as an example. Light Armor is 1 kiloton in size and has, say, 20 structure (hit points). Heavy Armor is 10 kilotons in size and has 100 structure.

In this system, the Light Armor has twice as many hit points per kiloton of space taken as the Heavy Armor. This means that it should create ships much stronger than Heavy Armor can, right? Well, not quite. Even though the Light Armored ships can take a lot more damage, you will find that the heavy armored ships tend to win more often. This is because weapon hits are more likely to strike a component of Heavy Armor than other internal components with the HA ship than they are to strike a component of Light Armor than an internal on a LA ship. The large amount of hit points that the Heavy Armor has individually gives it a greater chance to be struck. So while the LA ships can take more damage overall, they tend to be more leaky, so vital internals (engines, weapons) tend to be struck more quickly than they do on the HA ships. The Heavy Armor has more hit points than any (unmounted) weapon, after all. Of course, it turns out that the best design is a combination of LA and HA.

Using this example, you can create complex armor systems. More complexity (to a point) means that there are more strategic options when designing and employing your ships. This in turn leads to a greater depth of gameplay. Of course, you should avoid going overboard. 12 different types of armor (not levels, but different types entirely) would probably be too many.


Last edited by Fyron on Wed Sep 28, 2005 6:30 pm; edited 2 times in total


Back to top
Fyron
Galactic Guru


Joined: Aug 04, 2003
Location: CA, USA

PostPosted: Mon Nov 15, 2004 9:21 pm    Post subject: Maintenance Vs. Construction Cost Tradeoffs Reply with quote

Maintenance Vs. Construction Cost Tradeoffs

by Edward Kolis (Ekolis), February 23, 2004.

In addition to Quasi-Newtonian Propulsion, there are other ways to force players to make tradeoffs between the advantages of small and large ships: maintenance Vs. construction costs. In other words, small ships are cheap to build but expensive to maintain (making them good for "on the fly" construction during times of war), while big ships are expensive to build but cheap (for their size) to maintain (making them good to build up during peacetime as a less micromanagement-intensive alternative to mothballing). There are basically two ways of going about this: one as implemented in Ed Kolis' Economies of Scale mod, and the other as implemented in Suicide Junkie's as-yet-unnamed "new SJ mod".

Ed's method is to assign some arbitrary "average component cost per kiloton" value, multiply by the tonnage of each hull, then subtract that value from the desired construction cost of each hull (so if you want a squares progression you might have ES = 1000, FG = 4000, DS = 9000, LC = 16000, etc.), to get the construction cost for each hull. Then, take the desired maintenance amount for each hull (you might use an approximately square root progression of ES = 100, FG = 140, DS = 170, LC = 200) and assign a maintenance modifier as appropriate to get the hulls' desired maintenance costs to equal the appropriate proportion of their respective construction costs. (So for our example if we used a base maintenance cost in Settings.txt of 10% we'd have maintenance reductions of ES = 0%, FG = 65%, DS = 81%, LC = 88%.) To find the maintenance reductions, take BM = base maintenance (base maintenance cost as a percentage * construction cost) and DM = desired maintenance; then the maintenance reduction is (BM - DM) / BM * 100%.

SJ's method is slightly different; instead of increasing the cost of the hulls, he increases the cost of the components by use of mounts. Each component is given a cost 100 times what it would cost to be installed on the smallest ship, and the mounts scale the cost down to something reasonable, while keeping the tonnage, etc. the same. Then, to scale the maintenance costs down, he gives the hulls inherent maintenance reduction much like Ed does.

So which method is better? Well, it depends on your situation. Does your mod have a lot of mounts? Then SJ's method might be a bit troublesome to implement, because you'll need a copy of every mount for every hull size you it can be used on, just with a different cost scale factor (e.g. LC Large Mount, CR Large Mount, BC Large Mount, etc.) However, Ed's method does have the problem of components with unusual costs - since everything is calculated based on average component costs, what happens when you have a dreadnought filled with repair bays, or a frigate with a star destroyer component? Your numbers get thrown off and you either get ripped off (in the case of the dreadnought) or an incredible maintenance bargain (in the case of the frigate). But that's not entirely a bad thing - it adds more thought to decisions like "do I beef up my expensive stellar manipulation ships or go lean & mean with them to save money. So it's up to you - do you want those stellar manipulation components to be cheaper to build on small hulls (SJ's version) or cheaper to maintain (Ed's)? Wink


Last edited by Fyron on Sat Mar 19, 2005 7:27 pm; edited 1 time in total


Back to top
Fyron
Galactic Guru


Joined: Aug 04, 2003
Location: CA, USA

PostPosted: Sat Mar 19, 2005 7:27 pm    Post subject: Leaky Shields Reply with quote

Leaky Shields
by Nick Dumas (Suicide Junkie), February 26, 2005.

Concept Mod

Background:
===============
Just like armor, shields in stock SE4 are a magic wall that blocks all damage until depleted. Just like armor, however, you can mod the shields to be "Leaky". Leaky shields will typically absorb an average of 50% of the damage from normal weapons, although this can vary from 0% to 100% depending on the implementation details (See below).

Leaky shields provide a nice alternative to the all-or-nothing stock shield system. Combined with leaky armor, you will get ships that will occasionally take critical damage right from the first hit if they are particularly unlucky. Backup internals become very important, and combat will tend to involve many ships doing the best they can with a handful of damaged components each.

Mechanics:
===============
The "shield generation from damage" ability is the core of the leaky shields effect. Each time a non-armor-skipping weapon hits the hull of a ship, all of the SGFD ability points are used to boost the shield points of the damaged ship. SGFD will add a number of shield points equal to the lowest of:
(A) the hull damage sustained from this hit (shield damage does not count)
-OR-
(B) the total SGFD ability points from all undamaged components on the damaged ship.

Note: The hull damage is NOT negated, and the ship will be left with some shields remaining AND some components destroyed or partially damaged. However, any partial damage will be added to the next hit and may trigger the SGFD ability again.

Implementation:
===============
Shield generators will be altered to have two abilities instead of just one. They will need both "Shield Generation From Damage" AND "Shield Generation". You may optionally replace the latter with "Phased Shield Generation" if you want phased weapons to participate in the leaky shields effect instead of skipping completely.

The value1 amounts of both abilities should typically be set to the same number. The shield generation amount must be equal or greater than the SGFD amount. If you set the shield generation amount higher than the SGFD amount, you will introduce a small amount of stock-like "solid shield" effect for the first few hits. Once the excess shield points are depleted, the "leaky shield" effect will take over from the "solid shield" effect

The actual value amounts of the leaky shield abilities will depend on many factors, including the size of the shield component, the weapons and mounts available to use against it, the size of the hull, and the armor system. Values of 1-3 ability points per kT of size is a good starting value, but will certainly need play testing to find appropriate values for your mod.

Be sure to adjust the descriptions to match the new effects of your shield generators!

Qualitative Effects:
====================
There are a number of different effects that you will see when using Leaky Shields. Unless otherwise noted, these effects are seen when averaged over multiple hits from the same weapon

1) If a ship takes individual hits with damage greater than twice the number of leaky shield points, then the leaky shields will act like emissive armor ability. They will reduce the damage sustained from each hit by an amount equal to the count of leaky shield points. This emissive style protection will be multiplied or divided by 2 or 4 if the weapon uses the quad/double/half/quarter to shields damage types.

2) If a ship takes individual hits with damage less than twice the number of leaky shield points, then the following applies:
Damage Type Average Damage to Hull/Armor
Quarter To Shields 20% of normal
Half To Shields 33% of normal
Normal 50% of normal
Phased 50% or 100% of normal
Double To Shields 67% of normal
Quad To Shields 80% of normal
Skips Shields/Armor 100% of normal
Only "X" 100% of normal

3) If the damage applied to the hull is not sufficient to destroy components, then the partial damage left over will be applied to the next hit. The partial damage must pass through the shields again, and the shields will get a second chance to block about half of it (for normal damage weapons, see chart for others). In effect, the first shot has just been blocked 75% by the shields instead of 50%. With sufficiently high-hitpoint armor/internals (2x the weapon's damage per hit) and enough leaky shield generation (2x the weapon's damage per hit again), the shield will be able to block 100%!

If you are using leaky armor, it is fairly easy to have enough shield/armor points to cause this, but since the armor is leaky, the weapons will occasionally hit a shield generator instead of the leaky armor, and the system will eventually collapse as the shields are destroyed.


Last edited by Fyron on Wed Sep 28, 2005 6:31 pm; edited 1 time in total


Back to top
Fyron
Galactic Guru


Joined: Aug 04, 2003
Location: CA, USA

PostPosted: Thu Mar 24, 2005 1:49 am    Post subject: Space Yard Expansions Reply with quote

Space Yard Expansions

by Nolan Kelly (Imperator Fyron), March 23, 2005.

Concept Mod

Background:
===========================
In Space Empires IV, there is a hard-coded limit of only being able to construct one Space Yard facility per planet. This is done to prevent stacking 30 space yard facilities on a planet and get extremely expensive ships (such as black hole creators) built in a single turn. However, many games have the ability to have graduated construction rates based on the number of facilities present. Each facility adds a small amount of construction (such as 200 points), rather than a huge chunk as with a stock SEIV space yard (2000 to 3000). This can be accomplished in Space Empires IV, after a fashion.

How it works mechanically:
===========================
While you can not build a facility with a Space Yard ability if there is already one on the planet, this restriction does not apply to facility upgrades. It is entirely possible to upgrade a non-SY facility to a SY facility and bypass the restriction. The rates of all space yards on the planet stack together.

Implementation:
===========================
Space Yard Expansions are very simple to implement. There are several methods, depending on preference.

The easiest, which I strongly discourage you from using, is to add a facility with no abilities and the same family number as an existing Space Yard facility. It must be "less advanced," meaning that it should have a lower roman numeral (such as 0). After building this facility, you can then upgrade it to a Space Yard. Keep in mind that the cost of an upgrade (with stock upgrade cost settings) is one half that of building a facility directly, so this method could very easily allow you to build space yards far more quickly than normal, depending on how much the base facility costs.

A better method is to have normal Space Yards and a new type of facility, the Space Yard Expansion. A Space Yard Expansion should provide a small, incremental amount of construction, such as one tenth of that of a normal space yard. Exact values are up to the modder's discretion, of course. To implement this, you need to add two new facilities, with a new, unused family number. Do not make these have the same family number as normal space yards. The components can be called "Space Yard Expansion Project" and "Space Yard Expansion." The Space Yard Expansion Project will have no abilities. It is meant as the facility you build, then upgrade to the Space Yard Expansion facility. Give the Space Yard Expansion Project a roman numeral value of 0. The Space Yard Expansion facilities should have roman numerals of 1 or greater. Make sure to place the Space Yard Expansion Project after the Space Yard Expansion facilities in Facilities.txt. This will cause SEIV to display them as the only facility in the family when obsolete facilities are hidden. You never want to build the Space Yard Expansion directly, so this makes it much easier to use the system (no need to show obsolete facilities to build the Project facility first). In this sort of system, you would first build a normal space yard, then start with the expansions.

Another method is similar to the second, except that you have 3 different families of Space Yard Expansions, one for each resource. It is set up in much the same way. Make sure to _never_ set a space yard ability value to 0. If the space yard rate of a planet is 0 (and it is not rioting), an unlimited number of resources will be put into construction projects, allowing 1 turn builds of anything (assuming all resource rates are 0).

A final method would be to have no normal space yards. All space yards have small, incremental build values, much like Space Yard Expansion outlined above. You would build them in the same manner as a Space Yard Expansion, though it might be better to call them "Industrial Facilities" or something of that nature, since they are not really expansions anymore. This method changes construction rate to be more gradual. You might wish to lower the base construciton rate without any facilities if you choose to implement this method. Otherwise, you could quite easily see construction rates drop from 2000 to 200 after building the first facility (assuming 200 is the value you chose).


Back to top
Display posts from previous:   
Post new topic   Reply to topic    Spaceempires.net Forum Index -> SEIV Modding FAQ All times are GMT
Page 1 of 1

 
Jump to:  
You cannot post new topics in this forum
You cannot reply to topics in this forum
You cannot edit your posts in this forum
You cannot delete your posts in this forum
You cannot vote in polls in this forum
You cannot attach files in this forum
You can download files in this forum


Powered by phpBB
All logos and trademarks used on this site, all comments and stories posted for reading, all files hosted for download,
and all art work hosted for viewing are property of their respective owners; all the rest copyright 2003-2010 Nolan Kelly.
Syndicate news: SpaceEmpires.net News RSS Feed - Syndicate forums: SpaceEmpires.net Forums RSS Feed
Page Generation: 0.18 Seconds