Topic: Controlling Spacedock  (Read 8181 times)

0 Members and 1 Guest are viewing this topic.

nx_adam_1701

  • Guest
Controlling Spacedock
« on: February 01, 2004, 05:22:17 am »
How can I control the amount of ships generated by the spacedock during the campaign, I was reading in the DITL and saw this
NCC 71099 USS Challenger
(NCC 1701-D USS Enterprise)
NCC 70637 USS Galaxy
USS Magellan
 (NCC 71832 USS Odyssey)
NCC 71867 USS Trinculo
NCC 71854 USS Venture
(NCC 71807 USS Yamato)
 
plus 10 others built in total. 4 have been lost in all. The class remains in production.


I want in my mod for it to be hard to obtain a Galaxy, not only a high BVP, but also very limited in the spacedock, I have other ships to I want to make difficult to get and etc..., so how can I accomplish this, thanks guys



adam out

nx_adam_1701

  • Guest
Re: Controlling Spacedock
« Reply #1 on: February 01, 2004, 06:33:22 am »
Anyone???

Bonk

  • Guest
Re: Controlling Spacedock
« Reply #2 on: February 01, 2004, 07:54:34 am »
Is this SFC3? What is the "DITL"?  

The shipyards are notoriously hard to control. Not sure about the gfs for SFC3, but to control the probability that a ship will be produced in EAW or OP edit the values under [Cost/Ship/Build] in Economy.gf. The empire's economy as determined from the map must be sufficient to produce the desired ships, but exactly how all this works is pretty much a black box. I imagine most of this has carried over to SFC3.

If you want to explicitly control the shipyards then run on SQL, turn off the shipyards altogether, construct the ship records from the shiplist (or capture from the db while the server's shipserver is enabled) then populate the shipyards when and how you desire using a script or program you have written.  

nx_adam_1701

  • Guest
Re: Controlling Spacedock
« Reply #3 on: February 01, 2004, 08:00:24 am »
SFC2 OP DITL Daystrom Institute Technical Library

Bonk

  • Guest
Re: Controlling Spacedock
« Reply #4 on: February 01, 2004, 08:09:33 am »
Oh, you mean: Daystrom Institute Technical Library , thanks - I was confused and thought you were talking about SFC3 and that the DITL was part of SFC3... oops!. In which case my comments on controlling the OP shipyard is the info you are looking for I think.
« Last Edit: February 01, 2004, 08:10:59 am by Bonk »

Toten

  • Guest
Re: Controlling Spacedock
« Reply #5 on: February 01, 2004, 08:24:15 am »
First off I hope you are referring to OP or EAW for D2 play.  What you ask is not possible with SFC3 as it currently exists.

It really sounds like your trying to instill an OOB (Order of Battle), in other words the maximum amount of ships of a class that can be generated by the game logic during a campaign, barring losses.  Correct ?

So for instance if the klingons only ever built one B10, then ONE and ONLY ONE B10 will be available EVER in the campaign?

If this is what you are looking for then the only way to attempt to do this now is as follows...(and its not perfect as the game mechanics dont allow for OOB, we have been trying to replicate one for years now)

1) players are restricted to who can fly what.  In other words, BCH's and bigger can be assigned ships and only certain players can fly them.  When they go poof they ARE NOT ALLOWED to be REPURCHASED regardless if they show in the shipyards or not.  (read here they cant buy a new one till the VC round changes, if your doing that, or some agreed upon conditon happens, like a key planet  for mining of dilithium is found and captured for your race)

2) Ships of a certain type are made rediculously expensive to limit who can afford to buy what.  This is especially painful and effective when ship replacement trade in is set very low.  ie you could lose 100,000 PP when dying in or selling off one DN to get another.  (this tends to lower the "fun factor" however especially with hand of bethke crashes)

3) Play with the ship lists to addend the FYA and LYA (first year available and last year available) to make ships go obsolete in a timely fashion (however the game generated AI doesnt play by the rules no matter how many times you complain to the AI race moderators)

4) Between game rounds (if you set a server up this way) addend the shiplist to REMOVE or ADD ships between rounds to make certain they only exist in the game when you want them to exist.

If you are familiar with the ADB game Federation and Empire (F&E) then OOB is the heart of that game.  An OOB is a relative holy grail for modders for a more realistic game situation to more accurately represent canon SFB general war (or other such campaigns as ISC pacification or the andromedan invasion or the early fed klink wars or etc)  

nx_adam_1701

  • Guest
Re: Controlling Spacedock
« Reply #6 on: February 01, 2004, 08:58:35 am »
WOW, that was alot to grasp lol lol, but i think i get, wait no i dont, im not going to lie to you im completely lost lol lol, i do want to control how many ships are generated in the spacedock during a campaign, I definitely dont want to see 6 defiants and by defiant i mean the one with the cloaking device, not the general ones that were highly produced during the Dominion wars, meanwhile there should only be one of those thru out the game, but im still alittle confused

adam out

Bonk

  • Guest
Re: Controlling Spacedock
« Reply #7 on: February 01, 2004, 09:18:06 am »
This kind of control is just not possible unless you use SQL as outlined above (not released yet...).

You can edit the shiplist. (remove ships, restrict ships, edit dates available etc...) and edit the values under [Cost/Ship/Build] in Economy.gf. That is all the control over the shipyard that is available without SQL.  

Toten

  • Guest
Re: Controlling Spacedock
« Reply #8 on: February 01, 2004, 09:21:29 am »
Quote:

WOW, that was alot to grasp lol lol, but i think i get, wait no i dont, im not going to lie to you im completely lost lol lol, i do want to control how many ships are generated in the spacedock during a campaign, I definitely dont want to see 6 defiants and by defiant i mean the one with the cloaking device, not the general ones that were highly produced during the Dominion wars, meanwhile there should only be one of those thru out the game, but im still alittle confused
adam out  




Adam,

I am trying to be helpful to you.  Can you rephase what your need is please?  What specificallly about the base generation do you want to control.

If you refer to the ships that show up during say a "base defense" mission on your side then you are out of luck as the game script selects the ships that show.  It is hard coded into the mission scripts (actually what shows in some scripts is based upon some factor related to the current BPV of the ship you are currently when u run the mission).  

nx_adam_1701

  • Guest
Re: Controlling Spacedock
« Reply #9 on: February 01, 2004, 09:29:48 am »
Okie dokie, ok lets say when you start a campaign, and you click on shipyard, the ships listed there, the ones you can purchase, is there a way to control the ships on that list

adam out

Bonk

  • Guest
Re: Controlling Spacedock
« Reply #10 on: February 01, 2004, 09:46:27 am »
Yes, if you do not want them to appear at all you can restrict them or remove them from the shiplist. If you want to control when they can appear then edit the years available in the shiplist for the ship concerned.

There is no way to guarantee that a ship in the shiplist will indeed show up in the yards or how many times. To control the odds that a ship of a particular class type will be produced edit the values under [Cost/Ship/Build] in Economy.gf. The odds of a ship being produced then depend on these values and the economy of the empire concerned.

As far as I know, that is all you can do.

OoB servers on the flatfile have been achieved by admins sitting in front of the accelerated and unrestricted shipyard for hours at end to purchase the ships assigned to particular characters.

The only way to control the shipyard exactly is to turn off the ship server in the serverkit while running on SQL and edit the shipyards in the db directly. But we cannot do this until Empires has finished and Dave is satisfied with the data collected, at which time the SQL serverkit for OP will be released. This will not help with the singleplayer game however.    

nx_adam_1701

  • Guest
Re: Controlling Spacedock
« Reply #11 on: February 01, 2004, 09:58:26 am »
ahhhh ha, I got it, thanks bonk, and  you too toten, i apprecaite your patience, i know i could be confusing at time lol,   thanks


adam out

nx_adam_1701

  • Guest
Re: Controlling Spacedock
« Reply #12 on: February 01, 2004, 10:09:08 am »
BONK, how does the shipcost and balance thing work out in the shiplist, whats the mathematics and stuff, basically how is it calculated, i would like to know because I just realized in my mod, that the BVP of my Akira Class is higher than that of my Excelsior Class, but when it comes to buying the ships, the Excelsior is more expensive than that of the Akira which to me makes no sense because the Akira is much more powerful, ok I went rambling of there, lol so....


adam out

Bonk

  • Guest
Re: Controlling Spacedock
« Reply #13 on: February 01, 2004, 10:32:32 am »
Here is the code to determine the price of a ship from one of my php scripts:

 Code:
// Price calc notes: *$MinimumBidFactor is from mapcfg.php/economy.gf 
// and the *$Cost_Difficulty is from mapcfg.php/economy.gf
echo ("<br>Next Bid: ");
If($IsInAuction[$i] ==0) {
$bid = intval($BPV[$i]*$classcostmod[$ClassType[$i]]*$MinimumBidFactor*$Cost_Difficulty) + 5;
echo $bid;  



Allow me a few moments to translate...
« Last Edit: December 31, 1969, 06:00:00 pm by Bonk »

nx_adam_1701

  • Guest
Re: Controlling Spacedock
« Reply #14 on: February 01, 2004, 10:33:52 am »
np, thx

seems complicated

adam out

Bonk

  • Guest
Re: Controlling Spacedock
« Reply #15 on: February 01, 2004, 10:42:43 am »
...here ya go:

Price (PP) = (BPV * ClassCostModifier * MinimumBidFactor * Cost_Difficulty) + 5

Where:

BPV = self explanatory

ClassCostModifier = modifier for the cost of a ship based on the ship's class as specified under [Cost/Ship/ClassType] in Economy.gf

MinimumBidFactor = MinimumBidFactor from Economy.gf under [General]

Cost_Difficulty  = the cost multiplier for the server's difficulty setting as specified under [Cost/Difficulty] in Economy.gf

The +5 is there to mimic the "+5" bid button in the shipyard.  

Toten

  • Guest
Re: Controlling Spacedock
« Reply #16 on: February 01, 2004, 10:55:23 am »
Adam,

I would suggest u email pelican or read some of his posts (hes a genious).

He has spent significant time and effort to play with just these settings, also you could ask the FLUFBOT2004.

That said....

Ships generated come in the yards based upon several factors that are driven by the server pack.  (now from my understandings, not complete of course)

First CLASS
we have FF DD CL CA DN BB and BASE
each of these has a base number for the hull type this is a settable number (eg a FF may be 1000 but a DN 1000000)
this number is multiplied by factors for that hull as set out in the xxxItems.gf files this gives a SALE price for the ship
each class has so many models associated with it (eg u may have 20 FF models but 1 BB model)

Second GENERATION of SHIPS
each empire has an economy associated with it at any point in time (ie how may hexes does it own and what are they worth as set out in how you configure ur map, eg an asteroid hex could be econ 1000 but a colony planet econ 10
this econ is totalized by the server pack each sweep for restocking the yards for that empire, the number of ships of each CLASS attempted is a setable factor.
the generation of ships is by CLASS with a factor that is setable assigned to it (eg for FF class it could be 0.1 but DN could be 0.0001)  so a FF slot on the yards would be "made" 10% of the time the yards refresh
you can see this if you give a high PP starting to people and let them "buy" out the yards (this is a tactic used by some to turn over the yards quicker to make slots fill up faster)
these factors by CLASS are multiplied by the econ to give the chance of a ship CLASS being produced
the TYPE of ship WITHIN the CLASS made is a function of how many ships are in the class, so if you have 20 FF models in the game then if a FF is made then each FF model has a 5% chance of being the ONE made for that generation, if you only have one BB model then every time a BB is successfully generated it will be of the only BB model, a reman BB for example.
there are more factors here but you should be getting the jist

Third GENERATION SITES
AI will spawn based upon the numbers of available planets and Star Bases, and there is other factors that can be adjusted for aggression, and spawn rates

Fourth Availabilitiy
SFC3 (unlike SFC2 EAW or OP) does not have dates when models become active or inactive (the aforementioned FYA and LYA) as such ANY ship within the CLASS models is up for generation.  So if you have superior and inferior DNs for example expect the players to migrate as they become available towards the better hulls within the class.  Why fly a Galaxy when u can fly a Sov?
this was the intent of the bidding buttons in the yards, however organized players DO NOT OUT BID each other for purchase of these hulls, as it only hurts your empire by wasting PP



The long and short is....

Maps drive econ which drives probability chance slots to generate ship hulls of the classes on planets or bases.

You cannot restrict the chance of making a hull within a CLASS but you have the ability to restrict the probability of making the hull CLASS itself, not quite the same but equally effective.

You can restrict the econ.  You can restrict the slots.  You cannot restrict what the game fills those slots with within a class.


If you wish to limit your campaign OOB then the only way you can do so now is to have breaks within the campaign (we tend to use the babble speak "VC rounds" Victory Conditions).

During the break between rounds post a new ship listing for download, reset the server and let the fun begin anew.  As you can reset and tweak all the ship generation and availability settings.

HOWEVER ALL PLAYERS WILL LOSE THEIR ACCOUNTS (this is not so bad if you spot everyone say 100,000 PP instead of a lower PP from the previous rounds).  That way they can buy immediately the newly avaible BCH or what ever that they "upgraded" from in the previous rounds.

EG....
Round one - the game is played out for a finite period of time and the victory conditions are counted to declare a round one winner.
The ONLY klingon DN in round one is a C5 that is available for purchase

Round two - server is reset and eveyone is spoted 100K, the C5 is removed fromt the ship listings and is replaced with the C9.  The C5 is no longer available as it has been removed from the server settings and will not be available for generation in the yards, but the C9 would be.

Round three - again reset server n spot everyone say 200K, the C9 is removed and replaced with the C19.

What this would do is replicate weapons systems progression (the actual weapons effectiveness and other settings could actually be changed also).  Ship hull design progression.  The creative licence opportunities are endless.

hope this helps somewhat.  

nx_adam_1701

  • Guest
Re: Controlling Spacedock
« Reply #17 on: February 01, 2004, 11:46:05 am »
I think I got it, but can you give like an example of a ship and stuff pretty please  

thanks


adam out

Bonk

  • Guest
Re: Controlling Spacedock
« Reply #18 on: February 01, 2004, 12:20:18 pm »
Lets see, using the Fed CA from the stock shiplist at a BPV of 125 and a class of HEAVY_CRUISER using the default Economy.gf settings in the stock serverkit  on a server set to commodore difficulty (1) would cost:

Price (PP) = (BPV * ClassCostModifier * MinimumBidFactor * Cost_Difficulty) + 5

Price (PP) = (125 * 2.0 * 6.0 * 1.0) + 5 = 1505 PP

 

Toten

  • Guest
Re: Controlling Spacedock
« Reply #19 on: February 01, 2004, 01:19:58 pm »
Adam,

I am at work right now (yeah I know sunday) and am doing this from memory.

I would suggest that you email pelican and as him for some examples, or email Fluf.  They would be in a position to answer some questions for you today.