Researches

Bug #895223 reported by Bug Importer
20
This bug affects 3 people
Affects Status Importance Assigned to Milestone
Ares
Confirmed
Wishlist
Unassigned

Bug Description

I was thinking about an idea to give a new bit of life to the Prerequisite mechanic. Researches, unlike upgrades you don't apply them to buildings and they don't need a construction yard. Feel Free to tinker with the idea. After building it would either blackout (to show it's been researched) or disappear, these would be put in the armory tab below superweapons. (since you can move defenses to structures)

[General]
DefaultEVAResearch=ResearchComplete
ResearchBlackout=yes/no

[StealthResearch]
UIName=Name:StealthRes
Cameo=StealthIcon
Cost=200
Prerequisite=GATECH
NegativePrerequisite=MindResearch

[MindResearch]
UIName=Name:MindRes
Cameo=MindIcon
Cost=350
Prerequisite=GATECH,GAMINDTECH (Mind Control Immune Research Center)
NegativePrerequisite=StealthResearch

[UNIT]
...
Upgrades=yes
Upgrade1Research=StealthResearch
Upgrade1Unit=SUNIT
Upgrade2Research=MindResearch
Upgrade2Unit=MUNIT
...

[UNIT2]
...
Prerequisite=GATECH,StealthResearch
...

This allows unlocking of units via research and upgrades the unit with new properties.

Revision history for this message
Tempest (xero-2) wrote :

Rise of Nations ^_^... Personally, I vote for this..

Revision history for this message
Tempest (xero-2) wrote :

Oh, and there's no need for the upgrade thingies.. Ares' enhanced prerequisite system handles that..

Revision history for this message
modder666 (modder666) wrote :

I'm completely for this. This is the closest thing to a Generals upgrade system I've seen recommended. If there was a way for this to roll over onto the existing built units, it would be perfect.

Revision history for this message
Bug Importer (bug-importer) wrote :

I love this idea, but not your idea of the codes/coding. Maybie another way.

Revision history for this message
modder666 (modder666) wrote :

Lemme take a stab at tagging this up.

[UpgradeTypes] ;list all upgrades here similar to SuperWeapons or buildings
1=Upgrade ;weapon upgrade

[Upgrade] ;Upgrade entry
Upgrade=yes ;Tells the game device is an Upgrade
UIName=Name:Upgrade ;string for upgrade
Upgrade.TechnoType=VehicleTypes ;VehicleTypes, BuildingTypes, InfantryTypes, AircraftTypes
Upgrade.Class=Primary,Secondary ;could be almost any of the regular tags for the corresponding technotype
Upgrade.NewVersion=120mmx,MammothTusk ;listing multiple entries in a corresponding system would allow for multiple upgrades
Upgrade.UnitUpgrade=HTNK ;enables this to apply to anything listed, and could accept multiple entries
Upgrade.Replace=yes ;can be set to yes or no in order to decide if the upgrade applies to any units already created or just to new units
Upgrade.Blackout=yes ;the blackout / disappear idea from OP
Upgrade.Cameo=APOCUPICON ;the cameo file for the user to see
Cost=1000 ;cost of the upgrade

Potential tags that could be considered:
Upgrade.Level=green ;could be veteran or elite in order to filter out which level, defaults to all
Upgrade.BuildSpeed=.7 ;can be changed from cost for gameplay effects
Upgrade.Afflicted=yes ;carries over to units under temporal/mind control from an opposing side

Any better, nonregistered user? This follows the Ares system, and allows for massive customization.

Revision history for this message
Bug Importer (bug-importer) wrote :

Great modder666, I like that idea(you made all that for me?).
I would like to add, that you exempel add a tag to [Upgrade] like ImmuneToRadiation=yes, the unit(in your exempel it would be HTNK) would be immune to radiation. If you add cloakable=yes, the unit would become invisible
Implant this! :D :D :D

Revision history for this message
modder666 (modder666) wrote :

Upgrade.Class=Primary,Secondary ;could be almost any of the regular tags for the corresponding technotype

That would support ImmuneToRadiation or any other tag on the unit. Even Image. In theory.

And I didn't make it for you. Instead, I made something that fits Ares and is useful. Plus, I need this logic. :p

Revision history for this message
octagon (octagon) wrote :

i think a better way to upgrade units would be

UnitToBeUpgraded=GTNK ; says which unit is going to be upgraded
UnitToBeUpgradedInto=GTNK1 ; what the upgraded units turn into, all of this team's GTNK are going to be turned into GTNK1 when the upgrade is used
RemoveOldUnit=yes/no ;which says once the unit has been upgraded, only the upgraded version can be bought, not the un-upgraded version

then if you want to make a minor upgrade, like making all of your units immune to radiation or changing a primary weapon, you just copy the old unit, change it's name and adjust whichever tag(s) needs adjusting. this would also reduce the amount of new tags required, and make it easier to make more radically different upgrades. Of course this does prevent you from making multiple upgrades for the same unit.

you could also have

IsUpgradeUnit= ; goes on the unit itself, means the unit cannot be bought until it is unlocked by the upgrade

the original two tags could also work as corresponding lists so for example
UnitToBeUpgraded=GTNK,MTNK,FV
UnitToBeUpgradedInto=GTNK1,MTNK1,FV1

the GTNKs become GTNK1, MTNK becomes MTNK1, FV becomes FV1 etc.

and maybe for the sake of ease have
UpgradedUnitCameo= ; which replaces the upgraded unit's cameo, since a lot of modders would probably use the same image for both the upgraded and non-upgraded units, this tag would save them from having to clone the voxel, and add new art entries.

perhaps the upgrades themselves should be superweapons, which have cost= (so you pay for the upgrade superweapon, if people want the upgrade for free, they can set the cost to 0, or have cost=0 as the default), it would use Type=Upgrade, which doesn't have any effect as a superweapon and the UnitToBeUpgraded=, UnitToBeUpgradedInto=, UpgradedUnitCameo= and RemoveOldUnit= tags go onto this superweapon. perhaps it would be a good idea if those tags could also go onto buildings and building upgrades as well, so your could have a research center which gives you those upgrades instantly instead of waiting for the superweapon, or maybe even put the tags onto units and infantry.

EDIT: perhaps if the upgrades were similar to elite weapons and abilities, so
UpgradesUnit= ;this is the unit that will be upgraded
UpgradePrimary= ;upgraded unit's new primary weapon
UpgradeSecondary= ; secondary weapon
UpgradeAbilities= ; same as EliteAbilities=, but goes on the upgrade and effects the unit. unit receives these abilities when upgraded

and then some tags like the 'veteran rules' in the [general] section, but these also go on the upgrade itself. if these aren't used, it defaults to using the veteran rules in the general seciton (or if they're not listed in UpgradeAbilities=, they have no effect)

UpgradeCombat=1.1 ; multiplier to damage
UpgradeSpeed=1.2 ; multiplier to max speed
UpgradeSight=0.0 ; multiplier to sight
UpgradeArmor=1.5 ; multiplier to Strength
UpgradeROF=0.6 ; ROF delay multiplier
UpgradeCap=2 ; maximum Upgrade level that can be obtained. unit can only recieve his upgrade this many times.

Revision history for this message
modder666 (modder666) wrote :

Or, due to the extreme challenge that would be coding all this in, give up on our conventional thinking. And don't just go, "you don't know, you don't code" because I had a big discussion with DCoder about this. The amount of work that would be required to get it to work isn't worth it in the end.

Revision history for this message
Marshall (m-edward) wrote :

Wow, I really vote for this!

Not the bollocks with unit upgrades, but just a simple prerequisite satisfier.

But I'd implement it like this:
[ANYUNIT]
IsResearch=yes ;this would work on any unit type. On construction complete, the unit would never actually appear (or the building would not require placement) but the owner would still satisfy the prerequisite ANYUNIT (even though they don't actually have an instance of it)
Can also set BuildLimit=-1 so that ANYUNIT would disappear once complete.

Revision history for this message
Renegade (renegade) wrote :

I admit to not reading the follow-up comments just yet, but I'm wondering if a very simple version of this request couldn't be implemented simply by allowing "phantom building" of sorts.

Basically, you'd have "defense" buildings as usual, BuildLimit=1 or even -1, but if you clicked on them when they're ready, you wouldn't get to build them, they'd just quietly get added to the list of structures you possess in the background, without appearing on the map.

That way, the normal Prerequisite logics should apply, and all we'd have to do is ensure that the technologies are Insignificant without causing BuildLimit glitches.

They would still need ConYards to be built, but unless D knows of a reason that speaks against phantom buildings, I figure this could be the easiest way we can implement non-tangible prerequisites quickly.
Depending on the way the game is coded, it could even have the advantage that you could use standard building effects like InfantryGainSelfHeal to research "healing nanobots" or whatever.

It would by far not be as flexible/complex as other stuff proposed above, but I do think it'd suffice for the majority of users, and be easy for us to implement.

Revision history for this message
Professor_Tesla (professor-tesla) wrote :

Definitely. I vote for this to be implemented as suggested in the above two posts.

Revision history for this message
DCoder DCoder (dcoder1337) wrote :

Note to self: 0x6AB3C7 is a good starting point.

Revision history for this message
WoRmINaToR (worminator) wrote :

There is only one thing that's stopping the "Phantom building" logic (because I actually use Ares' advanced prereq's and make 0x0 phantom building upgrades) and that is that the upgrades do not apply to units already on the field, like many players are used to in other RTS games. While we can just admit engine limitations, I think if we can make a system that can apply the upgrade to all units on the field as well as new units, that system would be ideal.

Also another thing about simply using prerequisite logics is that it soon gets very complicated to code for the modder when he wants more than 1 or 2 upgrades to be applicable to a single unit. If I wanted several different upgrades on a grizzly tank, I would have to code up a completely new instance of the grizzly tank for each different combination of upgrades that could possibly be applied to the grizzly tank at any given time, which can get very confusing if you have more than 2 upgrades applicable to a single unit.

IMO, I think M666's idea, while probably the most difficult to code on DCoder's end, would be much less confusing/less of a pain in our arses for modders.

Revision history for this message
modder666 (modder666) wrote :

I've had a discussion with DCoder about field units. In order to give them upgrades, he'd have to completely redesign how the game handles having units on the field. In short, it's best off not building a bunch of forces on the field if you want to use upgrades until after you give them upgrades.

Revision history for this message
DCoder DCoder (dcoder1337) wrote :

^Except for stats-modifiers that units can already gain through different avenues - I can make a SW that multiplies your speed, firepower, strength, ROF or other factors you can boost via crates or similar. That might interfere with how upgraded units receive crate upgrades...

Revision history for this message
hotrods20 (hotrods20) wrote :

I vote for a option to have a new section of the tabs for upgrades. With that it would keep the system clean.

Revision history for this message
Darkstorm (bynnar-starblade) wrote :

Or you could just switch the defensive buildings to the structures tab and use the defense tab for SW and upgrades.

Also, this was one of my old submissions before I registered. It was thought of as a unique way for the Allies to increase in tech level. Soviets would tech up in the traditional way and Yuri would make use of upgrades.

Revision history for this message
Renegade (renegade) wrote :

Survived DFD.

Revision history for this message
kakrain (kakrain) wrote :

i think the way the upgrades, upgrades the units in the field IS fun, but it isnt realistic, its not like the hq call to a tank commander and says "hey we now can stop air missiles with our new invention ill send you via telephone" i think a good alternative for that would be a building that can upgrade tanks and/or infantry where tanks/infantry enter there and when they get out they come with the new bazooka or the new navigation system, etc. or maybe do a SW that upgrades every unit in their field of action to the newest unit. i dont know if this is doable, its just an idea

Revision history for this message
WoRmINaToR (worminator) wrote :

I actually really like that idea, and it's an idea I have had in my mind for a long time for a game of my own.

And since it can be coded to "destroy" the unit and then create a new upgraded version, we won't be doing any of the wacky "modifying unit properties on the fly" stuff DCoder was warning against.

That isn't to say, however, that this wouldn't be a large amount of work, because to facilitate a system like this, we would need a whole new system for defining unit upgrades. The game would have to know what units can enter at what times/under what circumstances, and it would have to be able to tell which unit it should create after which unit enters. Not impossible, but it would be a major challenge.

Unfortunately the work investment also brings up the issue of support and necessity. This poses a major question of "is the nonsense of 'all units globally getting an upgrade as soon as it is researched' a big enough issue to warrant forcing the player to do this much extra work to get their units upgraded?"

Revision history for this message
Darkstorm (bynnar-starblade) wrote :

I thing I wanted the throw in is that the upgrades also should be able to act as prerequisites as the OP said, but still should be able upgrade stats as well.

Revision history for this message
Mig Eater (mig-eater) wrote :

I'm all for the "phantom building" idea, maybe just have it need only one click to start it & then make it automatically activate once it's ready with an EVA announcement etc.

Revision history for this message
Untrue (untrue) wrote :

[UNIT]
...
Upgrades=yes
Upgrade1Research=StealthResearch
Upgrade1Unit=SUNIT
Upgrade2Research=MindResearch
Upgrade2Unit=MUNIT
...

Upgrading a unit should retain its rank.

To post a comment you must log in.
This report contains Public information  
Everyone can see this information.

Duplicates of this bug

Other bug subscribers

Related blueprints

Remote bug watches

Bug watches keep track of this bug in other bug trackers.