I would like to try replacing the Civ4 Civics and trait mechanics with a SMAC/X Social Engineering system--either entirely or partially.
Even though the Civics system mimics Social Engineering in most gameplay aspects, I feel that the dynamics and simple consistency in the ten-or-so Social Engineering parameters emphasize the SMAC/X ideology approach to civilizations (factions) and bear a major impact on immersion.
(The trait system may be reworked to account for SMAC/X-like faction adjustments: Robust, immunity, free buildings, free technologies, etc.)
---
From what I am able to understand currently, an implementation of Social Engineering requires SDK and/or python modifications (with corresponding xml changes, of course). I cannot do any SDK modifications, but with a bit of initial help I believe I can work the python code--should python be a viable approach.
I am not entirely sure how the end result should work, but an example could be Planet rating:
This parameter adjusts city health using incremental parameter modifiers ranging from -9 to +9; each value may correspond directly with +/- health adjustments (e.g. +2 Planet rating confers a +2 health bonus). The modifiers are global, but I would like to see the option to have local variations. For example, a Tree Farm facility (building) may add +1 Planet rating to the city (locally).
---
I am looking for help on two aspects: Coding and design. On design, I am asking for help on how to best implement the Social Engineering system and suggestions on how to best adapt the system to Civ4 gameplay mechanics. Coding, I should think, depends on the design.
Edit:
Tentatively, it may be viable to tie Social Engineering parameter values to cities. Perhaps a free, unique building for each leader or civilization is required. This building would confer the dynamic Social Engineering values to the city. As a slightly misleading example, a SMAC/X Peacekeeper faction would have a free "U.N. Administration" building in each city giving +1 happiness and -10% commerce by default (ideally, this is determined by the Peacekeeper's default Social Engineering values). Should the Peacekeepers adopt a research boosting "Social Engineering" option (Civic), the Administration building would confer, for example, +20% research to the city.
For Social Engineering options like MORALE, this approach may not be entirely viable. Instead some kind of global adjustment is needed. For example, a morale boosting "Social Engineering" option (Civic) would confer +5 experience to newly built units--or perhaps better: 1 or 2 free +10% combat strength promotions to all units (true Social Engineering dynamics); conversely, a negative morale would remove +10% combat strength promotions.
Here's a sample template for simple Social Engineering parameters:
These are city based (local) and confer a simple adjustment to the city parameters (commerce, hammers, happiness, etc.).
The RESEARCH, INDUSTRY, and ECONOMY Social Engineering parameters represent +research, +hammers, and +commerce respectively. Each have incremental values ranging from -9 to +9 adjusting city values as per this table:
Even though the Civics system mimics Social Engineering in most gameplay aspects, I feel that the dynamics and simple consistency in the ten-or-so Social Engineering parameters emphasize the SMAC/X ideology approach to civilizations (factions) and bear a major impact on immersion.
(The trait system may be reworked to account for SMAC/X-like faction adjustments: Robust, immunity, free buildings, free technologies, etc.)
---
From what I am able to understand currently, an implementation of Social Engineering requires SDK and/or python modifications (with corresponding xml changes, of course). I cannot do any SDK modifications, but with a bit of initial help I believe I can work the python code--should python be a viable approach.
I am not entirely sure how the end result should work, but an example could be Planet rating:
This parameter adjusts city health using incremental parameter modifiers ranging from -9 to +9; each value may correspond directly with +/- health adjustments (e.g. +2 Planet rating confers a +2 health bonus). The modifiers are global, but I would like to see the option to have local variations. For example, a Tree Farm facility (building) may add +1 Planet rating to the city (locally).
---
I am looking for help on two aspects: Coding and design. On design, I am asking for help on how to best implement the Social Engineering system and suggestions on how to best adapt the system to Civ4 gameplay mechanics. Coding, I should think, depends on the design.
Edit:
Tentatively, it may be viable to tie Social Engineering parameter values to cities. Perhaps a free, unique building for each leader or civilization is required. This building would confer the dynamic Social Engineering values to the city. As a slightly misleading example, a SMAC/X Peacekeeper faction would have a free "U.N. Administration" building in each city giving +1 happiness and -10% commerce by default (ideally, this is determined by the Peacekeeper's default Social Engineering values). Should the Peacekeepers adopt a research boosting "Social Engineering" option (Civic), the Administration building would confer, for example, +20% research to the city.
For Social Engineering options like MORALE, this approach may not be entirely viable. Instead some kind of global adjustment is needed. For example, a morale boosting "Social Engineering" option (Civic) would confer +5 experience to newly built units--or perhaps better: 1 or 2 free +10% combat strength promotions to all units (true Social Engineering dynamics); conversely, a negative morale would remove +10% combat strength promotions.
Here's a sample template for simple Social Engineering parameters:
These are city based (local) and confer a simple adjustment to the city parameters (commerce, hammers, happiness, etc.).
The RESEARCH, INDUSTRY, and ECONOMY Social Engineering parameters represent +research, +hammers, and +commerce respectively. Each have incremental values ranging from -9 to +9 adjusting city values as per this table:
Code:
SE value | -9 | -8 | -7 | -6 | -5 | -4 | -3 | -2 | -1 | 0 | +1 | +2 | +3 | +4 | +5 | +6 | +7 | +8 | +9 |
City value | -90% | -80% | -70% | -60% | -50% | -40% | -30% | -20% | -10% | none | +10% | +20% | +30% | +40% | +50% | +60% | +70% | +80% | +90% |