IPB

Welcome Guest ( Log In | Register )


> #0001 -- ThirdSide And More...
SeekSomethingNew
post Jul 28 2009, 05:33 PM
Post #1

Stealth Tank
Group Icon

Group: Members
Posts: 1,025
Joined: 31-October 06
Member No.: 208
Alliance: GDI
Favorite game: Tiberian Sun



HyperPatch Development Discussion #0001

Alright, first discussion topic of the sub forum!


Topic Theme: Adding full support for more than two houses into the game engine.

Ok then, now how should i go about coding this up? Remember this includes everything that is house related, Loading Screens, Sidebars, EVA Speech and so on. There are many ways to do so, but i want to hear what works best for the modders themselfs! smile.gif

Remember to think simple, while try to expanded as many hardcoded problems as we can. I can add new INI keys to HouseTypes, so if you wish, you can suggest a full list of keys to be definable on the HouseType in the INI.

Have fun and remember, its just a game at the end of the day, dont take it too seriously!

Basically anything goes here, as long as your polite and respectful to peoples views and to myself, i wont take action towards you like deleting your posts or even getting you banned from the Tiberium Web forums itself if it has to come to that. I want to lay them rules down in the first post, and i hope people stick to this.

-Hyper

This post has been edited by CCHyper: Aug 3 2009, 12:12 AM


--------------------
Go to the top of the page
 
: | +Quote Post
 
Start new topic
Replies
SeekSomethingNew
post Jul 29 2009, 02:20 PM
Post #2

Stealth Tank
Group Icon

Group: Members
Posts: 1,025
Joined: 31-October 06
Member No.: 208
Alliance: GDI
Favorite game: Tiberian Sun



QUOTE (Bittah Commander @ Jul 28 2009, 07:16 PM) *
In my opinion the most practical way to do this would be to have everything work just the way it works already for as far as possible... So if a third house would be added, its sidebar should use the files in sidec03.mix (SIDEC%02d.MIX) and e01sc03.mix (E%02dSC%02d.MIX). Possibly also add a flag which allows a house to use the files within a specific mix file so multiple houses will be able to use the same files for their sidebar.
Same story for the speech files; the third house should use the files in speech03.mix (SPEECH%02d.MIX) and e01vox03.mix (E%02dVOX%02d.MIX), again possibly with a flag added to allow a house to use the speech files from a specific mix file in case multiple houses use the same AI voice.
It would also be beneficial for many mods if BaseUnit= could be specified under every house, rather than only under [General] (BaseUnit= under the house should overwrite the base unit sepcified under [General], but the one under [General] should be used if no base base unit is specified under the house). Naturally the AI should also be able to build from all CYs the MCVs deploy into.

Yea, see below Johan, i have expanded on your ideas more smile.gif


QUOTE (Team Black @ Jul 28 2009, 10:16 PM) *
this is a good idea. Personally I think side-specific MCVs would be better to do first, especially if we enable 3+ factions - it would benefit a lot of existing mods

Yea, this has always been a plan to add ever since the start smile.gif


QUOTE (Aro @ Jul 29 2009, 02:04 AM) *
A simple tag for the .ini files to specify a certain unit to a certain subfaction would be really sweet (Like in RA2), this is something I really wanted to do in TI, but without the workaround nonsense.

Special units? I dont quite know how this works, but if its simple, i can copy it form YR.


QUOTE (^Rampastein @ Jul 29 2009, 10:17 AM) *
If possible, you could make it so that we shouldn't have to add "Civilian" to every unit's/building's "Owner=" key which the third side owns. (example: Owner=<ThirdSide>,Civilian)

More difficulty levels could also be useful (making FineDiffControl work?)

Btw, it's nice to see some progress for this project.. and it's nice to see it here on TiberiumWeb, might make this forum more popular.

I dont quite know why the game needs you to put Civilian onto new types that have the new house as its owner, but its possible i might be fixed with the BaseUnit and BuildConst hacks.

Adding more difficulty levels is a tad harder, but i can look into it.


QUOTE (Lin Kuei Ominae @ Jul 29 2009, 02:50 PM) *
Bittah's Idea to expand the Houses and move some keys into this section sounds really good.

CODE
[Houses]
0=GDI
1=Nod
2=Neutral
3=Special

[GDI]
Name=GDI
Suffix=GDI
Prefix=G
Color=Gold
Multiplay=yes
Side=GDI
SmartAI=yes
BaseUnit=GDIMCV;moved from [General] in this section
BuildConst=GDIConYard;moved from [AI] in this section

By moving BaseUnit to the House would be a good start to make individual sides work. Then GDI and Nod could be really independant from each other.
And of course the biggest problem BuildConst under the AI section should be fixed to allow more entries. The alternative would be to move this into the sides section too as shown in the example code. This would also fix ambiguities when a conyard has more than one owner. Then the AI really knows to which side which conyard belongs.

I'm not sure if it's necessary to allow adding more sides too, as the AI should work already with more Houses, because in AI.ini you specify the House to which a certain TeamType belongs and not the Side. Though it could be useful to allow adding there some more neutral sides, which you can give different colors and this way allows to place on Multiplayer maps different colored units.

In RA2 it seems as it was necessary to give each completely independant House a different Side, why YuriCountry got it's own side and wasn't simply put in the GDI (Allies) or Nod (Soviet) lists.

CODE
[Sides]
GDI=GDI,Havoc;allow to add more Houses as subfactions which all belong to the same Side
Nod=Nod,BlackHand;allow to add more Houses as subfactions which all belong to the same Side
3rdSide=Scrin;allow to add more independant sides
Civilian=Neutral
Mutant=Special


With the support for more independant sides you should move imo the complete AI section into the Houses. This would really fix all ambiguities and would never lead into a GDI side building a Nod Refinery and vice versa.

CODE
[GDI]
Name=GDI
Suffix=GDI
Prefix=G
Color=Gold
Multiplay=yes
Side=GDI
SmartAI=yes
BaseUnit=GDIMCV;moved from [General] in this section
BuildConst=GDIConYard;moved from [AI] in this section
BuildPower=GAPOWR
BuildRefinery=GAPROC
BuildBarracks=GAPILE
BuildTech=GATECH
BuildWeapons=GAWEAP,DGWEAP
BuildDefense=GACTWR;this could be a problem as it's also AA
BuildPDefense=GAADVTWR
BuildAA=GACTWR;this could be a problem as it's also AG
BuildHelipad=GAHPAD
BuildRadar=GARADR
ConcreteWalls=GAWALL
NSGates=GAGATE_B
EWGates=GAGATE_A
UnloadingHarvester=HORV;just a graphical problem, but it would be fixed this way too


Wow, its nice to have your input LKO! smile.gif

I agree with that you posted, it sounds good, whole point of this topic.

The only one i could change is UnloadingHarvester, what i can move to UnitType specific. smile.gif


------------------------------------------------------------------------------------------------------------------------
(I wrote this before LKO's post...)
Also i have been thinking about some new things too, how about these?

HouseType.SidebarArtIndex=[byte int]
This would allow you to specifiy specific sidebar art for a house, good for subfactions i suppose.
Example, a number of 2 would make the house use SideC02.mix, SideNC02.mix and so on.

HouseType.SpeechSide=[byte int]
With this you can force a house to use a specific mix file for the speech, instead of adding a new one, again good for subfactions.
Example, a number of 1 would make the house use Speech01.mix

HouseType.LoadingScreenArtPrefix=[4 char str]
Specify a specific prefix for the loading screen art, instead of just LOAD###A/B.PCX, you can specificy a string to replace the prefix LOAD.
Example, putting EMPR on this key would result in EMPR###A/B.PCX.

HouseType.LoadingScreenTextColour=[Colour Scheme, 128 char str]
Explains itself...
Example, NeonPink would make the loading screen text show in NeonPink.

HouseType.LoadingScreenProgressSound=[VoxType, 8 char str]
Allows you to specify the sound of the progress text drawing on the loading screen.
Example, BOOB would use the VoxType BOOB from the sound list.

HouseType.ShowLoadingScreenTextColour=[boolean]
Explains itself too...
Example, a value of false would turn of the text drawing and the sound that plays along side it, for use with static loading screens.

HouseType.Icon=[4 char str]

This key would let you specify the houses icon, the icon that is used on the online and network dialogs, aswell as possiblity a option to show the icon on the skirmish dialog too. The code would add .PCX to this string.
Example, 3RD.PCX.

HouseType.BaseUnit=[UnitType, 8 char str]
Explains itself, specifys the main base unit, or MCV for this house.
Example, BASEUNIT, would use BASEUNIT from the VehicleTypes list.


Of course, things like LoadingScreenArtPrefix, SidebarArtIndex and SpeechSide etc, would all defualt to how the game logic normaly works...

These are just a few for now, Think these are any good?

This post has been edited by CCHyper: Jul 29 2009, 03:27 PM


--------------------
Go to the top of the page
 
: | +Quote Post
Lin Kuei Ominae
post Jul 29 2009, 10:16 PM
Post #3


Stealth Tank
Group Icon

Group: Members
Posts: 1,065
Joined: 14-November 06
From: Germany
Member No.: 281
Alliance: CABAL
Favorite game: Tiberian Sun



QUOTE (CCHyper @ Jul 29 2009, 02:20 PM) *
HouseType.LoadingScreenTextColour=[Colour Scheme, 128 char str]
Explains itself...
Example, NeonPink would make the loading screen text show in NeonPink.

Yep, that would be good to have. Though i think it would be even more useful to be able to change the different text lines too
e.g.
HouseType.LoadingScreenTextLine1=Analyzing Combat Zone Topography...
HouseType.LoadingScreenTextLine2=Compensating for Ambient Light Values...
HouseType.LoadingScreenTextLine3=Compiling Wartime Conventions...
HouseType.LoadingScreenTextLine4=Gathering Intel on involved Factions...
HouseType.LoadingScreenTextLine5=Creating theories on likely enemy plan...
HouseType.LoadingScreenTextLine6=Secondary check of combat zone...
HouseType.LoadingScreenTextLine7=Deploying forces to combat zone...
HouseType.LoadingScreenTextLine8=Final analysis of outcome...
Maybe even allow to specifiy a certain graphic file, so you can have some kind of animated loading screen, e.g. with a progress bar instead of text

A key for the position of the text could be also useful, so the loading screen status window isn't fixed to the right side.
e.g.
HouseType.LoadingScreenTextXY=545,245

QUOTE (CCHyper @ Jul 29 2009, 02:20 PM) *
HouseType.LoadingScreenProgressSound=[VoxType, 8 char str]
Allows you to specify the sound of the progress text drawing on the loading screen.
Example, BOOB would use the VoxType BOOB from the sound list.

a nice gimmick, but i wouldn't spend too much time on this. The other things are more important.


The other new keys sound really good and if you can implement them go for it. dance.gif

QUOTE (CCHyper @ Jul 29 2009, 07:12 PM) *
I could in theory add any global value to be house specific, so keep giving suggestions!

How about moving the Veteran factors from General to the Houses. So Nod could gain more speed when veteran than GDI, but GDI a bit more firepower etc.

TeamDelays, AIHateDelays and MultiplayerAICM too. Then we can give the different sides a different difficulty. (wow so many "different"s in one sentence)

Pilot,Crew,Technician,Engineer,Disguise and Paratrooper too. So each Side can have different escaping infantry from destroyed buildings/units.

And while you move already BaseUnit, you could move RepairBay,HarvesterUnit and PadAircraft too. (though i'm not sure if PadAircraft is necessary as the Nod aircraft works fine even if the original entry says PadAircraft=ORCA,ORCAB without mentioning any Nod aircraft)

P.S. Thank you very very much spending so much time in my all time favorite game. biggrin.gif

This post has been edited by Lin Kuei Ominae: Jul 29 2009, 10:39 PM


--------------------
Co-Leader of Twisted Insurrection
my public units for you
Nod units:____________________________GDI units:
Nod Scorpion__________________________GDI 3A Kodiak
Nod Tachyon Tank______________________GDI Medusa (Triple Cannon Mech)
Nod Goliath___________________________GDI Behemoth (medium size Mech)
Nod Cobra (fast medium mech)__________GDI Battleship Aurora
Nod Siegebot (light MG-Mech)__________GDI Fortress Tower (Heavy Base Defense)
Nod Redeemer (4 legged heavy Cyborg)__GDI Triton (Titan support Mech)
Nod/Scrin WotW Tripod_________________GDI Exciter
______________________________________GDI Ion Charge Collector
Misc and Fun units:
X-Mech Calendar 28 SHP Units
Star Wars Mechs ATAT/ATST
Cyborg Barrack on PPM_________________Mech Factory
Mutant Tiberium Flyer
yt1300 (Millenium Falcon + BIG version)

if you use my units in your mod, please credit me.if you want to use my units on your website please ask me before.
Go to the top of the page
 
: | +Quote Post
Rampastring
post Jul 30 2009, 06:23 AM
Post #4


Tick Tank
Group Icon

Group: Members
Posts: 690
Joined: 4-June 07
From: Finland
Member No.: 957
Alliance: Nod
Favorite game: Tiberian Sun



QUOTE (Lin Kuei Ominae @ Jul 30 2009, 01:16 AM) *
TeamDelays, AIHateDelays and MultiplayerAICM too. Then we can give the different sides a different difficulty. (wow so many "different"s in one sentence)

If MultiplayerAICM gets moved I think it'd be useful to move also the global difficulty sections ([Easy], [Normal], [Difficult]), which give much more control for the AI's difficulty than MultiplayerAICM.

Or, did the difficulty keys already work with Houses? I have a little "flashback" how I once gave [GDI] Cost = 0.5, but I don't remember if it worked in-game or not (it works in RA1).

This post has been edited by ^Rampastein: Jul 30 2009, 06:24 AM


--------------------
Go to the top of the page
 
: | +Quote Post

Posts in this topic
- CCHyper   #0001 -- ThirdSide And More...   Jul 28 2009, 05:33 PM
- - Aro   I'm not entirely sure on what to say as I...   Jul 28 2009, 05:42 PM
- - CCHyper   Well, allowing sidebars for a infinite amount of h...   Jul 28 2009, 05:48 PM
- - Bittah Commander   In my opinion the most practical way to do this wo...   Jul 28 2009, 06:16 PM
- - Python   A new mod ... excellent! Can't wait to ...   Jul 28 2009, 06:26 PM
- - CCHyper   Python, its not a mod HyperPatch is unofficial p...   Jul 28 2009, 06:52 PM
- - Python   Ah I see.   Jul 28 2009, 06:56 PM
- - Team Black   this is a good idea. Personally I think side-speci...   Jul 28 2009, 09:16 PM
- - Aro   A simple tag for the .ini files to specify a certa...   Jul 29 2009, 01:04 AM
|- - ^Rampastein   I agree with Bittah, making it work like it alread...   Jul 29 2009, 09:17 AM
|- - Lin Kuei Ominae   Bittah's Idea to expand the Houses and move so...   Jul 29 2009, 01:50 PM
|- - ^Rampastein   QUOTE (CCHyper @ Jul 29 2009, 05:20 PM) T...   Jul 29 2009, 03:41 PM
|- - Bittah Commander   QUOTE (CCHyper @ Jul 29 2009, 04:20 PM) H...   Jul 29 2009, 07:23 PM
- - CCHyper   QUOTE (^Rampastein @ Jul 29 2009, 04:41 P...   Jul 29 2009, 07:12 PM
- - CCHyper   Ill add support for 768 only, any higher and the c...   Jul 29 2009, 09:04 PM
- - Orac   Oh shi- this is all beautiful.   Jul 30 2009, 05:31 AM
- - Bittah Commander   Yes, it works... But it doesn't just affect th...   Jul 30 2009, 10:21 AM
- - CCHyper   QUOTE (Lin Kuei Ominae @ Jul 29 2009, 11...   Jul 30 2009, 01:19 PM
|- - Lin Kuei Ominae   QUOTE (CCHyper @ Jul 30 2009, 02:19 PM) D...   Jul 30 2009, 03:06 PM
- - Bittah Commander   Dock= only assigns a preferred docking building, b...   Jul 30 2009, 02:59 PM
- - CCHyper   QUOTE (Bittah Commander @ Jul 30 2009, 03...   Jul 30 2009, 04:24 PM
- - Bittah Commander   On a side-note, would it be possible to make it so...   Jul 30 2009, 04:49 PM
|- - Lin Kuei Ominae   I'm so glad that my beloved tibweb is more act...   Jul 30 2009, 09:53 PM
- - CCHyper   QUOTE (Bittah Commander @ Jul 30 2009, 05...   Jul 31 2009, 11:30 AM
- - Bittah Commander   QUOTE (CCHyper @ Jul 31 2009, 01:30 PM) S...   Jul 31 2009, 02:31 PM
- - CCHyper   QUOTE (Bittah Commander @ Jul 31 2009, 03...   Jul 31 2009, 04:43 PM
- - Dubzac   i think this stuff above is fantastic. but try and...   Aug 14 2009, 10:25 PM


Reply to this topicStart new topic
1 User(s) are reading this topic (1 Guests and 0 Anonymous Users)
0 Members:

 

Lo-Fi Version Time is now: 12th May 2025 - 12:34 PM


XGhozt.com