Hard Light Productions Forums

Modding, Mission Design, and Coding => FS2 Open Coding - The Source Code Project (SCP) => Topic started by: Kazan on October 14, 2003, 04:20:53 pm

Title: Species handling upgrades
Post by: Kazan on October 14, 2003, 04:20:53 pm
I'm poking around with making 8 different species

the Existing Three

Terran
Vasudan
Shivan

and adding 5
Ancients
User1
User2
User3
User4


obviously this is just for icons and whatnot
Title: Species handling upgrades
Post by: Nico on October 14, 2003, 04:25:19 pm
does each species have their own engine sound/thruster ani/support ship, etc?
Title: Species handling upgrades
Post by: Flaser on October 14, 2003, 04:26:00 pm
What would be the default colors?
Title: Species handling upgrades
Post by: Kazan on October 14, 2003, 04:53:11 pm
flaser: not yet determined
venom: not sure yet
Title: Species handling upgrades
Post by: Kazan on October 14, 2003, 04:55:34 pm
there is an interesting unused feature

each individual species can have it's own shield anim
Title: Species handling upgrades
Post by: Nico on October 14, 2003, 04:59:38 pm
really?
Title: Species handling upgrades
Post by: Kazan on October 14, 2003, 05:08:12 pm
yep

[btw if putting everything in #ifdefs keying to "MORE_SPECIES"]

i am also moving a bunch of hardcoded sh1at out into a new table species_def.tbl
Title: Species handling upgrades
Post by: Taristin on October 14, 2003, 05:20:34 pm
What do you mean 'it's own shield anim'?


The shieldhit ani?
Title: Species handling upgrades
Post by: Liberator on October 14, 2003, 05:23:16 pm
One would asume that he meant that the shivans can have one, the Vasudans can have a different one, and the Terrans can have yet a different one.

Why you'd want to do this is anyone's guess, since T&V Sheild tech was derived from Shivan tech.
Title: Species handling upgrades
Post by: Falcon on October 14, 2003, 05:25:02 pm
Could each of the species have different attributes?
I'd like to see that.
example: Terrans have fast ships, Vasudan ships yield more energy, Shivans...
Title: Species handling upgrades
Post by: Taristin on October 14, 2003, 05:25:22 pm
You know that that isn't clarifying it any better...

The shivans can have one 'what'? Hit anims?  And if it is so, then you're argument is easily mooted; The technology has been altered in the 30 years since the original reverse engineering. :p

Why do you think Vasudans are grren, Terrans are blue/white, and shivans are red?
Title: Species handling upgrades
Post by: Kazan on October 14, 2003, 05:28:15 pm
Falcon: you do that by manipulating the ships....

different species can have different shield hit anims
each species has it's own debris texture as well

not to mention each species has it's own set of briefing icons - 35 icons  each - so if you set "$NumSpecies: 3" you can leave your icons.tbl alone

but if you change the number you have to modify your icons.tbl to compensate
Title: Species handling upgrades
Post by: Falcon on October 14, 2003, 05:44:24 pm
Hmmm maybe not the shivans more like the terrans and vasudans having a unique feature. I'll leave the shivans out they already have better beam cannons.

Where do I get access to table files though...
[starts to think then smells smoke]
Title: Species handling upgrades
Post by: Kazan on October 14, 2003, 06:00:31 pm
*points Falcon tword the FreeSpace Modding Forum* go ask your questions there, they don't belong here
Title: Species handling upgrades
Post by: Kazan on October 14, 2003, 06:39:20 pm
the "#Flyby Sounds Start" section of the sounds.tbl will also obviouslly have to be altered to match what the species_defs table sets up

BTW: You can rename the species to what-ever-the-frell-you-want
Title: Species handling upgrades
Post by: WMCoolmon on October 14, 2003, 07:33:03 pm
Quote
Originally posted by Falcon
Hmmm maybe not the shivans more like the terrans and vasudans having a unique feature. I'll leave the shivans out they already have better beam cannons.

Where do I get access to table files though...
[starts to think then smells smoke]


http://homepage.ntlworld.com/karajorma/freespace/modding.html
Title: Species handling upgrades
Post by: Kazan on October 15, 2003, 01:02:23 am
wow.. there are a lot of hardcoded references to volitions definition of MAX_SPECIES_NAMES (ie the number of species) which have been hardcoded at 3 instead of making reference to the define... gar
Title: Species handling upgrades
Post by: Kazan on October 15, 2003, 01:27:32 am
(http://www.deepbluebettas.com/Fs2Open/fred2ancients.jpg)


look very carefully at the Knossos entry...
Title: Species handling upgrades
Post by: Goober5000 on October 15, 2003, 01:33:01 am
Cool. :yes:
Title: Species handling upgrades
Post by: Kazan on October 15, 2003, 01:41:59 am
yes.. but for some reason it's causing a problem with model loading - hack hackage detected
Title: Species handling upgrades
Post by: aldo_14 on October 15, 2003, 04:17:36 am
Neat.  Guess you'll have to hack over the hacks though then, eh(?)
Title: Species handling upgrades
Post by: karajorma on October 15, 2003, 07:36:28 am
One thing Kazan. Are you just fiddling with the species or are you also going to fiddle with the teams?

I ask cause having 8 species is only going to be of limited use if you're still limited to friendly, hostile, neutral and unknown.
Title: Species handling upgrades
Post by: SuperCoolAl on October 15, 2003, 07:41:03 am
Quote
Originally posted by Kazan
there is an interesting unused feature

each individual species can have it's own shield anim


this is already implemented, hasn't anyone noticed that vasudan shields are greenish?
Title: Species handling upgrades
Post by: Taristin on October 15, 2003, 07:44:57 am
I thought my complaining cleared this up...

If not, Kazan did:
Quote
Originally posted by Kazan
different species can have different shield hit anims
each species has it's own debris texture as well
 
Title: Species handling upgrades
Post by: Goober5000 on October 15, 2003, 08:02:08 am
Quote
Originally posted by karajorma
One thing Kazan. Are you just fiddling with the species or are you also going to fiddle with the teams?

I ask cause having 8 species is only going to be of limited use if you're still limited to friendly, hostile, neutral and unknown.


I was thinking about tackling that myself.

Note, this is still thinking about it.  It may be awhile yet before it shows up. :)
Title: Species handling upgrades
Post by: Kazan on October 15, 2003, 09:19:26 am
im not going to touch teams for now
Title: Species handling upgrades
Post by: Lightspeed on October 15, 2003, 09:58:42 am
Quote
Originally posted by SuperCoolAl


this is already implemented, hasn't anyone noticed that vasudan shields are greenish?


its the same ani for all ships, only the colour is changed.
Title: Species handling upgrades
Post by: Kazan on October 15, 2003, 10:30:45 am
almost forgot about each species thruster stuff
Title: Species handling upgrades
Post by: Kazan on October 15, 2003, 10:44:12 am
ooh nice.. going through the ship loading stuff - and I was going to make it so you could override the species-default thruster stuff, apparently you already can!
Title: Species handling upgrades
Post by: Kazan on October 15, 2003, 10:50:51 am
alright :D missions work again!

just gotta add the thruster stuff to species_defs.tbl after class
speaking of class i need to go now.. ttyl
Title: Species handling upgrades
Post by: Kazan on October 15, 2003, 02:26:08 pm
BTW: if you do not have a species_defs.tbl it will load a "Default" one which is hardcoded in.
Title: Species handling upgrades
Post by: aldo_14 on October 15, 2003, 03:11:51 pm
Quote
Originally posted by Kazan
im not going to touch teams for now


I'd say that's a good idea...I'm not sure exactly how you could have a mission with >4 teams without it descending into utter anarchy.... unless that was the point.
Title: Species handling upgrades
Post by: StratComm on October 15, 2003, 03:23:42 pm
I think that if all 4 teams could shoot at each other, you'd pretty much have your anarchy right there.  And they all show as hostile anyway, so I can't really see the value in doing this.
Title: Species handling upgrades
Post by: Kazan on October 15, 2003, 03:32:50 pm
upgrade the teams/radar code so that not all the other teams show up hostile
Title: Species handling upgrades
Post by: aldo_14 on October 15, 2003, 03:36:19 pm
I presume we'll also have flyby sounds and soforth?
Title: Species handling upgrades
Post by: Kazan on October 15, 2003, 03:55:57 pm
yeah obviously

here is the "Default" species_defs.tbl (which is also the fallback one which is hardcoded)

it is a WIP at this point and may have additional data added to it in the future

Code: [Select]


; -----------------------------------------------
; Species_defs.tbl
; Derek "Kazan" Meek
; FS2 Open Species table
;
; -----------------------------------------------

#SPECIES DEFS

$NumSpecies: 3

;------------------------
; Terran
;------------------------
$Species_Name: Terran
+Debris_Texture: debris01a
+Shield_Hit_ani: shieldhit01a
$ThrustAnims:
+Pri_Normal: thruster01
+Pri_Afterburn: thruster01a
+Sec_Normal: thruster02-01
+Sec_Afterburn: thruster02-01a
+Ter_Normal: thruster03-01
+Ter_Afterburn: thruster03-01a
$ThrustGlows:
+Normal: thrusterglow01
+Afterburn: thrusterglow01a

;------------------------
; Vasudan
;------------------------
$Species_Name: Vasudan
+Debris_Texture: debris01b
+Shield_Hit_ani: shieldhit01a
$ThrustAnims:
+Pri_Normal: thruster02
+Pri_Afterburn: thruster02a
+Sec_Normal: thruster02-02
+Sec_Afterburn: thruster02-02a
+Ter_Normal: thruster03-02
+Ter_Afterburn: thruster03-02a
$ThrustGlows:
+Normal: thrusterglow02
+Afterburn: thrusterglow02a

;------------------------
; Shivan
;------------------------
$Species_Name: Shivan
+Debris_Texture: debris01c
+Shield_Hit_ani: shieldhit01a
$ThrustAnims:
+Pri_Normal: thruster03
+Pri_Afterburn: thruster03a
+Sec_Normal: thruster02-03
+Sec_Afterburn: thruster02-03a
+Ter_Normal: thruster03-03
+Ter_Afterburn: thruster03-03a
$ThrustGlows:
+Normal: thrusterglow03
+Afterburn: thrusterglow03a
#END

Title: Species handling upgrades
Post by: Flipside on October 15, 2003, 05:08:33 pm
Hmmmmmmmmm... but then, everyone on any team is going to be one of those four categories to the Hud, Friendly, Unfriendly, Neutral or Unknown :)

It seems from what Kazan is saying that the FS2 code was written with the idea of more races in mind from the start.... :D

Flipside :D
Title: Species handling upgrades
Post by: Kazan on October 15, 2003, 05:17:14 pm
it was written semi-flexibly

there was a lot of hardcoding things that depended on the species count, but it was more or less already farely flexible.

i haven't looked at the teams support yet but I am thinking of a "dispoisition matrix"

Code: [Select]

  1 2 3 4 5 6 7 8 9
1 * ! ! ! ! ! ! ! !
2 ! * ! ! ! ! ! ! !
3 ! ! * ! ! ! ! ! !
4 ! ! ! * ! ! ! ! !
5 ! ! ! ! * ! ! ! !
6 ! ! ! ! ! * ! ! !
7 ! ! ! ! ! ! * ! !
8 ! ! ! ! ! ! ! * !
9 ! ! ! ! ! ! ! ! *

each ! can be replaced by options - like Hostile, Netural, Unknown, Friendly - perhaps with modifiers - ie active,passive (active hostile = go out of way to attack member of said team, or active passive = go out of way to defend member of said team)

* = 'dead space-cannot be diposed tword self'
Title: Species handling upgrades
Post by: Flipside on October 15, 2003, 05:20:54 pm
You could set that flag if you turned traitor, which would make you freindly to teams that were your enemies ;)

LOL Just kidding, this isn't Freelancer :D

Flipside :)

Edit : On a Non-Spammy note, sounds like a good idea, but where would you define the Matrix, at the mission design stage?
Title: Species handling upgrades
Post by: Taristin on October 15, 2003, 05:29:36 pm
I thought it'd be kinda cool to have to prove yourself to the enemy, and become a traitor at the same time... :|
Title: Species handling upgrades
Post by: Goober5000 on October 15, 2003, 06:14:36 pm
Quote
Originally posted by Kazan
snip


Yes, that was what I was thinking.
Title: Species handling upgrades
Post by: Galemp on October 15, 2003, 06:25:45 pm
I made a list a while back of all the species-dependant stuff. Let me find it.



Hope this helps. I've been waiting for this for a long time. :D
Title: Species handling upgrades
Post by: Taristin on October 15, 2003, 07:42:37 pm
*waits for someone to create a giant free-for-all battle in FS2 and multi*

Hey...

Would this change Multi? Imagine squadwar with more than 2 squads fighting for a space at a time. :drevil:
Title: Species handling upgrades
Post by: Sticks on October 15, 2003, 07:49:31 pm
Kazan is da man. :thepimp:

Maybe you could teach me a little about your table parser magic? Eh? Eh? ;7
Title: Species handling upgrades
Post by: Black Wolf on October 15, 2003, 08:49:03 pm
W00t! Kazan, you rock :D. This solves not one, but two of TIs problems :D

Species 4: Aesir ... It'll fit in nicely :D
Title: Species handling upgrades
Post by: Kazan on October 15, 2003, 08:49:31 pm
Quote
Originally posted by Galemp
I made a list a while back of all the species-dependant stuff. Let me find it.


Excellent, this helps a ton


Quote
Engine glows/thruster ANIs.


Done

Quote
Flyby sounds.


Done

Quote
Wingman personas.


TO DO[/b]

Quote
Briefing icons.


Done

Quote
Default IFF.


Done [it's something like shivan = hostile, else friendly - V's default]

Quote
Name color in FRED.


Done

Quote
Support ship.


TO DO


sticks: read some of the existing load stuff - especially the ship load - and read parselo.h
Title: Species handling upgrades
Post by: Kazan on October 15, 2003, 09:29:41 pm
Personas are not _truely_ species dependant, they can have a species flag though

they extra flag right now is only available for vasudans and is "+Vasudan" - im going to change it to "+" such as "+Ancients", or "+SomeUserSpeciesName", etc [obviously has to be a species named the in table)
Title: Species handling upgrades
Post by: Kazan on October 15, 2003, 10:02:09 pm
wow.. i barely had to modify anything for the support ship...
Title: Species handling upgrades
Post by: karajorma on October 16, 2003, 03:21:49 am
Quote
Originally posted by Kazan
it was written semi-flexibly

there was a lot of hardcoding things that depended on the species count, but it was more or less already farely flexible.

i haven't looked at the teams support yet but I am thinking of a "dispoisition matrix"

Code: [Select]

  1 2 3 4 5 6 7 8 9
1 * ! ! ! ! ! ! ! !
2 ! * ! ! ! ! ! ! !
3 ! ! * ! ! ! ! ! !
4 ! ! ! * ! ! ! ! !
5 ! ! ! ! * ! ! ! !
6 ! ! ! ! ! * ! ! !
7 ! ! ! ! ! ! * ! !
8 ! ! ! ! ! ! ! * !
9 ! ! ! ! ! ! ! ! *

each ! can be replaced by options - like Hostile, Netural, Unknown, Friendly - perhaps with modifiers - ie active,passive (active hostile = go out of way to attack member of said team, or active passive = go out of way to defend member of said team)

* = 'dead space-cannot be diposed tword self' [/B]


This is basically what I wanted when I asked if you were touching the teams :) :yes:

BTW call it actively protective or something active passive just sounds strange :)
Title: Species handling upgrades
Post by: phreak on October 16, 2003, 08:54:15 am
you may want to have a fred sexp that changes the "disposition matrix" for use in campaigns.  i don't know exactly what you have changed, but it may work

sexp-change-disposition
 -species 1
 -species 2
 -new value (-1 is hostile, 0 is neutral, 1 is friendly)
Title: Species handling upgrades
Post by: Lightspeed on October 16, 2003, 10:24:06 am
Quote
Originally posted by Raa Tor'h
I thought it'd be kinda cool to have to prove yourself to the enemy, and become a traitor at the same time... :|


that'd be soooo cool in some missions :D

How about setting up some SEXPs to do this?
+Set-Player-Friendly with (Team)
+Set-Player-Neutral with (Team)
+Set-Player-Hostile with (Team)
Title: Species handling upgrades
Post by: Kazan on October 16, 2003, 10:47:38 am
that's a good idea - i haven't changed anything yet on the teams
Title: Species handling upgrades
Post by: Woolie Wool on October 16, 2003, 11:10:10 am
Hmmm, that would be great for Starforce because each faction has its own weapon/engine glow/shield hit color:

Savaran Imperial Alliance: Green
Earth Federation: Blue
Microsol Consortium: Red/Orange
Vasudan Empire: Yellow
Zica: Purple
Erigoneans: White
Title: Species handling upgrades
Post by: Kazan on October 16, 2003, 11:13:12 am
weapon colors and shield hit _color_ are in the ships.tbl

engine glow/etc is a species default - but apparently has _Always_ been overrideable
Title: Species handling upgrades
Post by: kasperl on October 16, 2003, 01:14:13 pm
Quote
Originally posted by PhReAk
you may want to have a fred sexp that changes the "disposition matrix" for use in campaigns.  i don't know exactly what you have changed, but it may work

sexp-change-disposition
 -species 1
 -species 2
 -new value (-1 is hostile, 0 is neutral, 1 is friendly)


well, if possible, i'd say go from -2 to 2. to set how much piority will be given. so that if a GTVA ship has the choice between shotting a shivan or an NTF of the same class, it will shoot the shivan.
i am not sure how much AI recoding would be needed, but if it was possible it might be cool to implement. or go from 0 to 5, if you can use a cheaper var type that way, i don't know C, but in some languages it's cheaper to stay above the 0.
Title: Species handling upgrades
Post by: Woolie Wool on October 16, 2003, 01:52:54 pm
Quote
Originally posted by Kazan
weapon colors and shield hit _color_ are in the ships.tbl

engine glow/etc is a species default - but apparently has _Always_ been overrideable


Well DUH!:hopping: I'm just saying that this would be good for Starforce because there are six factions, each with its own effects color.

Not to be rude or anything, but you were really irritating me there.
Title: Species handling upgrades
Post by: aldo_14 on October 16, 2003, 04:26:11 pm
This is helping Reci quite a bit, too - I was jsut wondering how to set up the stuff like brief icons & engineglows :yes:
Title: Species handling upgrades
Post by: Kazan on October 16, 2003, 10:08:34 pm
read the volition icons.tbl

notice how each "type" of icon has three sets of three entries? that's (in order) one set of three for species 1, one set of three for species 2, one set of three for species 3

(each set of three is like the icon itself, then hilite and another option)
[in the case of V's tables Species 1 = terran, 2 = vasudan, 3 = shivan]

look in the above species_defs.tbl for the engine glow stuff and shieldhit animation [and definiting the species names]
Title: Species handling upgrades
Post by: Woolie Wool on October 22, 2003, 09:09:54 pm
(http://dynamic4.gamespy.com/~freespace/forums/images/smilies/bump.gif)

Any progress?
Title: Species handling upgrades
Post by: Krackers87 on October 22, 2003, 11:39:29 pm
different colors for teams (defineable especially) would help greaty.
Title: Species handling upgrades
Post by: Kazan on October 23, 2003, 12:57:24 am
it's completed and commited

teams/colors is a seperate ticket, not yet addressed and may not be addressed by me
Title: Species handling upgrades
Post by: TrashMan on October 23, 2003, 04:31:28 am
Adding more teams would be a very welecomed addition!

DOTA will have 5 teams...

THANK YOU ALL SCP GUYS! YOU MADE LIFE EASYER FOR US!
Title: Species handling upgrades
Post by: Woolie Wool on October 23, 2003, 10:29:05 am
Quote
Originally posted by Kazan
it's completed and commited

teams/colors is a seperate ticket, not yet addressed and may not be addressed by me


Make an FS2_Open build with it. I don't have a C++ compiler.
Title: Species handling upgrades
Post by: Kazan on October 23, 2003, 10:31:07 am
any latest cvs build contains the changes if they compile with MORE_SPECIES defined
Title: Species handling upgrades
Post by: Woolie Wool on October 23, 2003, 10:31:42 am
Are you talking about redmenace's builds?
Title: Species handling upgrades
Post by: Kazan on October 23, 2003, 04:36:47 pm
redmenace's builds would qualify as CVS builds

CVS = Concurrent Version System

it's the tool that allows 20 programmers spread all over the world to work on the same program simulatenously without major headaches - it contains the latest version of the code at a central location

a programmer can "checkout" the code, make alterations then submit those alterations - and only those alterations go in, so if another programmer simultanously changed some other part of the same file both changes take place


so a "CVS build" means "A build based upon the most up to date code available"
Title: Species handling upgrades
Post by: Taristin on October 23, 2003, 06:16:13 pm
We need a 'How To compile' thread... :/
Title: Species handling upgrades
Post by: Woolie Wool on October 24, 2003, 09:25:48 pm
Quote
Originally posted by Kazan
yeah obviously

here is the "Default" species_defs.tbl (which is also the fallback one which is hardcoded)

it is a WIP at this point and may have additional data added to it in the future

Code: [Select]


; -----------------------------------------------
; Species_defs.tbl
; Derek "Kazan" Meek
; FS2 Open Species table
;
; -----------------------------------------------

#SPECIES DEFS

$NumSpecies: 3

;------------------------
; Terran
;------------------------
$Species_Name: Terran
+Debris_Texture: debris01a
+Shield_Hit_ani: shieldhit01a
$ThrustAnims:
+Pri_Normal: thruster01
+Pri_Afterburn: thruster01a
+Sec_Normal: thruster02-01
+Sec_Afterburn: thruster02-01a
+Ter_Normal: thruster03-01
+Ter_Afterburn: thruster03-01a
$ThrustGlows:
+Normal: thrusterglow01
+Afterburn: thrusterglow01a

;------------------------
; Vasudan
;------------------------
$Species_Name: Vasudan
+Debris_Texture: debris01b
+Shield_Hit_ani: shieldhit01a
$ThrustAnims:
+Pri_Normal: thruster02
+Pri_Afterburn: thruster02a
+Sec_Normal: thruster02-02
+Sec_Afterburn: thruster02-02a
+Ter_Normal: thruster03-02
+Ter_Afterburn: thruster03-02a
$ThrustGlows:
+Normal: thrusterglow02
+Afterburn: thrusterglow02a

;------------------------
; Shivan
;------------------------
$Species_Name: Shivan
+Debris_Texture: debris01c
+Shield_Hit_ani: shieldhit01a
$ThrustAnims:
+Pri_Normal: thruster03
+Pri_Afterburn: thruster03a
+Sec_Normal: thruster02-03
+Sec_Afterburn: thruster02-03a
+Ter_Normal: thruster03-03
+Ter_Afterburn: thruster03-03a
$ThrustGlows:
+Normal: thrusterglow03
+Afterburn: thrusterglow03a
#END

[/B]


Will that one be usable with the new species builds? I just added two new species to the defs table.