Changes between Version 7 and Version 32 of Ticket #3


Ignore:
Timestamp:
Apr 21, 2012, 7:03:07 PM (12 years ago)
Author:
Jonathan Waller
Comment:

@historic_bruno I have added documentation to the wiki at wiki:Technology_Templates which specifies the units. Adding it to the property name seems quite ugly.

@k776 Thanks for the feedback, I have added the individual modification affects basically as you said. The old affects is still there in addition as discussed on irc.

I have also modified the caching code to be done in TechnologyManager so the code is significantly cleaner in the other components.

I don't know if the old technologies folder is still wanted for reference?

Legend:

Unmodified
Added
Removed
Modified
  • Ticket #3

    • Property Type taskenhancement
    • Property Summary Implement Technologies[PATCH] Implement Technologies
    • Property Priority Nice to HaveMust Have
    • Property Keywords patch review added
    • Property Milestone BacklogAlpha 10
    • Property Owner set to Jonathan Waller
  • Ticket #3 – Description

    v7 v32  
    1    * How to reset templates between games; are all entities reloaded from their source files when starting a new game?
    2  * Each player will have to have its own copy of the entity templates (so that a tech upgrade does not affect all players).
    3  * To remove techs, could do the same in reverse. eg a player picks up a relic: a tech is triggered to give him a bonus; he loses the relic: an "anti-tech" is triggered that reduces the bonus back to the original value. Conditional techs just rely on having the necessary events to turn them on and off (eg the start and end of a certain season). --> Chose not to allow techs to be removed for now.
    4  * Some techs are triggered by starting the game with a certain civ (eg civ bonuses).
    5  * Some techs unlock new content (eg must research City Phase in order to build Fortress). --> Possible through script functions. Maybe we can add an explicit method too, however.
    6  * Define and implement tech XML format; there's an attempt in the Wiki; feel free to expand/modify. [wiki:XML.Tech]
    7    * target (list of entity templates entities affected)
    8    * prerequisite (list of things that must have already been done in order to be able to research tech)
    9    * pair (name of the tech's pair technology; if the player researches this tech, its pair will no longer be available)
    10    * list of attributes (property that's modified) and values (the modifier added to that property)  --> now works with percentages too
     1Most of the code for technologies is now done. 
     2
     3The modifications that technologies make still need coding.  See ResourceGatherer.js for an example.
     4
     5Tech pairs where only one out of two techs can be researched need implementing.  An idea is to have a tech pair json file which defines the pair and have the building have that in it's template file for what is available for research.  The tech pairs can then supersede each other.