View previous topic :: View next topic |
|
Author |
Message |
Dasher42
Lieutenant Commander


Age: 34
Zodiac: 
Joined: 01 Mar 2002
Posts: 581

|
|
|

|
|
|
I'd like the programmers among you to have a look at one of the key parts of the coming FTB release. Foundation Tech is the heir apparent to ATP, as Apollo and I have agreed to transfer ATP3's technologies to Foundation Tech and then focus together on Dimensions.
What makes it different is that it follows the model of the Foundation; it provides a simple, stable library of functions that can easily be extended. The code reuse is its key advantage. Virtually any weapon effect can be simulated with a simple plugin. You'll be able to download ships with special abilities not seen before.
Strictly as an example, look how easily you can code a spread torpedo if you're so inclined! Just put this at the end of your new projectile of uber-doom.
Code: | #################################################################################
# Foundation Technologies, copyright 2004 by Daniel Rollings AKA Dasher42
import FoundationTech
import ftb.Tech.TimedTorpedoes
oFire = ftb.Tech.TimedTorpedoes.MIRVMultiTargetTorpedo('Mk4 Multi Target', {
'spreadNumber': 4,
'spreadDensity': 7.0,
'warheadModule': 'ftb.Projectiles.FTBMk4PhotonTorpedo',
'shellLive': 0,
})
FoundationTech.dOnFires[__name__] = oFire
|
How about random disabling effects?
Code: | from ftb.Tech.DisablerYields import *
oYield = RandomDisableDef('Random Disable', {
'lYields': [
# TechDef Instance, Time, Chance
(oSensorDisable, 10, 20),
(oWarpDisable, 10, 20),
(oImpulseDisable, 10, 20),
(oShieldDisable, 10, 20),
(oCloakDisable, 10, 10),
(oPowerDisable, 10, 10),
]
})
FoundationTech.dYields[__name__] = oYield |
Standard examples will be provided that only require the editing of strings to use predefined effects.
Furthermore, improved TriggerDefs are joined by TimerDefs and EventQueueDefs, which encapsulate more complex BC functions and tie them all together in ShipInstance objects, one of each appears per ship in the game. Commonly reimplemented functions are taken care of, leaving you to code specifically for your desired effect.
Yes, it works to an extent in multiplayer. Technologies like splitting torpedoes work, but ablative armour and Breen dampers have issues. This is on my list of things to fix, if possible.
It is my intent to release the working version together with FTB 1.0 very soon, and merge it with the most popular script mods by consenting authors to form a new community platform for Bridge Commander. MLeoDaalder and I are putting the final touches of AI-enabled inaccurate phasers, pioneered by Sneaker, as a standard component of Foundation Tech.
You can grab the file here. It's more to look at than to run, but I think the community will find this new API very appealing.
http://zenonline.com/~dasher/FoundationTechPreview.zip
Feedback is very welcome.
|
_________________ We've secretly replaced their dilithium with Folger's crystals!...
|
|
Back to top |
|
 |
Atlantis
Cold Front Centurion


Age: 23
Zodiac: 
Joined: 05 Feb 2004
Posts: 410
Location: Stoke, UK

|
|
|

|
|
|
Questron: Will this new fountation tech be a separate download, with the tech/weapons being downloaded as modules, etc, or will the whole thing only be available through mods like FTB?
|
_________________

|
|
Back to top |
|
 |
Dasher42
Lieutenant Commander


Age: 34
Zodiac: 
Joined: 01 Mar 2002
Posts: 581

|
|
|

|
|
|
Atlantis wrote: | Questron: Will this new fountation tech be a separate download, with the tech/weapons being downloaded as modules, etc, or will the whole thing only be available through mods like FTB? |
You'll see it with FTB first. A generalized SDK will come out for download later.
Here's something someone was interested in: how to attach technologies to ships as opposed to projectiles. You just add a line like this to the ShipDef file:
Code: | Foundation.ShipDef.FTBSovereign.dTechs = { 'Ablative Armour': 5000, 'Regenerative Shields': 9.0 } |
The number's interpretation is subject to the plugin. Keep in mind that if you are coding for multiplayer, you had best keep these things outside of scripts/Custom.
|
_________________ We've secretly replaced their dilithium with Folger's crystals!...
|
|
Back to top |
|
 |
Thunder
Lieutenant JG


Joined: 22 Dec 2003
Posts: 275
Location: Manchester UK

|
|
|

|
|
|
I heard that your doing something with the foundation to do wit hwhen you add ships QB they get added to MP SP. Is this true ?
|
|
|
Back to top |
|
 |
Legion
Lieutenant


Age: 32
Zodiac: 
Joined: 23 Apr 2003
Posts: 351
Location: UK, Terra

|
|
|

|
|
|
Wow, looks interesting, i can't wait to see more about this!
One quick question though, is this compatible with the recently released reworked launching system / tech framework?
|
|
|
Back to top |
|
 |
Dasher42
Lieutenant Commander


Age: 34
Zodiac: 
Joined: 01 Mar 2002
Posts: 581

|
|
|

|
|
|
Legion wrote: | Wow, looks interesting, i can't wait to see more about this!
One quick question though, is this compatible with the recently released reworked launching system / tech framework? |
I'm working on that as we speak. So far, so good.
|
_________________ We've secretly replaced their dilithium with Folger's crystals!...
|
|
Back to top |
|
 |
Dasher42
Lieutenant Commander


Age: 34
Zodiac: 
Joined: 01 Mar 2002
Posts: 581

|
|
|

|
|
|
Thunder wrote: | I heard that your doing something with the foundation to do wit hwhen you add ships QB they get added to MP SP. Is this true ? |
Multiplayer, yes, though multiplayer missions need to be tweaked manually to activate specific mutators. This is actually a good thing, to make sure the game stays consistent. I've just made it a lot easier to set up.
Single player is something I've done before. Last time around I faced crashes with mismatched hardpoints and got tired of it. I've fixed that, now; I *can* set up a mutator to change ship selections in single player. On the other hand, some addons like MVAM are a bit too hardwired for the mutator approach, which is unfortunate.
At least Durandal has gotten a mutator-driven approach which he can use for his hardpoints.
We will remedy this.
|
_________________ We've secretly replaced their dilithium with Folger's crystals!...
|
|
Back to top |
|
 |
elminster
Commodore


Age: 34
Zodiac: 
Joined: 12 Dec 2002
Posts: 995
Location: Yorkshire, England

|
|
|
|
Back to top |
|
 |
Dasher42
Lieutenant Commander


Age: 34
Zodiac: 
Joined: 01 Mar 2002
Posts: 581

|
|
|

|
|
|
elminster wrote: | The ATP tech assignments for ships will be a lot easier to add and customise using thise arrangement. This looks really flexible which will be great for HPers like me.
How does the HP setup by Mutator work?
I assume it allows you to switch ship HP sets just by the use of mutator buttons? |
The HP setup uses a FolderDef, a type of Foundation MutatorElement object that can look up a ship or hardpoint from an ordered list of folders. It is usually a good substitute for direct loads from ships.*.
|
_________________ We've secretly replaced their dilithium with Folger's crystals!...
|
|
Back to top |
|
 |
elminster
Commodore


Age: 34
Zodiac: 
Joined: 12 Dec 2002
Posts: 995
Location: Yorkshire, England

|
|
|
|
Back to top |
|
 |
Dasher42
Lieutenant Commander


Age: 34
Zodiac: 
Joined: 01 Mar 2002
Posts: 581

|
|
|

|
|
|
elminster wrote: | Excellent.
Ok on a slightly different note, how will it handle ship hp's that are set up for older versions of ATP?
For example if I have the old Life Support system, I added a hull property for it to use it.
If I add it using Foundation Tech, will it try and create a new hull property, conflict and crash, not work at all, duplicate the feature, etc.
Basically will there be any odd behaviour?
I don't relish the prospect of changing all my old ATP enabled HP's. |
Currently, life support hasn't been ported. Personally, it falls along with sensor arrays with things that I consider so spread out and redundant on most ships that a single hardpoint doesn't make sense. However, some circumstances definitely warrant losing it.
So, I am considering reimplementing this. Leave the hardpoints as they are, they'll be compatible.
|
_________________ We've secretly replaced their dilithium with Folger's crystals!...
|
|
Back to top |
|
 |
elminster
Commodore


Age: 34
Zodiac: 
Joined: 12 Dec 2002
Posts: 995
Location: Yorkshire, England

|
|
|
|
Back to top |
|
 |
MLeo
Fleet Admiral

Age: 22
Zodiac: 
Joined: 26 Nov 2002
Posts: 11439
Location: Netherlands

|
|
|

|
|
|
Quote: | How easy will it be to change the playability of a ship (sluggish controls, reduced sensor range, flickering hud, loss off communications etc.) through this? |
We can disable any system for a specific period of time.
See the first post of Dasher for an example which is using this.
|
_________________
How to beat the Black Screen Of Death and Script problems Also handles Console/Screen/Error report/dump.
BC Technical FAQ [Last updated 26/12/2005]
"Trust me, I'm a con artist" - Moist von Lipwig, "Going Postal, Discworld"
|
|
Back to top |
|
 |
elminster
Commodore


Age: 34
Zodiac: 
Joined: 12 Dec 2002
Posts: 995
Location: Yorkshire, England

|
|
|

|
|
|
Ok, but can you reduce the efficiency of a system rather than just switching it on or off?
I suppose making the lcars blink on and off randomly can already be done (for computer damage say), but what about the player HUD?
Would it be possible to have dependant systems?
Using the Example above;
Computer Core (Root System)
Specific dependant sub-systems;
-Sensor Array (Sub-system)
-Warp Engines (Sub-system)
-Impulse Engines (sub-system)
-Engineering/Repair System (Sub-system)
-Life Support (Sub-system)
-Shields (Sub-system)
Generic dependant sub-systems;
-AI Weapon Control
-Torpedo Reload/Phaser Recharge rate
-Power Output/Calibration (Reduced Power/Grey Mode)
-Any Ship Foundation Techs that rely on the computer to operate.
All the above have partial or complete dependancy on a ships computers, so in theory, if the computer is damaged, destroyed or is otherwise impaired, the dependant subsystems would be disabled or run at reduced efficiency.
You could also have cross dependancies.
For example a ship can't go to warp without a Computer or Warp Core (if its ejected for example)
Ejecting the warp core would affect the power, which would in turn affect the efficiency of the Computer....
What I'm trying to do is get an idea of how flexible the system is, and pre-empt people asking for this (as they undoubtably will), and then having to mod it in later.
If this functionality can be put in, or at least provision made for it, it will allow for 'realistic' subsystems, and a more tactical approach for combat.
|
_________________
Dominion Wars Mod Pack
http://dynamic3.gamespy.com/~bridgecommander/phpBB/viewtopic.php?t=17601
|
|
Back to top |
|
 |
Jeffrey Walker
Captain


Age: 24
Zodiac: 
Joined: 09 Dec 2002
Posts: 1129
Location: Homosassa, Florida, United States of America, Earth, Sol System, Sector 001

|
|
|

|
|
|
If I install this it wont screw over my 600+ ship install of BC will it. I dont wanna make a new install cause I have way to much to get back if I did that.
|
_________________

|
|
Back to top |
|
 |
Defiant
Free "as in Free Speech" Engineer Admiral


Age: 26
Zodiac: 
Joined: 27 Jan 2003
Posts: 2337
Location: Hamburg, Germany

|
|
|

|
|
|
Jeffrey Walker wrote: | If I install this it wont screw over my 600+ ship install of BC will it. I dont wanna make a new install cause I have way to much to get back if I did that. |
Just make a backup of your scripts/ -Folder to be on the save way.
|
_________________ BC Modification Kobayashi Maru
--
Whenever you find that you are on the side of the majority, it is time to reform.
-- Mark Twain
|
|
Back to top |
|
 |
Mark
Co-Founder, 3rd Era Admiral


Age: 23
Zodiac: 
Joined: 02 Nov 2003
Posts: 4357
Location: Staffordshire, UK

|
|
|

|
|
|
elminster wrote: | Ok, but can you reduce the efficiency of a system rather than just switching it on or off?
I suppose making the lcars blink on and off randomly can already be done (for computer damage say), but what about the player HUD?
|
i wouldnt be too sure about the lcars, its built into the soveriegn bridge but thats about it. also if you do have a computer core, you will have to make sure it is highly shielded... just look at the pounding the ent E got in nemesis and its computer core was still up and running
|
_________________

|
|
Back to top |
|
 |
Dasher42
Lieutenant Commander


Age: 34
Zodiac: 
Joined: 01 Mar 2002
Posts: 581

|
|
|

|
|
|
elminster wrote: | Ok, but can you reduce the efficiency of a system rather than just switching it on or off?
I suppose making the lcars blink on and off randomly can already be done (for computer damage say), but what about the player HUD?
...
If this functionality can be put in, or at least provision made for it, it will allow for 'realistic' subsystems, and a more tactical approach for combat. |
That's the very idea here.
See, there are a bunch of mods floating about, and they're coded against the bare minimum of support that's there with Stock BC + Foundation. They *should* interact with each other, but they usually don't.
Foundation Tech matches each BC ship object with a ShipInstance object which can track all this, and detects common and relevant events and dispatches them to routines along with references to both the ship and ShipInstance. Those functions have everything they need to know about the ship right there.
A unified approach is just what we need to get these mods on the same page.
|
_________________ We've secretly replaced their dilithium with Folger's crystals!...
|
|
Back to top |
|
 |
Durandal
Commodore

Joined: 29 May 2002
Posts: 909
Location: Tau Ceti

|
|
|

|
|
|
Dasher, on behalf of hardpointers everywhere let me just thank you for this brilliant system. Your experience and expertise is invaluable to the BC community, and even if we don't show it quite enough sometimes, we appreciate it greatly. If there's any way I can help you out, don't hesitate to ask me by PM or MSN.
|
_________________ "Count Roland smites upon the marble stone;
I cannot tell you how he hewed it and smote;
Yet the blade breaks not nor splinters, though it groans;
Upward to heaven it rebounds from the blow.
When the count sees it never will be broke,
Then to himself right softly he makes moan;
'Ah, Durandal, fair, hallowed, and devote,
What store of relics lies in thy hilt of gold!'"
-From The Song of Roland
(Translated by Dorothy Sayers, Viking Penguin, NY, NY, 1957)
|
|
Back to top |
|
 |
Dasher42
Lieutenant Commander


Age: 34
Zodiac: 
Joined: 01 Mar 2002
Posts: 581

|
|
|

|
|
|
Durandal wrote: | Dasher, on behalf of hardpointers everywhere let me just thank you for this brilliant system. Your experience and expertise is invaluable to the BC community, and even if we don't show it quite enough sometimes, we appreciate it greatly. If there's any way I can help you out, don't hesitate to ask me by PM or MSN. |
Thank you! It's nice to hear that!
*chuckles* Right now I'm working on generic base code for technologies that have their own health gauge. Ablative armour is the common example, but my coming implementation of metaphasic shielding will need it. See, it's not enough to have that graph. Our ablative armour also boosts the threshhold to punch holes in the ship, and having all this doable strictly as a plugin is a good test of Foundation Tech's capability.
Writing more generic, reusable code takes some forethought so I would like some feedback on the most valuable technologies in ATP3 or a (reasonable) wish list.
Here's what's on my own wish list:
Interaction of "Deflector Dish" hardpoints with long range scans
Tractor beams that are blocked by shields
Borg adaptation technology (think ablative armour on crack)
Shield modulations: I'm thinking a certain number of subharmonics that you could toggle that could make shields more effective versus certain weapons, but decrease overall strength
Particle beams! I'd like to have them require a certain amount of power from the battery to even activate, and then you get one shot after charging up.
You get the idea. Think in particular towards technologies that non-Federation races would have, because I'd like them to become more interesting and varied opponents.
|
|
|
Back to top |
|
 |
Atlantis
Cold Front Centurion


Age: 23
Zodiac: 
Joined: 05 Feb 2004
Posts: 410
Location: Stoke, UK

|
|
|

|
|
|
Quote: | Computer Core (Root System)
Specific dependant sub-systems;
-Sensor Array (Sub-system)
-Warp Engines (Sub-system)
-Impulse Engines (sub-system)
-Engineering/Repair System (Sub-system)
-Life Support (Sub-system)
-Shields (Sub-system)
|
About the computer core thing: I was thinking perhapsit would be applicable to use that with the Breen Dampening Weapon, so it disables Computer core, and along with that, all the dependant systems.
Not just the Breen weapon, but making it so only specific weapons can get to the Computer Core easily, other weapons take a long time due to the shielding and hull.
|
_________________

|
|
Back to top |
|
 |
Dasher42
Lieutenant Commander


Age: 34
Zodiac: 
Joined: 01 Mar 2002
Posts: 581

|
|
|

|
|
|
Atlantis wrote: | Not just the Breen weapon, but making it so only specific weapons can get to the Computer Core easily, other weapons take a long time due to the shielding and hull. |
Since these are hardpoints with no actual hard-coded function and no necessary single placement, I tend to think that they should be "virtual hardpoints", existing in Foundation Tech but not on the ship. They're there for interesting effects.
|
_________________ We've secretly replaced their dilithium with Folger's crystals!...
|
|
Back to top |
|
 |
elminster
Commodore


Age: 34
Zodiac: 
Joined: 12 Dec 2002
Posts: 995
Location: Yorkshire, England

|
|
|
|
Back to top |
|
 |
Legion
Lieutenant


Age: 32
Zodiac: 
Joined: 23 Apr 2003
Posts: 351
Location: UK, Terra

|
|
|

|
|
|
woah, that's sounding pretty revolutionary!
and anything that goes towards unifying individual mods gets the thumbs up from me!
you guys rule.
|
|
|
Back to top |
|
 |
elminster
Commodore


Age: 34
Zodiac: 
Joined: 12 Dec 2002
Posts: 995
Location: Yorkshire, England

|
|
|
|
Back to top |
|
 |
jimmy_K
Cadet 3rd Class

Age: 20
Zodiac: 
Joined: 12 Mar 2005
Posts: 34
Location: in the cupboard with some girl :D

|
|
|

|
|
|
elminster wrote: | Durandal wrote: | Dasher, on behalf of hardpointers everywhere let me just thank you for this brilliant system. Your experience and expertise is invaluable to the BC community, and even if we don't show it quite enough sometimes, we appreciate it greatly. If there's any way I can help you out, don't hesitate to ask me by PM or MSN. |
What he said
This will make life so much easier! |
heh, my kind of words man, easy livin' baby!!!
|
_________________ a broken clock is right twice a day!! (disagree? then try to disprove it chum. use both sides of the paper if needed (cant be buggered to spell necesary).
|
|
Back to top |
|
 |
Sim Rex
Moderator


Age: 26
Zodiac: 
Joined: 11 Apr 2002
Posts: 1714

|
|
|

|
|
|
jimmy_K wrote: | heh, my kind of words man, easy livin' baby!!! |
I don't mind thread resurrections when they are on topic, make some kind of valid contribution, or ask a sensible question.
This is just spam. Please don't do it again.
|
_________________ "Could it be it's the end of our world? All the things that we cherish and love
Nothing left but to face this all on my own, cause I am the chosen one!"
-- The Fallen Angel - Iron Maiden(Smith/Harris)
For beginner scripters - The BCU Mission Scripting Lessons
|
|
Back to top |
|
 |
Ambassador
I'm me, myself, and I. Admiral


Age: 18
Zodiac: 
Joined: 19 Aug 2004
Posts: 2407
Location: Dominion of Canada

|
|
|

|
|
|
Since ATP Dimensions is dead, does this mean that FoundationTech is dead too?
|
_________________

|
|
Back to top |
|
 |
Nebula
CA/KM/BCS:TC Mod Team Member Moderator


Age: 22
Zodiac: 
Joined: 04 Oct 2002
Posts: 21131
Location: Michigan

|
|
|
|
Back to top |
|
 |
Dragon
TERTIARY X-1


Age: 25
Zodiac: 
Joined: 30 Mar 2004
Posts: 803
Location: UK Stoke-on-Trent

|
|
|
|
Back to top |
|
 |
|