Colonization of the Moon -- The Code Extensions Thread

Belizan

Emperor
Joined
Jan 11, 2006
Messages
1,060
STATUS: Coding... ;).
The listings are more or less up to date at this point. I will be tweaking some of the features with additional comments as it occurs to me to do so ;). Also, I will be adding in a few other suggestions that have been made since this list was compiled.

This is the Python coding thread for the Colonization of the Moon mod by JBG et al. Here I am accumulating a list of all the suggestions made so far that might require python coding for discussion about how we might want to implement them, and which, if any implementation we want to use.

JBG said:
Well.... uh.... um.... what actually does need coding atm? What have you done so far?

Belizan, try looking back through the posts... But do tell me what you've got so far.

And so I have... and so I have...

I must apologize in advance, due to the heavy requirements for editting, many of the suggestions and comments for various features may be orphaned from their original authors. sorry :(.

Also included on this thread will be a sysnopsis of where each of these features is in coding status. Each feature will be given a codified feature code for easy identification and indexed here for status and, potentially, author, in the event I do not end up coding them all personally.

Key
Status:
Unconfirmed -- The idea has been discussed but no decision has been made about its inclusion.
Under Investigation -- Further investigation of the idea or feature has been requested to determine feasibility
Passed Over -- This feature was passed over as undesirable or unworkable.
v2 -- This feature is being delayed until a later version
SDK -- This feature has been delayed until the availability of the SDK
Confirmed -- This feature is slated for inclusion in the mod

State:
Unspecified -- This idea has only been talked about, without a discrete discussion of the how it would work or method of implementation determined. In other words, I don't have a very good feel for how this feature is anticipated to be realized in the mod.
Pending Feedback/Confirmation -- Work on this feature is pending feedback on the understanding of the feature, or confirmation from JBG that it is in fact desired for the mod.
Research Required -- Further research is required to determine how this feature might be implemented.
Not Coded -- A plan for how to implement the feature (and what the feature is) has been discussed, but no code has been written.
Review Pending -- A demo of the feature has been created, and is awaiting feedback.
Implemented -- The feature is considered complete and the code ready for inclusion into the mod.
Under Review -- Bugs have been discovered in the implementation of the feature which are being investigated.
(More as necessary--like Under AI Testing ;) )


Python-based Features
Spoiler Feature Status :

1) Random Events
1.1(Confirmed|Unspecified) Digging too deep and causing an earthquake that would have an ICBM's effect minus the fallout
1.2(Confirmed|Unspecified) Dust storm that would kill settlers and workers?
1.3(Unconfirmed|Unspecified) Periodic solar storms are definitely a consideration.
1.4(Confirmed|Unspecified) Also, every year, the Terran system (Earth and Luna) passes through the paths of a number of comets. Comets leave dust trails behind them that enter the Terran atmoshpere as shooting stars. On Luna, they would hit the surface at speeds in excess of 100 kilometres per second. Periodic, annual meteorite showers might add more flavour, n'est ce pas?
1.5(Confirmed|Unspecified) The occasional impact with something reasonably big might be intersting too. It is estimated that over 1000 tons of material lands on Luna every year!
1.6(Confirmed|Unspecified) Also, moonquakes have been detected as Luna cools down. So deep mines could be occasionally destroyed by moonquakes and need repairing.

2) Improvements/Features with Special Features
2.1(Confirmed|Unspecified) Biodomes
2.2(Unconfirmed|Unspecified) Underground Railroad
2.3(Confirmed|Implemented) Radar Tower
2.4(Confirmed|Implemented) Outposts/Air Fields
2.5(Confirmed|Unspecified) Improvement Requirements
2.6(Confirmed|Unspecified) Glasshouse
2.7(Confirmed|Unspecified) Solar Panels
2.8(Confirmed|Unspecified) SATs/AT-SATs (This should move to 5, huh? )

3) Meta-Civilization Effects
3.1(Unconfirmed|Unspecified) New Civilizations join the Colonization race as the game progresses.
3.2(Confirmed|Unspecified) Rebellion

4) Special Buildings, Projects and Wonders
4.1(Confirmed|Implemented) City Architecture (Mega-"Improvements" -- Bunkers and Biodomes)
4.1.1(Confirmed|Research Required) Mega-Improvement-based city displays
4.2(Confirmed|Implemented) He3 Exchange
4.2.1(Under Investigation|Research Required) He3 Exchange production display


5) New Unit Abilities/Special Units
5.1(Under Investigation|Not Coded) Fuel
5.2(Confirmed|Implemented) Artillery
5.3(Confirmed|Unspecified) Self-Propelling Shells/Civ2 style missile weapons
5.4(Under Investigation|Unspecified) Computer Virus Weapons that cause units to lose their turns
5.5(Confirmed|Unspecified) Unit special abilities based system
5.6(Unconfirmed|Unspecified) Mind Control
5.7(Confirmed|Unspecified) March of the Hackers
5.8(Confirmed|Implemented) Turrets
5.9(Confirmed|Implemented) Lancer
5.10(Confirmed|Implemented) Tech-based Global Unit strength modifiers
5.11(Under Investigation|Unspecified) The EMP Nuke

6) Barbarians
6.1(Under Investigation|Unspecified) Earth-based Anti-Independents
6.2(Passed Over|Unspecified) Organisms
6.3(Under Investigation|Unspecified) Debris

7) Merge Technologies
7.1(Under Investigation|Not Coded) Religion Research Mod (niffweed17)
7.2(Under Investigation|Not Coded) Military Bases Mod (TheLopez)
7.3(Under Investigation|Not Coded) Cultural Decay Mod (Bhruic)
7.4(Unconfirmed|Not Coded) Lost Units Mod (frontbrecher)
7.5(Under Investigation|Not Coded) Settler Religion Mod (Bhruic)
7.6(Unconfirmed|Not Coded) Larger map sizes (dlordmagic)
7.7(Under Investigation|Not Coded) Random Events Mod (DireAussies)

8) Civics
8.1(Under Investigation|Unspecified) Foreign Policy Civics
8.1.1(Unconfirmed|Unspecified) Isolationism
8.2(Confirmed|Implemented) Civics Selection Screen Display issues
8.3(Under Investigation|Unspecified) Other Civics

9) Great People & Specialists
9.1(Confirmed|Implemented) Great Artist (as normal)
9.2(Confirmed|Implemented) Great Engineer (as normal)
9.3(Confirmed|Implemented) Great Merchant (as normal - possibly can be changed)
9.4(Confirmed|Implemented) Great Scientist (as normal)
9.5(Confirmed|Implemented) Great General (created randomly when an experienced unit enters combat)
9.5.1(Confirmed|Implemented) Great Generals are spawned from experienced units winning battles.
9.5.2(Unconfirmed|Unspecified) give a complete promotion line (say, all garrison promotions, or all city raider promotions) to a unit.
9.5.3(Unconfirmed|Unspecified) give one promotion to each unit in a stack.
9.5.4(Unconfirmed|Unspecified) lead a unit to certain victory.
9.5.5(Unconfirmed|Not Coded) upgrade all instances of a certain unit for free.
9.5.6(Confirmed|Implemented) fortify a colony granting a massive defensive bonus plus an experience bonus for units garrisoned in the city.
9.5.7(Confirmed|Implemented) set up a military academy that incurs a smaller defensive bonus and a massive experience bonus for any unit built in the city.
9.6(Confirmed|Implemented) Great AI (sort-of great prophet, but more powerful (and rarer)
9.6.1(v2|Research Required) Limit spawning based on civic/religion/technology
9.6.2(Confirmed|Implemented) enter a city's networks as a super specialist, providing massive commerce and science benefits
9.6.3(Confirmed|Implemented) enter a city's networks as a permanent resident, helping protect against spies and viruses, incurring a defensive bonus, reducing corruption/maintenance and increasing the science of the city
9.6.4(Unconfirmed|Research Required) Enter another civ's networks as a secret agent for only a few turns, granting access to that civ's LOS and cities.
9.7(v2|Unspecified) Great Statesman (? tentative - only add if possible to add new great people)

10) Leadership Traits
10.1(Confirmed|Implemented) Scientific
10.1.1(Confirmed|Implemented) +50% chance of generating great scientist
10.1.2(Confirmed|Implemented) Can access scientific-type units
10.1.3(Confirmed|Implemented) Scientific improvements generate happiness
10.1.4(Confirmed|Implemented) Large numbers of military units generate unhappiness
10.1.5(Confirmed|Implemented) Cannot access more advanced military units
10.2(Confirmed|Implemented) Economic
10.2.1(Confirmed|Implemented) +50% chance of generating great merchant
10.2.2(Confirmed|Implemented) Can access trade units; 1 free trader unit
10.2.3(Confirmed|Implemented) Commercial improvements generate happiness
10.2.4(Confirmed|Implemented) Happiness improvements are less effective
10.2.5(Confirmed|Implemented) Cannot access more advanced scientific units
10.2.6(Confirmed|Implemented) +1 upkeep for scientific units
10.3(Confirmed|Implemented) Independent
10.3.1(Confirmed|Implemented) 2 free military units per colony
10.3.2(Confirmed|Implemented) +50% chance of generating great general
10.3.3(Confirmed|Implemented) Military improvements generate happiness
10.3.4(Confirmed|Implemented) Scientific improvements are less effective
10.3.5(Confirmed|Implemented) Cannot access more advanced commercial units
10.3.6(Confirmed|Implemented) +1 upkeep for commercial units


The Bible
There are a lot of technologies, buildings, improvements, etc. listed in the bible. Without personally attempting to implement them all in XML I'm not entirely certain which ones require Python support. This is an area where woodelf and others should post requests for help implementing bible elements that are proving difficult to capture in XML.
 
Falkonite said:
What if something would go wrong in the colonisation? Could that be reflected through something similar to global warming? Or maybe some disasters?

Spoiler Coder's Commentary :

All the suggestions in this section seem codeable, modulo that none of them are very well specified. I could, I suppose, just "make up the details". But.. yeah... anyway...


  1. (Confirmed|Unspecified) Digging too deep and causing an earthquake that would have an ICBM's effect minus the fallout
  2. (Confirmed|Unspecified) Dust storm that would kill settlers and workers?
  3. (Unconfirmed|Unspecified) Periodic solar storms are definitely a consideration.
  4. (Confirmed|Unspecified) Also, every year, the Terran system (Earth and Luna) passes through the paths of a number of comets. Comets leave dust trails behind them that enter the Terran atmoshpere as shooting stars. On Luna, they would hit the surface at speeds in excess of 100 kilometres per second. Periodic, annual meteorite showers might add more flavour, n'est ce pas?
    Spoiler Discussions :

    12monkeys said:
    - Asteroid Defense :
    Something like SDI but instead for anti-nuke its for anti-asteroids.
    Could effect significant less damage due to asteroid impacts for the ownsers nation.
    woodelf said:
    Biodomes would be cool, and also a python script that has a random chance of something falling from the sky destroying the dome or any improvement for that matter. I like the idea posted earlier about falling debris also potentially being very, very good. Like the old pods from SMAC.
    Lapoleon said:
    Maybe you could also use some elements from DireAussies random event mod, it already has earthquakes included, and there was some talk that it wasn't too diffiult to do meteors as well. The only problem is that the mod doesn't work anymore since the latest patch, but it might return.
  5. (Confirmed|Unspecified) The occasional impact with something reasonably big might be intersting too. It is estimated that over 1000 tons of material lands on Luna every year!
    Spoiler Discussions :

    woodelf said:
    I'm still thinking about debris. Maybe it won't have mutant microorganisms, but a lot of stuff hits the Moon. It'd be cool to simulate that, but I don't know what sort of stuff really hits it, other than rock.

    I'd think bigger chunks could either A) cause damage if they hit an improved tile, B) drop a valuable resource (like a tech breakthrough), or C) impact the ground and create a new resource tile. Or maybe all three are possible at the same time. And during periods of increased activity the % chance of an impact goes up. Also with improved tech maybe the colonists could learn to deflect, capture, or destroy incoming chunks.
    woodelf said:
    I'm still convinced we need some sort of debris/collision model. Maybe it won't have space amoebas, but it can cause damage, create a new resource source, lead to a tech breakthrough, or simple be a Lunar goodie hut.

    You could have multiple sizes of potential collision sources each with different low %s of hitting the moon. And then each of those has a chance to yield something for the colonists or simply cause havoc.

    What about building and improvement hit points? Again, I'm thinking of debris. It'd be cool to have a biodome get hit and only get damaged, thus requiring some repairs before something else hits it!
    Belizan said:
    Both of those are potentially doable, although would require more discussion to flesh out the ideas enough for them to be codeable.
    JBG said:
    @Woodelf: why not have 'debris' as a barbarian unit? Say:
    - it's a one-off attack unit (missile unit in other words)
    - it can only move in a straight line
    - it has a wide (but not infinite) range
    - it leaves some kind of mark when it hits depending on its size

    Just a thought. Might be rather hard to implement, though. What's your opinion, Belizan?
    (See 6) Barbarians for further discussions)
  6. (Confirmed|Unspecified) Also, moonquakes have been detected as Luna cools down. So deep mines could be occasionally destroyed by moonquakes and need repairing.
 
Quite a few special improvements and features (generally routes) have been suggested as well.

  1. (Confirmed|Unspecified) Biodomes
    Spoiler Discussions :
    woodelf said:
    Biodomes would be cool, and also a python script that has a random chance of something falling from the sky destroying the dome or any improvement for that matter. I like the idea posted earlier about falling debris also potentially being very, very good. Like the old pods from SMAC.
    Falkonite said:
    In case such a disaster would happen, woodelf, the colonists would learn of this tradegy and learn to build enforced domes? Anyone considered about the 'learning the bad way' -option?

    Spoiler Coder's Comments :

    Belizan said:
    Well, we could implement a random chance that biodomes might get hit and damaged by tiny fragments of debris floating through space, and introduce a technology which gave you a save against it, and another which made you immune. That sort of what you were thinking?
  2. (Unconfirmed|Unspecified) Underground Railroad
    Spoiler Discussions :

    Falkonite said:
    Railroads. Hmm... Underground network?

    Spoiler Coder's Comments :

    Belizan said:
    Meaning... what... exactly? That it isn't pillagable?
  3. (Confirmed|Implemented) Radar Tower
    Spoiler Discussions :

    JBG said:
    Unfortunately, the Radar Tower fell by the wayside because there's no way I can see of giving improvements an LOS rating or the ability to detect stealth.

    Spoiler Coder's Comments :

    I have this feature implemented in a demo mod already.
    1. Radar Tower grants bonus to friendly air forces within a certain radius
      Spoiler Discussions :

      Belizan said:
      You mean the radar tower provides some sort of bonus to... whom? Units on the same square? The nearest city? Or are you saying the radar tower is a building not an improvement?
      dsquared said:
      Radar Tower: Bonus for all friendly air forces within say 2-3 tile radius
  4. (Confirmed|Implemented) Outposts/Air Fields
    Spoiler Discussions :

    JBG said:
    The Outpost had to be modified because there's no way I can see of giving improvements the ability to refuel air units.
    dsquared said:
    Second bullet point: (Airfields...) If possible, I'd like to do this, although I think you've already said it'll need the SDK. Also how would we stop these auto-spawned units adversely affecting game play and upkeep?
    Belizan said:
    We can do airfields now, just clunky. We make a unit with no movement (optionally invisible--doesn't really matter) which is capturable and has no defense that acts as a carrier. It can't be built, but we spawn one whenever a worker builds an airfield improvement. That's for ordinary air. For fuel-based air, it's even simpler, and a demo is already built in my demo fuel mod.

    Spoiler Coder's Comments :

    I have this feature implemented in a demo mod already.
  5. (Confirmed|Unspecified) Improvement Requirements
    Spoiler Discussions :

    JBG said:
    How do you ensure that you can only build improvement x if improvement y has been built there first?
    Belizan said:
    Override CanDoImprovement. Also there is an upgrade path for improvements which is used for Towns. It may be co-optable for what you want to do.
  6. (Confirmed|Unspecified) Glasshouse
    Spoiler Discussions :

    Belizan said:
    I'm not sure about the Glasshouse effect. I don't know if we can create a source of fresh water programmatically or via XML, I'll have to look into that, if no one else has.
    woodelf said:
    By glasshouses do you mean greenhouses for growing seeds/plants?
  7. (Confirmed|Unspecified) Solar Panels
    Spoiler Discussions :

    dsquared said:
    You said way earlier in thread you want an incentive for solar panels well how about make every pop unit and building require one panel. so replace health with power and every solar panel delivers one health to nearest city (finally a use for all those tiles outside the city's fat cross)
    Belizan said:
    Can you make a resource/improvement delivery one health per via XML? Or is this something I would need to research?
    dsquared said:
    I'd just assumed adding one health was easy, a la forests no? I guess the hard part is having tiles outside city radius create health, forest bonus is for inside city radius hmm, is it possible to change health factor to a civ wide factor and distribute it to cities, so 2 city empire with 16 panels collectively in it's borders can have 16 - [number of power units buildings consume] total population? I guess this is complicated huh... would be nice though I thought power implementation in civ 4 was lame.
  8. (Confirmed|Unspecified) SATs/AT-SATs (This should move to 5, huh? )
    Spoiler Discussions :

    dsquared said:
    MPS constellation, Moon Positioning Satellites would be just as important to an advanced moon military as they are to an earth-based one, World Wonder candidate here, adds special promotions to all units? +25%? Balance issues here.
    Belizan said:
    Well, I think many nations could have an MPS system (I mentioned this briefly before, but I wasn't sure what the real life physics were for stable orbits around the moon. We could develop our own sat/killer sat ruleset and add it on to the game. Allow people to build additional sats/killer sats to effect a satellite coverage rating, then each turn grant every unit of each faction a promotion that reflected that faction's satellite coverage during that turn.
    dsquared said:
    On multiple MPS yes you can have multiple for instance US GPS and ESA proposed constellation. AT-SATs would be nice and realistic but that might make it more complicated than it has to be. I'm searching XML to see if its possible see what you can find.
 
Features which add/remove or otherwise impact entire players/civilizations

Spoiler Coder's Commentary :

All of these are problematic as without the SDK there is no way to add a player dynamicly. It is rumored (but I have not verified) to be possible to activate "dummy" players added to a scenario via the World Builder, but that would require both verification and the creation and limitation of the game to World Builder generated scenario (or the creation of a method for detecting and disabling certain features based on whether the game was started using the WB map or a custom map generator file.


  1. (Unconfirmed|Unspecified) New Civilizations join the Colonization race as the game progresses.
    Spoiler Discussions :

    JBG said:
    I was thinking of having it start with one of the five space agencies, and then using Python to introduce (or at least activate) other civs as we go along. Although this is headin off into scenario territory a bit...
  2. (Confirmed|Unspecified) Rebellion
    Spoiler Discussions :

    dsquared said:
    I always loved the rebellion in civ2 but implementation is ugly
    Belizan said:
    Need the SDK for this. You can't add players. Best we might be able to do is reserve a certain number of unused players via the WB (since we have a scenario anyway) and then reactivate them. I have heard of this being done, but have not looked at it.
    JBG said:
    Third bullet point: (Rebellions...) what sort of rebellions? The worst I ever had was civil disorder. Having colonies secede is already programmed in via culture, but having them break away to form barbarian states might add an extra level of interest. If possible this might be worth looking into...
    Belizan said:
    We can flip them to the barbarians, that's easy (although coding the criterion might be difficult). We can't spawn new factions to put them in. At least not yet, not without a scenario and some experimentation, and even then, we will have to have dummy civilizations waiting to be brought to life by a rebellion event. I've looked at this problem a lot, and it is my opinion that this is best left for the SDK.
    dsquared said:
    On Rebellion: Yes having and outlying city swap over to Barb civ would be fun, when I heard barbs were going to be able to have cities again in civ4 i was excited but even on highest level they aren't strong enough to make interesting more of an annoyance. Rebellion in civ2 split your empire in half roughly usually by the time you were about to dominate the world.
    dsquared said:
    i really think we need to have a rebellion feature that flips an outlying citt to the barb civ which will become sort of a free luna civ or something, and we need to NOT handicap them ie give them tech parity with second or third tech leader, this way there is a civ that is constantly threatening all civs militarily i think that makes it interesting what do you guys think?
 
Buildings which require special handling or code to implement their effects

Spoiler Coder's Commentary :

Building effects are easy?


  1. (Confirmed|Implemented) City Architecture (Mega-"Improvements" -- Bunkers and Biodomes)
    Spoiler Discussions :

    JBG said:
    Similarly, I completely agree with Belizan. I think cities could have two 'options' (think mega-improvements here) - either they can be bog-standard concrete armoured buildings, which have good defensive bonuses but make some people unhappy, or nice big open attractive biodomes which make people happy and add health - but that come with no defensive bonuses (or even negative defensive bonuses).
    JBG said:
    Belizan, is there any way (easily) of having the Biodome/Bunker routes of city architecture (see earlier posts and the Bible for more). It'd be rather good to have them. And, if it's possible, is there any way of making the AI choose between them rather than having all it's cities as one type?
    Belizan said:
    As to the actual mega-improvements themselves, we can write our own decision process and put it into canConstruct/cannotConstruct which will basically allow us to make the decision for the AI. As for the effects of those two buildings, I'm going to have to look into it deeper to see if I can implement something like the ExtraYieldThresholds you want (buildings don't seem to be able to do that in XML) and I'm not sure it's possible to "set" the defensive bonus of a city to 0% (but we can give it a negative modifier I think ).
    JBG said:
    Any progress on programming the two mega-improvements btw? (Biodome and Bunker)? Sorry, I don't mean TILE improvements, Belizan, I mean buildings in cities :duh:
    Belizan said:
    As for the mega-improvements, if you can describe to me the criterion for deciding when to build them, I can (probably) code it.

    Spoiler Coder's Comments :

    Belizan said:
    Ok, so I have two basic questions. These two "mega-improvements" represent the overall architectural design of the base/colony/city, right? So... You have to decide it when you found it? Can you change architectural types once the city has been founded? Are they only made available via certain techs (do I have tech concerns)? Note that all of these are doable, but I want to know how you want it to work before I start coding it up and debugging it. Also, if you could give me a description of the decision process you'd like the AI to use when picking between these...
    JBG said:
    NOTE: I still think in Civ-II terms, so more often than not, when I say 'improvement' I mean 'building' or 'city improvement', *not* 'tile improvement'. This is doubly confusing because we have a biodome building AND a biodome tile upgrade.
    Okay, when I first visualised the two mega-improvements, my thinking was roughly this:
    1. Okay, we know that some improvements, when built, change the graphical appearance of the city on the main map, i.e. their graphic appears among the other buildings of the city.
    2. With that in mind, there will presumably be a number of different ways of building colonies on the moon...
    See where I'm going with this?

    Basically, the biodome and bunker buildings convey a number of great bonuses and penalties (see the moon bible for details) and significantly alter the character of a colony. When they're built, the graphic of the colony on the main map changes also. If the bunkers improvement is built, the colony becomes a series of armoured, buttressed bunkers. If the biodome improvement is built, the colony is surrounded by a low circular wall and entirely covered by a transparent dome structure. These improvements, in other words, do not just appear with the other buildings with the colony's grahpic; they actually chnge it radically.

    As one can reasonably guess, the biodome improvement adds health and happiness, while encouraging science. However, it essentially nullifies any defensive bonuses of the colony - if it's punctured more than a few times, it could collapse.
    On the other hand, the bunkers improvement add defensive bonuses, reduces war weariness and increases production. However, it adds unhealthiness and slightly increases unhappiness.

    That is only a rough outline, however. One thing I would like to stress is that the two should be balanced enough for players to make a serious decision with each colony, rather than just having all their cities as bunkers. Similarly, it would not do for the AI to have all THEIR cities as bunkers either. There must be enough differentiation, and enough balance, to make both human and computer make a choice with each colony.

    Of course, they do not *have* to build EITHER improvement in a colony.
    1. (Confirmed|Research Required) Mega-Improvement-based city displays
      Spoiler Discussions :

      JBG said:
      The reason why I asked if it was possible to keep the swaying trees graphic was so that we could have ?(as well as the buildings) perhaps the occasional tree swaying gently beneath the transparent, magnesium-reinforced piezoelectric polymer of a biodome? It would look fantastic if done well.

      The main stumbling block with this is that so far we do not have a suitable building mesh to use as a biodome. We have the colosseum building, but that doesn't have a dome on top. The word is 'bioDOME' so it has to be, ah, DOME-shaped.

      Attatched are three images, all collages from my Civ-II FW moon mod. The first shows, from left to right, the farmland (2nd level food tile improvement) equivalent (the tile biodome) and two city-graphics. The biodome city improvement should look rather like a cross between the first and second graphic. The third graphic is a design for a series of interlinked biodomes.

      The second image shows four different designs for bunkered colonies. The citadel, fortress-style should be easily apparent.

      The third image shows two potential designs for colonies that do not have either mega-improvement.

      I hope that particular attention is payed to the first of the three!
      And I also hope this has been rather helpful.
  2. (Confirmed|Implemented) He3 Exchange
    Spoiler Discussions :

    Belizan said:
    +2 gold per He3 resource in the city radius which are connected to the city and have the right improvement built on them regardless of whether they are worked.
    • (Under Investigation|Research Required) He3 Exchange production display
      Spoiler Discussions :

      Belizan said:
      Modify the current value of the gold production of the He3 Exchange in the city display.
 
New Python based abilities and features of units

  1. (Under Investigation|Review Pending) Fuel
    Spoiler Discussions :

    Haarbal said:
    can we all please stop talking about the SDK
    everybody is getting lazy and saying that all the stuff only will become possible with the SDK without knowing anything about it.
    on this tread, created by JBG, the first answer someone shouts is that the SDK is required, while it's easy to mod in.
    dsquared said:
    I for one would ditch fuel because A) its hard to implement B) AI is too dumb to use and C) limited to land or sea. Let's just use the airbases idea, and I know JBG will want to differentiate between spacecraft and aircraft but heres a reality check, anything on the moon that flies is a spacecraft, there is no atmosphere so fixed wing aircraft are useless. The air mission model civ4 uses is pretty realistic in that air units have inherent limited range and operate from a designated base, to add a starcraft style protoss carrier unit we could just make a land unit that treats all terrain as road give it good movement and have it be a base for aircraft a la the vanilla civ aircraft carrier. theres not much water on our map anyways so its not that big of a difference.

    dsquared said:
    Ditch Fuel completely, civ 4's air treatment is OK but with upped damage could be better. So a Fleet of attackers is at a significant disadvantage to a prepared enemy but fleet on fleet carrier task forces approximately equal. Radar towers add air attack def bonus perhaps in addition to LOS.
    JBG said:
    First bullet point: (Ditch fuel...) I think I would prefer to keep fuel so we can differentiate between fighter- and spaceship- type air units. Also you have already demonstrated that it'll work in-game, so I'd like to keep it.
    Belizan said:
    Well, let's be clear here. We do not (may not) have the ability to make fuel-based airplanes. Because airplanes can go over land or sea, and we can't make a unit that does both without serious side effects (like it being nigh invulnerable on attack). We can do the rest, though. If you like, I can package up my fuel-based mod, and you can take a look at it.

    Spoiler Coder's Comments :

    Belizan said:
    I have working fuel-based unit mod (modulo that you can't make anything capable of going over land and sea at the same time), but the AI has no idea how to use it. I have been considering how to solve this problem, and with a little bit of creative cheating, it's *possible* I may have a solution. I wasn't sure how important this was to us, though, as JBG sort of mentioned it in passing a while ago.

    Belizan said:
    Ok, I can't use the trick I was thinking of for fuel-based units, but I have thought of another way.

    Every turn, onBeginPlayerTurn if Player not isHuman, we walk the list of units.

    For each unit which is fuel based and has less then half it's fuel tank, we do the following:

    1) Patch up it's fuel tank--If it has 0 (and the out of fuel bit isn't set), we give it it's move in fuel. If it has < then it's move but more then 0, we give it it's move + 1 in fuel.

    2) We find the nearest source of fuel (this is hard, given terrain issues)

    3) We find a square it canMoveInto within its move range on the path to the fuel.

    4) We setXY() the unit to that location

    5) We finishMove() the unit

    6) setAI to None (just in case)

    7) We test for refueling by hand, if it's in the same square as a refueling unit (carrier for instance), we refuel it automatically

    8) When it gets refueled, we reset it's ai to Unknown, which I am guessing is used by the engine to mark a unit which needs a new role assigned to it.

    This gives the computer some advantages when it comes to it's fuel units, but nothing that major, IMO. The hard part is dealing with different travel modes and finding the shortest path to the nearest fuel depot. Totally solvable, just a lot of work. The second hardest problem is the moving target issue--carriers (or other supply units) can move, making predictive movement problematic. Easiest solution is just to put in a flag "rendezvous" or some such, ref count, say, so that when a unit comes in to rendezvous with a supply unit, it tags that unit so it won't move (and we just finishMove() it every turn at the start of the turn.

    Best solution I have so far to the fuel-based units & computer player issues.
    The Great Apple said:
    Are you sure chaging the unitAI is neccessary. Surely if it's got no moves it doesn't matter? Also, won't this mean that AI units will never run out of fuel? What happens if there are no carriers left?
    Belizan said:
    Totally not necessary, but... I don't know how the engine manages its units. What I want to avoid is the idea that it says, Ah, I have this unit, I want it to go to place A) (farther then my fuel/2 limit will let me reach). It starts to go there, then, I can't move it for a few turns, then I can move it again, well, let's keep moving towards A. By resetting the unit AI I hope to force the computer to make a new plan for the unit once it is refueled. To limit the possibility that it will just yo-yo its units around (which seems likely).
    matthewv said:
    @Belizan
    I knew you would be intrested in how I did this. What I did is when a unit is selected that can 'walk' on water, all the the water terrain is turned into the same type of terrian that is defined as a land type of terrian in the terrain infos xml file instead of a water type. In testing it out I made so that settlers could walk on water and it worked beautifully. My settler could walk on water but my warrior could not. There was also no way of noticing while you were playing the game and had the settler selected that the water was actually a land terrain type. Doing it this way also does not handicap the AI since they will also realize they could walk on 'water' with certain units since they will think its land.
    Belizan said:
    So you are saying you made two versions of each water terrain, roughly identical save that the "land" version had <bWater> set to 0, and then onUnitSelected you do a sweep of.. the unit's move range? The entire map? And swap the terrains, then swap them back on the next unit selected? I didn't even think the AI sets off unitSelected events? Clever idea though, I had for some reason assumed that changing the map would cause graphical glitches and map corruption (from failing to track when to change it to and fro), not to mention I wasn't sure how to manage it properly for the AI :/. Have I got the gyst of your algorithm, or was there even more deviousness involved in your solution? Inquiring minds want to know 8).
    matthewv said:
    @belizan
    I dont know whether the AI sets of onunit select or not but I definately hope it does. And I would do a sweep of the entire map. I got no graphical issues because I set the last two boolean values of set terrain type to 0 so that it did not recalculate or redo the graphics. It is actually a really simple short algoritham which I think you figured out well.
    dsquared said:
    you may be right belizan, the AI may not get this benefit, i dont know if he watched the AI to see what happens, create a map with one plot surrounded by water and see if the AI can get off of it
    Belizan said:
    Well, my other concern is the gotcha factor. Improvements are set to only exist on certain terrains, and generate resources based on terrain type, etc. With an OnUnitSelected based algorithm, you ahve the problem of aberrations from, say.. when a player goes from a selected unit directly to the city view. Or he ends his turn (i don't know if OnPlayerEndTurn runs before or after production). Most of these can be safeguarded against by duplicating the entries in Improvements, etc. to work equally well on the water tiles and the waterthatisland tiles, I suppose. I just.. worry that we've missed something :). It seems open to problems. I guess I should stop postulating and just build it and see 8). That old Mac programming style versus Windows programming style issue 8).
  2. (Confirmed|Implemented) Artillery
    Spoiler Discussions :

    JBG said:
    Artillery might be useful after all, you know
    dsquared said:
    What is the story on returning artillery to how it operated in civ3, ranged and capturable?
    Belizan said:
    Easy to do except for the part where the AI will never use them properly.
    dsquared said:
    OK, AI wont use artillery as it uses air units to bombard?

    IMO, civ4 went backwards with artillery, guns are always captured in war and never actually ENTER combat oh well are you sure we cant get the AI to use like a bomber?
    Belizan said:
    Well, I haven't looked at making bombarding units be carriers that can only carry "bombardment" aircraft that get destroyed at the end of every turn and remade at the beginning of every turn and have only one operation, bombard. That might work. I'd have to look at making new aircraft. Of course that could make for some funny tricks. Like... Transfering the bombardment from the arti to a city then moving the arti and then attacking with the bombardment. Depends on what rules you'd want to have govern it, but I suppose that sort of implementation could be made to work.

    Exactly what rules do you want? Can you move and bombard in the same round? Can you bombard more then once per turn? etc., etc.

    Edit: And of course this presupposes I can override the ability to rehome bombardments, whcih could be problematic.
    woodelf said:
    I've always thought Fighters were stupid personally. I like Bombers, but the AI seems ambivalent. I think they do use the current bombardment system, but it would be hard, like Belizan said, to teach them to use Civ3 artillery.

    Kael in his FfH mod sort of put in Civ3 artillery by having magic users create a Fireball that basically blows itself up at the city, doing collateral damage after it targets one defender. The AI seems to use this.
    Belizan said:
    So I'm told, but I've never had the AI use it in any of my FfH games :/. But I digress.
    dsquared said:
    jsut had an idea: artillery unit is a carrier, it carries a unit called Shells or whatever ammo it uses, the unit dies after being 'fired' and it regenerates shells at a certain rate, what do you think of this? that way you can store up bombardment and attack all at once, then not be able to for a round or so
    Belizan said:
    Yeah, that can potentially be done. I don't know about side effects or gotchas at the moment. I have some concerns about hard coded aircraft missions atm. I would have to try to implement it to have a better idea. But it sounds promising.
  3. ... (see below)
 
Python-based unit features and abilities continued...

Spoiler Coder's Commentary :

Making new unit features or traits is "easy". What is hard is getting the AI to use them properly (or in some cases, at all).


  • Fuel (see above--split off for post character limit considerations)
  • Artillery (see above--split off for post character limit considerations)
  • (Confirmed|Unspecified) Self-Propelling Shells/Civ2 style missile weapons
    Spoiler Discussions :

    JBG said:
    what about self-propelling shells?
    JBG said:
    Does anyone know if it is possible to program in Civ II-style missile weapons? That'd be cool.

    Spoiler Coder's Comments :

    Belizan said:
    Someone would have to remind me how they worked?
  • (Under Investigation|Unspecified) Computer Virus Weapons that cause units to lose their turns
    Spoiler Discussions :

    JBG said:
    Later on we could have computer virus weapons that can force units to skip turns.

    Spoiler Coder's Comments :

    You might be shocked at how easy this would be to implement, and yet how difficult it might be to get the AI to take advantage of it. I suppose we could force it to do something along these lines in OnPlayerBeginTurn. Basically making the decisions to use the ability ourselves. Not that the AI will understand what the unit is for, or where to position it.
  • (Confirmed|Unspecified) Unit special abilities based system
    Spoiler Discussions :

    JBG said:
    How about the first few units have no combat but other special abilities? That could result in a really diverse 'army' by the time the first brute-force unit comes along.

    Spoiler Coder's Comments :

    Belizan said:
    The trouble here is, teaching the AI to use the abilities. One can add a great many special abilities to units right now, but the AI won't know what to make of them :/
  • (Unconfirmed|Unspecified) Mind Control
    Spoiler Discussions :

    woodelf said:
    How about mind control? How far down the tech tree is that for combat?

    Spoiler Coder's Comments :

    Again, easy to do, even with a limited duration, except for the part about the AI knowing how to use it.
  • (Confirmed|Unspecified) March of the Hackers
    Spoiler Discussions :

    Falkonite said:
    Hackers are awfully under-rated. Everybody seems to think that they're all bad-guys. There are white-hat hackers, black-hat hackers and gray-hat hackers. I think you can figure out the difference between these three groups.
    Communication is important on the moon to help reduce mix-ups and enhance coordination. Maybe there could be white-hat hackers that could build communication networks to act as other type of 'roads'? Black-hatters would be of course militaristic hackers that could destroy of take over these networks?
  • (Confirmed|Implemented) Turrets
    Spoiler Discussions :

    Haarbal said:
    idea for turrets
    create a unit with no movement, which is limited to 1 per city (if possible, otherwise make it a national unit, with a max of 5 or something). you can use a modern armor model for that (or mobile SAM/mobile artillary, havent seen those yet), shrik it and put it in a group of 2.
    Belizan said:
    Turret? What turrets? What effect are we going for? I can think of quite a few ways to implement "turrets" :).
    woodelf said:
    Turrets would be nice non-movable defenders (like haarbal said) that would have a limited number per city and be constantly upgradable. I'm thinking like the Age of Empires towers. When you get a new tech the turret gets upgraded automatically. Is this possible? That way the AI keeps having at least one good defender. :)

    I need to get some types of weaponry in the tech tree. Ions, Plasma, Particle beams, ect.
    Belizan said:
    It's totally possible, just a question of how we want to do it.

    You want the turret to require to be built? Or just /always/ there?

    For instance, we could have a building called "turret defenses" which when built caused a turret unit to be spawned in the city, which at the end of every turn, if it were destroyed, would be replaced by a new turret unit. Similarly, if techs updated such that a new turret unit type were required, it would be replaced at the end of every turn. That's easy.

    woodelf said:
    That would be an interesting defender. It get's rebuilt each turn if the city isn't taken? It would require some tweaking, but anything that might help the AI is a good thing.

    So destroyed = rebuilt, but damaged still has to heal?

    Haarbal said:
    like the missile turrets woodelf mentioned in his techs on the top of this page, in his tech list

    Haarbal said:
    i would say, build it like a unit, avaiable to retrain after captured, updradable at the cost of gold (new weapons/armor)

    Belizan said:
    Well, but all he said was "Missile Turrets". That's interpretable in a great many ways .

    As for repairing vs. being fully repaired at the end of every turn, we can set it up so it is fully repaired at the end of every turn. We can also "remove" it's ability to get promotions. We just have to decide how we want it to work.

    Haarbal said:
    removing the promotions is a good idea (because it's a machine, it shouldn't get promotions). but i'm not sure about the full repair at the end of every turn. we might let it start with a increased heal rate (simply give it a boosted heal promotion at the start).

    further is must have no movement and some balanced strength (but a bit stronger than regular units in that era) and maybe give it no defense bonusus.

    Belizan said:
    I'm going to need a much better description of the turret before I can say whether I can code it. The big limitation is likely to be what the AI will utilize.

    woodelf said:
    I was thinking it was a non-movement defender that protected the cities. It has garrison promotions. And with the proper advisor, like Military, and weight of AI choices the AI will build them. Think of non-movable archers.

    The coding part will be making it so each city only can have one at a time and to make sure they automatically upgrade when the next tech is researched. This should ensure that AI cities will always get one good defender that can't be tricked into leaving the city.

    Belizan said:
    Fulfilling that description is easy, but, the AI will keep building them even after he has one with that description. Better to make a Turret Defense building, which programmatically causes the turret to be built, that way the computer understands that he can only have one.

    woodelf said:
    Can't you program it in that only one per city is allowed? Maybe do a check at the beginning of each turn? I don't know Python, but that sounds possible....
    Kael said:
    I would think doing it through a building is gonna make it hard when the first turret dies. Does the building monitor every turn to see if one exists, and if idt doesn't it makes a new one? Does it count for a few turns and then make one?

    Most likely you will want to be able to build a new one like other units. Which means you are probably best off to block in the CannotTrain function. The CannotTrain function is passed the pCity so it would be enough to scan the units in the city and see if a turret was already there. If it is, then block the build.

    You should be able to do this with a single check in CannotTrain, and wouldn't need a building for it.

    Belizan said:
    Ah, thanks Kael, I wasn't aware the AI used the Can/Cannot series of functions. Given that, yeah, it's easy to do

    TheJopa said:
    imho turrets should be imovable units but have rebase ability, and be limited to 4 per nation. Also I don't see why they should be automaticaly upgraded? It seems realistic to spend money to upgrade them.

    Spoiler Coder's Comments :

    Belizan said:
    I have Turrets working, and have confirmed the AI uses them.

    I currently have them set up to auto-promote (which was the hard part, btw). The code could use some cleaning, and could be a lot more user friendly (for instance, right now, to add a new type of turret, you have to add its UnitClass to a list in the Turrets.py file). I will probably, at some point, get around to writing the code to dynamically derive a list of all turrets from the upgrade information of the base turret unitclass. But for now, I'm sticking with this. I also have concerns about branching upgrade paths and civ specific UU turrets, both of which will require more testing and modification of my algorithm to accomodate. But at this point I feel like we have basic functionality there .
  • (Confirmed|Implemented) Lancer
    Spoiler Discussions :

    woodelf said:
    In the bible JBG mentioned the unit Lancer being able to disable tracked unit class units. Now, would the Lancer need a promotion to enable this and how would you "disable" another unit? And after it's disabled can it be fixed and how do you capture it?
    Belizan said:
    Well, you can "disable" it by capturing it? Or we could add an action button for that unit. The trouble with an action button is that the AI won't use it. What we can't do is intercept combat . We can do things orthogonal to it, or after the combat is over (capture, respawn, extra damage to winner, heal winner, etc.)
    JBG said:
    Oh, by the way, Woodelf and Belizan, the Lancer unit is supposed to be able to capture tracked units. It can't however, capture automated tracked units (like the TANDEM).?

    Spoiler Coder's Comments :

    Belizan said:
    Ok, so this is basically just a variation on the slavery mod with different units 8). Yes, it can be coded. No the AI won't realize that it has a special opportunity with Lancers, but yes, it will get to capture them should it choose to make that attack anyway. *BUT*, this presupposes that the Lancer wins the fight, and that it is acceptable for the Lancer to lose, based on an ordinary strength battle. Also, I'm going to want to know unit classes or combat classes or some other specifier to indicate which vehicles are capturable.
  • (Confirmed|Implemented) Tech-based Global Unit strength modifiers
    Spoiler Discussions :

    dsquared said:
    Sixth bullet point: (Laser countermeasure techs) Is it possible for techs to alter the strength/promotions of units? If so would it affect the AI? Having new techs make units stronger against obsolete units might be interesting...

    Spoiler Coder's Comments :

    Belizan said:
    Sure. Easily done, assuming we define those rules carefully. There are some limitations because of the way bonuses can be assigned. You can only have general bonuses, bonuses based on terrain, bonuses for attacking (or defending), bonuses for attacking/defending a city, or bonuses against specific domains or unit combat types. Domains are effectively hard coded, but we can add unit combat types at will. So, as long as we break our generations of weapon technology appropriately via unit combat types, we can have promotions cause units to be built (or augmented) with bonuses against now obsolete technologies. This does not, however, let us do the cross-mapping. The AI will use them but will not especially understand them. We can attempt to tailor it's behaviour with weights and flavors.

    Ok.. So here's what we could do for the cross-mapping problem. At the beginning of each turn (or each player's turn if you like), or even onTechAcquired, although I've seen some issues with trapping that event... We look at all the player's tech states and determine what is "state of the art" and how each player compares to that. Then we sweep each player's units and grant them "Tech Edge" promotion effects in accordance with that player's overall tech level. So, for instance, "Tech leader" might grant a +25% strength, whereas "Badly Outmoded" might grant a -10% strength. Assigned accross the board, and you have an overall tech-based combat modifier for all units based on where people sit relative to each other in the arms tech race. E.g. France may be doing alright with "Advanced Technical Capabilities" +10% strength, but when facing China's "Tech Leader" advantage of +25%, France is effectively at -15%. But against Germany's "Badly Outmoded" bonus of -10%, France has a 20% edge. Make sense?
  • (Under Investigation|Unspecified) The EMP Nuke
    Spoiler Discussions :

    JBG said:
    Last bullet point: (EMP weapons). Hmm. They would tend to work against electronic units (so all of them basically :D ) while leaving buildings/cities/&c standing. Dunno. Might be hard to implement.
    JBG said:
    I think for the moment we should concentrate on the Alpha. Most/all of this can be added later on in the day. Once the Alpha is up and running we can brainstorm on how it can be expanded and improved.
    [/QUOTE]

    Spoiler Coder's Comments :

    Belizan said:
    Well, implementing our own custom explosion routine is not really that "hard" (laborious, perhaps, but not hard). The trick would be getting the AI to use it in some meaningful way. I have actually never played Civ4 into the modern era, so I have not seen the Civ4 implementation of nukes. I do not know if nukes are customizable. I'd have to look into that if we are interested in doing that.
    [/QUOTE]
 
Barbarian Ideas

Spoiler Coder's Commentary :

Generally speaking, all the ideas for barbarians are doable.


  1. (Under Investigation|Unspecified) Earth-based Anti-Independents
    Spoiler Discussions :

    JBG said:
    Also, once people start having the 'independence' civic we could have massive waves of 'barbarian' units - Earthbound nations trying to reclaim the colonies.
  2. (Passed Over|Unspecified) Organisms
    Spoiler Discussions :

    woodelf said:
    JBG said:
    I don't know about debris yielding destructive orgasms.
    The organisms were another attempt to get barbarians on the moon. Right now it's solely civ vs civ.
    Haarbal said:
    idea for barbarians
    create some weird sort of anaerobe bacteria (so it can survive on the moon), with some story around it that it's some geneticly mutated (natural mutation, no apocalyptic nuclear war thing), which has a heavy bonus (like 100%) against early (non mechanic) units. you can easelly shrink a random unit for this, make it all green (or another colour) and put it in a huge group (not too many)
    Belizan said:
    Not sure what this was in response to, but as a feature, assuming organisms (*cough*) are basically barbarians of some sort, this is easy to do.
  3. (Under Investigation|Unspecified) Debris
    Spoiler Discussions :

    JBG said:
    @Woodelf: why not have 'debris' as a barbarian unit? Say:
    - it's a one-off attack unit (missile unit in other words)
    - it can only move in a straight line
    - it has a wide (but not infinite) range
    - it leaves some kind of mark when it hits depending on its size

    Just a thought. Might be rather hard to implement, though. What's your opinion, Belizan?
    Belizan said:
    Hrmm.. barbarian asteroids? That kareen on a path across the map towards a destination? We could combine the two ideas. Event generated asteroids which spawn as barbarian units which come "flying" in on the map for people to try to stop, but... hmm.. couple issues. Could give it promotions to indicate it's distance (Promotion:Far Away +100% defense, etc. ;) ) But we can't make the asteroid "pass over" units which purposely stand in the way (I've had lots of issues with stacking units of different factions in the same plot, but maybe it would work :/). Also, such an asteroid would be detectable from far off, which means that we would have to reveal the plots the asteroid traveled over (so you could see it coming). Finally, we'd probably need to indicate it's destination.

    So.. we can change the bonus type of a plot to a crater, we can add a feature for improvement damage. We can make a barbarian unit called an asteroid and force move it using the same sort of plan as the AI solution for fuel-based units. We could also make it triggered by a random event. We could bring up a dialog counting down the impending target, and marking it on the map (probably by adding a feature displaying the dialog, and then removing the feature once the dialog is cleared, otherwise, I'll need to co-opt some of the techniques from the spelldemo). We can add an action button to some set of units or do an automatic sweep for units allowed to attempt to intercept the asteroid. We can do alot of things I haven't even thought of yet 8). The having it go in a straight line towards it's destination though might be a little problematic, with unit stacking and the like--I'd have to experiment.

    As for the debris, you are basically talking about random events, and those are easily doable, but I'd need a much more concrete set of rules to talk about them. It's easy to add resources, damaging an improvement would be more problematic. We'd have to make something like nuclear fallout called "damage" and force workers to "fix" it. Adding a new kind of "goodie" called the "rare material asteroid impact crater" or some such is also easy to do. Having new ones be generated periodically is also easy. Overriding what one gets from such a goody "hut" is also straight forward, although I don't currently have a good mechanism for encoding what sorts of things one can get from such a hut (I'm looking into options on that).
 
Python features from other mods we'd like to include

JBG said:
Now, then, about other threads/mods that could help us:

Some of these might just be useful. Some mods I looked at weren't especially relevant, though - and Fachy's *Very* realistic religions mod was positively scary!

Spoiler Coder's Commentary :

Few things are easier then combining the features of mods which already work and are debugged.



  1. (Under Investigation|Not Coded) Religion Research Mod (niffweed17)
  2. (Under Investigation|Not Coded) Military Bases Mod (TheLopez)
  3. (Under Investigation|Not Coded) Cultural Decay Mod (Bhruic)
  4. (Unconfirmed|Not Coded) Lost Units Mod (frontbrecher)
  5. (Under Investigation|Not Coded) Settler Religion Mod (Bhruic)
  6. (Unconfirmed|Not Coded) Larger map sizes (dlordmagic)
  7. (Under Investigation|Not Coded) Random Events Mod (DireAussies)
    Spoiler Discussions :

    Lapoleon said:
    Maybe you could also use some elements from DireAussies random event mod, it already has earthquakes included, and there was some talk that it wasn't too diffiult to do meteors as well. The only problem is that the mod doesn't work anymore since the latest patch, but it might return.
 
JBG said:
All the special civics (apart from State of War) are designed to be used for short times. Once they have been de-selected, you cannot engage them again for between 20 and 50 turns. They all incur increasingly crippling penalties if you leave them on too long.

Spoiler Coder's Commentary :

Belizan said:
It is difficult to judge most of these civic issues because it is hard to know which can only be implemented in Python and which can be implemented via XML (without trying to implement them in XML myself).



  1. (Passed Over|Unspecified) Foreign Policy Civics
    Spoiler Discussions :

    JBG said:
    Foreign policy civics modify your relations with other civs on the moon, the likelihood of treaty outcomes, &c, as well as how your population reacts to foreign culture and citizens.
    Belizan said:
    There are a series of functions which seem to allow one to interfere in the AI's decision in the Python layer. I have not used or modified any of them before, but they would seem to give a great deal of promise with regard to how easy or hard it will be to implement these...
    1. (Passed Over|Unspecified) Isolationism
      Spoiler Discussions :

      JBG said:
      For example, the Isolationism civic increases revenue from internal trade routes but reduces the number of foreign trade routes available, as well as reverting all foreign opinion to you to 'neutral'.
  2. (Confirmed|Implemented) Civics Selection Screen Display issues
    Spoiler Discussions :

    JBG said:
    Apparently it's possible to add a sixth column to the civics screen: I've been reading about it HERE.

    I looked over the civics XML file and have been slightly depressed by it. Is there any way to add new variables into the game? Or will that need the SDK?
    If so, then I'm happy to hammer out new civic values. In fact I'm doing it now as some of them obviously can't fit into the system.

    And how do you mean 'they don't match up'?

    woodelf said:
    I'm having a hard time putting into XML some of the things you listed. For example -1 happiness in cities over size 7 for Depotism. I'll find it eventualy....

    I'm using a template for 7 civic classes right now. :) Maybe put Education for #7?

    Most of Government is done.. :)

    woodelf said:
    It only has 5 columns right now. I'll have to ask AG or Kael to help me make a 6th. I'm going to work on the buttons next, trying to organize all that Firaxis, AG, and Kael have made.
  3. (Passed Over|Unspecified) Other Civics
    Spoiler Discussions :

    woodelf said:
    Here's a rundown of things I'm not sure about for civics:

    Despotism - having (-1) happiness in cities over size 7
    Hierarchy - having (-10%) effectiveness in anit-capital distance cost improvements
    Communism - No capital distance cost? I think they all default to zero
    Democracy - (+1) prod/comm in tiles. This sounds more like a trait.
    Decentralized - The (-20%) revenure from foreign trade
    Black-n-White - Randomly lower/raise foreign opinion
    Cooperation - raises foreign opinion and favourable treaties
    Mediation - 3rd party treaties
    World Government - automatic alliances and (+1) unhappiness with WG. Needs to be a religion I think to work
    Disparate - The (-1) prod/comm. Same as Democracy
    Xenophobia - foreign element unhappiness and no spread of foreign culture
    Sentient Rights - Not sure about (+1) happiness in all cities.
    Free Speech - same problem as WG. It might need to be a religion to work
    Bureaucracy - Increased commerce from 5 largest
    Closed Economy - Anything about foreign trade units.
    Virtual Market - (-10%) revenue from routes

    Cripes. That looks like a lot. I really did accomplish some stuff....
    woodelf said:
    Belizan - here are the civics that you mentioned 10 pages ago that maybe you could look at. I think some of the modifiers will be Python based.
    Belizan said:
    What should really happen is that woodelf should tell me which ones he's having trouble implementing in XML.
 
JBG said:
I've thought long and hard about great people. Ideally, I'd like to add the number of great people varieties currently available, to:

Spoiler Coder's Comments :

Belizan said:
Most of these are pretty straightforward to code, albeit quite powerful 8), but... Teaching the AI to use them... Ok, each one in turn...


  1. (Confirmed|Implemented) Great Artist (as normal)
  2. (Confirmed|Implemented) Great Engineer (as normal)
  3. (Confirmed|Implemented) Great Merchant (as normal - possibly can be changed)
  4. (Confirmed|Implemented) Great Scientist (as normal)
  5. (Confirmed|Not Coded) Great General (created randomly when an experienced unit enters combat)
    Spoiler Discussions :

    JBG said:
    Although I'm prepared to limit the modifications significantly if too little of this is possible. Thinking about it, it shouldn't be too difficult to change Great Prophets to Great Generals, given that both are able to build buildings.

    We'll see.
    JBG said:
    @Apple: Good. My concern, however, is the Great General. Will the AI use him to upgrade units or will he simply be relegated to an academy-only version (since the AI presumably knows how to tell great people to build their buildings)? That is the question.

    Also, how will the game respond to more varieties of great person?

    The Great Apple said:
    Sorry, missed that bit the first time through. No - the AI will not know how to use these by default. You would have to edit the AI to be able to do that... which although you can do in python is probably best left to the SDK.

    The game should respond fine to more tpyes of great people.

    JBG said:
    Hmm. I think it is probably best to leave the Great AI and Great General units to building unique improvements and researching technologies, at least unitl the SDK comes out.
    Belizan said:
    The AI can be made to use them by simply writing the rules to trigger them ourselves. For instance, give it a 25% if you have 4 or more units of the same type in the same city as the Great General, automatically do the upgrade all untis of that type advance. Not great by any stretch, but...
    1. (Confirmed|Implemented) Great Generals are spawned from experienced units winning battles.
      Spoiler Coder's Comments :

      Belizan said:
      Easily done.
    2. (Unconfirmed|Unspecified) give a complete promotion line (say, all garrison promotions, or all city raider promotions) to a unit.
      Spoiler Coder's Comments :

      Belizan said:
      "Easy", popup to pick the unit, popup to pick the promotion. You'll have to hard code the list of promotion options, and any criteria you want for each line being available (techs, experience, etc.). Which means you have to explicitly spell them out to me.

      As with most of these options, teaching the AI to use them is not possible. Instead, we'll ahve to write code to make these decisions for the AI by doing unit sweeps on PlayerBeginTurn() for each AI and using his Great Generals for him as we think is appropriate.

      NOTE: Before I actually implemented this, I'd want to know which sorts of units were upgradeable to have which sorts of promotion chains?
    3. (Unconfirmed|Unspecified) give one promotion to each unit in a stack.
      Spoiler Coder's Comments :

      Belizan said:
      Yeah, "easy". Same as 9.5.2, basically.

      NOTE: With the same questions as above. Which promotions for which sorts of units?
    4. (Unconfirmed|Unspecified) lead a unit to certain victory.
      Spoiler Coder's Comments :

      Belizan said:
      Ok, this is not so easy. My first question would be what sort of interface did you envision for this ability? We can't interrupt combat before it takes place. So our options for implementing something like this look like... Granting a promotion with some arbitrarily huge bonuses which we then remove after their next battle. Automatically full healing the unit after it's next battle. Respawning the unit if it dies in its next battle. (Any or all of these above). Note that even if we respawn it, we are only post-fixing the combat result. So, for instance, if your invulnerable unit was the last unit in a city, if it lost, it would still cause the city to be captured, and then we'd ahve to spawn the unit in a neighboring plot (like it withdrew, basically). Also, I'm pretty sure we can't override getBestDefender() for a Plot, so without a super promotion, we can't gaurantee that this unit will be chosen to defend the stack by the next attacker.
      -------
      Actually I have a thought for this now that I'm a few days older and wiser :), but I have to do a little experimentation. I should make a list of experiments I need to perform. Hrmm... That is, of course, assuming we want to do this at all. (And of course, teaching the AI to use it... Anyway...
    5. (Unconfirmed|Not Coded) upgrade all instances of a certain unit for free.
      Spoiler Coder's Comments :

      Belizan said:
      Straightforward...
    6. (Confirmed|Implemented) fortify a colony granting a massive defensive bonus plus an experience bonus for units garrisoned in the city.
      Spoiler Coder's Comments :

      Belizan said:
      The def bonus would need to be implemented as a building created by the Great General. Assuming that is acceptable, quite easy to do.
    7. (Confirmed|Implemented) set up a military academy that incurs a smaller defensive bonus and a massive experience bonus for any unit built in the city.
      Spoiler Coder's Comments :

      Belizan said:
      Same issue as 9.5.6, if it is acceptable to have the Great General build a building in the colony that performs these feats, all is well (and the AI can be made to create it, by giving the building the appropriate value weightings).
  6. (Confirmed|Implemented) Great AI (sort-of great prophet, but more powerful (and rarer)
    Spoiler Discussion :

    JBG said:
    Great AIs are supposed to be very rare crosses between engineers and scientists. Their spawning ought to be limited by some kind of criterion - religion/civic/technology or something. They appear rarely and convey great bonuses.
    1. (v2|Research Required) Limit spawning based on civic/religion/technology
      Spoiler Coder's Comments :

      Belizan said:
      Hmm.. not sure about using a civic to modify GP %age appearance chances. You can, of course, make them rare by simply not adding much chance of them to each wonder or building (or specialist). I'll have to look into the civic aspect.
      -------
      Well, if we could make a building that gave AI GP, which would give AI %age, and add it on civic change, etc. But... yeah. AFAIK, GP production and appearance %age is tightly coupled.

      NOW, we *could* sweep the player's units for a GP at the start of every turn, and if we find one of a certain type(types) we could make a roll to see if we should replace it with an AI GP based on an inspection of that player's current techs, civics, etc. This, having thought about it, is probably the best way to do this.
    2. (Confirmed|Implemented) enter a city's networks as a super specialist, providing massive commerce and science benefits
      Spoiler Coder's Comments :

      Belizan said:
      Straightforward super specialist, isn't this?
    3. (Confirmed|Implemented) enter a city's networks as a permanent resident, helping protect against spies and viruses, incurring a defensive bonus, reducing corruption/maintenance and increasing the science of the city
      Spoiler Coder's Comments :

      Belizan said:
      Hmm.. well, spawn an unmovable unit to spy for you, add a super specialist, a building (for the defensive bonus and maintenance)... Yeah.. doable, but ugly 8). I'll have to check when I go to implement it if I can condense this at all. Would you want this ability to be stackable? I.e. more then one Great AI could be added to a city in this fashion for increased effect?
    4. (Unconfirmed|Research Required) Enter another civ's networks as a secret agent for only a few turns, granting access to that civ's LOS and cities.
      Spoiler Coder's Comments :

      Belizan said:
      Hrmm... offhand, I don't know if this is possible. I'll have to go look at the espionage functions.
  7. (v2|Unspecified) Great Statesman (? tentative - only add if possible to add new great people)
    Spoiler Discussions :

    JBG said:
    Great Statesmen are supposed to be influential politicians. They can enact any one civic the player chooses, ensure success in a trade/negotiation with another civ (think Margaret Thatcher and the EU rebate here), etcetera, etcetera.

    Spoiler Coder's Comments :

    Belizan said:
    Hmmm... not sure about any of these. Activating a civic I *think* can be done by override CanDoCivic. Ensure trade/negotation with another civ should be doable by override the diplomacy ai, but may be arbitrarily difficult to get working :/ (i.e. a lot of work). Can't say about the etc., etc. 8).

JBG said:
So that means we need to add one type of great person or at least replace the Great Merchant (which will be hard and difficult). At the moment, we can replace Great Prophet with Great AI.

Spoiler Coder's Comments :

Belizan said:
As I understand it, it is a well understood process at this point, to add a new type of specialist.
 
JBG said:
I'm doing the traits.xml at the same time as the leaders. Which reminds me,
Belizan, you CAN try your hand at the three civ. attributes (scientific, economic, independent) - see the Moon Bible (pg.4 right) for details. Essentially they're massive leader traity-type things that significantly alter how a civ plays the game, to help differentiate between the three groups of civs we have.

  1. (Confirmed|Implemented) Scientific
    Spoiler Discussions :

    The Moon Bible said:
    Available to the five space agencies.
    Bonuses: +20% science
    +50% chance of generating great scientist
    Can access scientific-type units
    +1 health in colonies
    All scientific improvements -50% cost
    Scientific improvements generate happiness
    Large numbers of military units generate unhappiness
    Cannot access more advanced military units
    +1 upkeep for military units
    Belizan said:
    Well, let's see. 20% science, +1 Health, Scientific Improvements, Military unhappiness, Upkeep for military are all standard XML.
    That leaves....
    +50% chance of generating great scientist
    Can access scientific-type units
    Scientific improvements generate happiness
    Large numbers of military units generate unhappiness
    Cannot access more advanced military units

    Of the five, i believe the fourth is XML codeable as well...
    1. (Confirmed|Implemented) +50% chance of generating great scientist
      Spoiler Coder's Comments :

      Easy.
    2. (Confirmed|Implemented) Can access scientific-type units
      Spoiler Coder's Comments :

      Easy.
    3. (Confirmed|Implemented) Scientific improvements generate happiness
      Spoiler Coder's Comments :

      Not sure if this can be done via XML. I'm not sure it can be done via Python either, without some games. But I can take a look.

      Well... apriori I can say that we can have two versions of each scientific buildings, one which provides happiness, one which doesnt, and make their availability dependent on this leadership trait. But there may be a more elegant solution, which I would have to investigate.
    4. (Confirmed|Implemented) Large numbers of military units generate unhappiness
      Spoiler Coder's Comments :

      Can't this be done via XML? If not... well... I'd have to do some experimenting, but it is probably? doable. I'd need to know what you meant more explicitly though. Large numbers in the city? Large numbers owned by the faction? In/Out of cultural area?
    5. (Confirmed|Implemented) Cannot access more advanced military units
      Spoiler Coder's Comments :

      Easy.
  2. (Confirmed|Implemented) Economic
    Spoiler Discussions :

    The Moon Bible said:
    Available to the five corporations.
    Bonuses: +5% science
    +50% chance of generating great merchant
    Can access trade units; 1 free trader unit
    +1 commerce on squares already generating two
    All commercial improvements -50% cost
    Commercial improvements generate happiness
    Happiness improvements are less effective
    Cannot access more advanced scientific units
    +1 upkeep for scientific units
    Belizan said:
    Well, let's see. +5% science, +1 commerce, cheap Commerce Improvements are standard XML.
    That leaves....
    +50% chance of generating great merchant
    Can access trade units; 1 free trader unit
    +1 commerce on squares already generating two
    Commercial improvements generate happiness
    Happiness improvements are less effective
    Cannot access more advanced scientific units
    +1 upkeep for scientific units
    1. (Confirmed|Implemented) +50% chance of generating great merchant
      Spoiler Coder's Comments :

      Easy.
    2. (Confirmed|Implemented) Can access trade units; 1 free trader unit
      Spoiler Coder's Comments :

      The limited access is easy. Not sure what you mean by a free trader unit. Just starts with one?
    3. (Confirmed|Implemented) Commercial improvements generate happiness
      Spoiler Coder's Comments :

      Not sure if this can be done via XML. I'm not sure it can be done via Python either, without some games. But I can take a look.

      I can say that we can have two versions of each commercial building, one which provides happiness, one which doesnt, and make their availability dependent on this leadership trait. But there may be a more elegant solution (possibly using changeExtraHappiness()), which I would have to investigate.
    4. (Confirmed|Implemented) Happiness improvements are less effective
      Spoiler Coder's Comments :

      Same basic issues as 10.2.3.
    5. (Confirmed|Implemented) Cannot access more advanced scientific units
      Spoiler Coder's Comments :

      Easy.
    6. (Confirmed|Implemented) +1 upkeep for scientific units
      Spoiler Coder's Comments :

      Hrmm.. Really not sure about this one. I might be able to fake it, but I don't personally know the upkeep rules all that well. I'd need to get a good understanding of them to be able to make this adjustment by hand. If I wanted to propogate that effect into the appropriate advisor screens, I could potentially do that as well, but basically we're talking a lot of work. I do not think there is a way to tweak the upkeep cost of a unit dynamicly, I would have to research this more. On the unit bloat side, however, we could handle this like the buildings. Make two versions of the science units with different upkeep values, and route people's options for training them based on their leadership attributes.
  3. (Confirmed|Implemented) Independent
    Spoiler Discussions :

    The Moon Bible said:
    Available to the five coalitions
    Bonuses: 2 free military units per colony
    +50% chance of generating great general
    Can access more military units
    +2 culture in colonies
    All culture improvements -50% cost
    Military improvements generate happiness
    Scientific improvements are less effective
    Cannot access more advanced commercial units
    +1 upkeep for commercial units
    Belizan said:
    Well, let's see. bonus culture, cheap culture improvements are standard XML.
    That leaves....
    2 free military units per colony
    +50% chance of generating great general
    Can access more military units
    Military improvements generate happiness
    Scientific improvements are less effective
    Cannot access more advanced commercial units
    +1 upkeep for commercial units
    1. (Confirmed|Implemented) 2 free military units per colony
      Spoiler Coder's Comments :

      Easy enough, I'm sure, but I'd like a better description of how this is supposed to work. Or by free, do you mean upkeep wise?
    2. (Confirmed|Implemented) +50% chance of generating great general
      Spoiler Coder's Comments :

      Easy enough, I suppose, but I thought Great Generals only were awarded on the basis of winning battles?
    3. (Confirmed|Implemented) Can access more military units
      Spoiler Coder's Comments :

      Easy.
    4. (Confirmed|Implemented) Military improvements generate happiness
      Spoiler Coder's Comments :

      Not sure if this can be done via XML. I'm not sure it can be done via Python either, without some games. But I can take a look.

      I can say that we can have two versions of each military building, one which provides happiness, one which doesnt, and make their availability dependent on this leadership trait. But there may be a more "elegant" solution (possibly using changeExtraHappiness()), which I would have to investigate.
    5. (Confirmed|Implemented) Scientific improvements are less effective
      Spoiler Coder's Comments :

      Really not sure about this one. Short of going in and back patching the science progress, this is hard. Now, making a shadow line of "Independent" Science buildings and limiting Independents to building them. That's easy.
    6. (Confirmed|Implemented) Cannot access more advanced commercial units
      Spoiler Coder's Comments :

      Easy.
    7. (Confirmed|Implemented) +1 upkeep for commercial units
      Spoiler Coder's Comments :

      Hrmm.. Really not sure about this one (same as 10.2.6). I might be able to fake it, but I don't personally know the upkeep rules all that well. I'd need to get a good understanding of them to be able to make this adjustment by hand. If I wanted to propogate that effect into the appropriate advisor screens, I could potentially do that as well, but basically we're talking a lot of work. I do not think there is a way to tweak the upkeep cost of a unit dynamicly, I would have to research this more. On the unit bloat side, however, we could handle this like the buildings. Make two versions of the commercial units with different upkeep values, and route people's options for training them based on their leadership attributes.
 
These are the ideas which are still in the conceptual stages. Such ideas do not fit easily into any particular classification because we have not decided enough about how we want them to work, or how we want to implement them.

  1. Lagrange Points
    Spoiler Discussions :

    Falkonite said:
    Lagrange points.
    Consider them, as they are ideal places for orbital colonies.
    Maybe you could build a space-settler that would be able to 'settle' empty space, creating a trade link between Moon and Earth? A World-Wonder? "L1"?
    JBG said:
    A lagrange point station (or control of it) could be a good idea for a wonder.
    Belizan said:
    Given we now have advanced to having our own map generator script, we can go one better. We can put in a map option to pick a number of settlable LaGrange points, and then actually build them on the map behind some impassable terrain, off to one side. The map stores the details of where they are in the ScriptData of some object, probably the map itself. Then, when the right techs become available, we can allow a city to "launch" (build) a sat or a station into that lagrange point, which, when built, we programmatically move to the appropriate LaGrange point. The AI will be a little confused by this, and we'll have to code up some sort of "pick a plan for LaGrange points" methodology for the code to decide for the AI where to send it's space hardware, but, all in all it's quite doable. More problematic from the AI perspective would be giving players access to spaceships that could potentially leave at their leisure the Moon and head into space to go to various LaGrange points. Coding it is easy, but making the AI understand is... not possible AFAIK without the SDK.

    For that matter, if we were feeling really crazy we could make a whole space is sea analogue for ships and movement and sat colonies, but.. well, anyway... It would take some abstractions and conventions to get even a vague system of "space" or low orbit working. Probably better to wait for the SDK for that, if ever. Not to mention I've wandered pretty seriously off topic.
  2. Technology Tree Rendering
    Spoiler Discussions :

    woodelf said:
    @Belizan - From my limited understanding the tech boxes on the tech tree come from the XML files with some coordinates. Do the arrows that pretty up the tech tree come from Python? If so, would you be willing to look at the tech tree once I've gotten it done and add arrows to connect the techs?
    Belizan said:
    I thought all that was done from XML, but the code which generates it is in Python AFAIK. I can take a look if you like.
    The Great Apple said:
    The whole tech tree is generated dynamically in python using the information in the xml files. The process is quite clever.

    One thing to note while adding techs - the order that you put them in is important. If you do it wrong, all the arrows show up squiffy, and the tech chooser just doesn't work! I've a feeling the rule is that at least one of a tech's prequesites has to be before it in the file, but I'd check in the tutorials forum to be sure.
    woodelf said:
    Once we get to look at the tech tree Belizan might be able to pretty it up with the lines being drawn in the correct spot, if that's Python. But that's a cosmetic thing for a long way down the road.

    Do we need to code the switch from 1st/2nd era when we lose contact with Earth and have to survive on our own? Is that an event that can be triggered, or needs to be?

    I think we need to keep Belizan on retainer and use him after a bit of playtesting. :) Right now it's hard to visualize what needs coding without ever setting foot on the Moon.

  3. Welcome.. To the Dark Side.. of the Moon...
    Spoiler Discussions :

    The Great Apple said:
    A question: Is there going to be any distinction between Earth-side and not Earth-side? Maybe you could build things in secret or something on the other side, but you get a trade bonus on the near side.

    JBG said:
    Oh, by the way, interesting idea, The Great Apple.

    I don't know how we'd implement this, however. Probably better to keep it simple, but, Belizan, is it possible? (I'm thinking post-Alpha here).
    The Great Apple said:
    It's possable ;)

    About debris - that too would be possable, although I'm not sure it sounds very plausable.
    The Great Apple said:
    The moon rotates about it's axis with a period equal the period of rotation about the Earth. In other words, about half of the moon faces the earth all the time, and the other half never does.

    Now this would create differences between the Earth-side people and the far-side people. For example, if you were on the far side observers from earth wouldn't be able to see what you were doing, and on the near side you... err... get a beautiful view of the earth!
    Belizan said:
    Well, if we defined a set area of the map to be "earth facing" we could by hand grant them a commerce bonus every turn or add a commerce trade route to earth programmatically. I'm not sure what "building in secret" means. Basically, I'd need more information on what effect you were looking for :).
 
Merged--Radar Tower, Air Field, Fuel, Turrets, City Architecture (Mega-"Improvements" -- Bunkers and Biodomes), Artillery, Tech-based Global Unit strength modifiers, Great General, Great AI, Leadership Traits, Civics for Leadership Traits, Leadership-trait based tech exclusions, Lancer unit capture, He3 dependent Building gold production, Unit Surrender, Terrain Attrition, ModComp merges, City Grid Display, Labels

My current order of battle as it were, based on the information I have at the moment...

* Random Events (1.1, 1.2, 1.4-1.6)
* Supply Routes
* Display capabilities for supply routes and resource dependent buildings
* Break Downs
* Salvage, Crash Site and Impact Craters
-----
2.8 SATs and AT-SATs

All others require more information.
 
I'll throw another idea at you that I didn't see mentioned above...the idea of a "dummy" civ to trade with. We have a potential workaround for the energy for food trade with Earth, but what if we had an all-powerful neutral, unplayable, unrepresented civ that traded energy harvested for food until a certain python event rendered them inaccessible? Is this possible or even needed?
 
6. (Unconfirmed|Not Coded) The occasional impact with something reasonably big might be intersting too. It is estimated that over 1000 tons of material lands on Luna every year!

I would impliment this as a random event that occurs every x number of turns were x is a random numer between approximatly 2 and 10(should depend on map size). When the event occurs a randon square would be chosen as the target and the size of the debris (small or large).

Small debris will destroy certian inprovements like agea farms and biodomes. It will also damage units on the square(up to a maximun of ~ 5 units).it is aslo possible that certain units are more likely to be damaged more depending on their ability to see the falling debris and run away. It also changes the train type to cratered if the terrain is either dust or dust sea. Probability of spawning a goody hut.
Large debris will be fairly rare and may form a crater rim(terrain type). It will strike on a 2X2 tile region and will destroy all improvements. It will also infict a large damage on units and may destroy them(up to ~7 units). will severly reduce the population of a city in its strike area.

I could code this when I have time(propably not for a while) but if if you have time you can do it instead.(some things described may need to be tweeked to balance the game)
 
Looking good, Belizan!

I'll go through this with a fine-tooth comb and confirm things for you - there's FAR too much red up there! ;)
 
1) Random events:
#s 1, 2, 4 5, and 6 can be confirmed

2) Improvements:
#s 1, 3, 4, 5, 6, 7 and 8 can be confirmed

3) Meta-civs:
#2 can be confirmed

4) I'll post seperately about mega-improvements.

5.1) Unit abilities
place #1 under 'further investigation' and confirm #2.

5.2) More abilities
confirm #s 3, 5, 7 and 10.
#s 4 & 11 under further investigation.

6) barbarians
#s 1 and 3 under further investigation.
Discard #2. NO ALIENS!

7) other mods
#s 1, 2, 3, 5 and 7 worth further investigation.

8) civics
#a 1, 2 and 3 under further investigation.

9) great people
#s 5 and 6 confirmed.
5.1, .6 and .7 confirmed.
6.2 and .3 confirmed. 6.1 desireable too. Perhaps as well as becoming a super-specialist, why not have it build a more powerful version of the Resident AI city improvement?
#7 desireable but not urgent.

10) Leadership super-traits
1, 2 and 3 all confirmed and highly desireable. We need some way of definitely distinguishing between the three types of civ and forcing the AIs to act radically differently for each one.
As many trait bonuses/penalties as possible, although I'm willing to revise them if some/many are unrealistic within the engine. All, however, are highly desireable and preferably *necessary*. If these are impossible we need a very similar mechanism put in place pronto.

City architecture to follow!
 
NOTE: I still think in Civ-II terms, so more often than not, when I say 'improvement' I mean 'building' or 'city improvement', *not* 'tile improvement'. This is doubly confusing because we have a biodome building AND a biodome tile upgrade.
Okay, when I first visualised the two mega-improvements, my thinking was roughly this:
1. Okay, we know that some improvements, when built, change the graphical appearance of the city on the main map, i.e. their graphic appears among the other buildings of the city.
2. With that in mind, there will presumably be a number of different ways of building colonies on the moon...
See where I'm going with this?

Basically, the biodome and bunker buildings convey a number of great bonuses and penalties (see the moon bible for details) and significantly alter the character of a colony. When they're built, the graphic of the colony on the main map changes also. If the bunkers improvement is built, the colony becomes a series of armoured, buttressed bunkers. If the biodome improvement is built, the colony is surrounded by a low circular wall and entirely covered by a transparent dome structure. These improvements, in other words, do not just appear with the other buildings with the colony's grahpic; they actually chnge it radically.

As one can reasonably guess, the biodome improvement adds health and happiness, while encouraging science. However, it essentially nullifies any defensive bonuses of the colony - if it's punctured more than a few times, it could collapse.
On the other hand, the bunkers improvement add defensive bonuses, reduces war weariness and increases production. However, it adds unhealthiness and slightly increases unhappiness.

That is only a rough outline, however. One thing I would like to stress is that the two should be balanced enough for players to make a serious decision with each colony, rather than just having all their cities as bunkers. Similarly, it would not do for the AI to have all THEIR cities as bunkers either. There must be enough differentiation, and enough balance, to make both human and computer make a choice with each colony.

Of course, they do not *have* to build EITHER improvement in a colony.

The reason why I asked if it was possible to keep the swaying trees graphic was so that we could have ?(as well as the buildings) perhaps the occasional tree swaying gently beneath the transparent, magnesium-reinforced piezoelectric polymer of a biodome? It would look fantastic if done well.

The main stumbling block with this is that so far we do not have a suitable building mesh to use as a biodome. We have the colosseum building, but that doesn't have a dome on top. The word is 'bioDOME' so it has to be, ah, DOME-shaped.

Attatched are three images, all collages from my Civ-II FW moon mod. The first shows, from left to right, the farmland (2nd level food tile improvement) equivalent (the tile biodome) and two city-graphics. The biodome city improvement should look rather like a cross between the first and second graphic. The third graphic is a design for a series of interlinked biodomes.

The second image shows four different designs for bunkered colonies. The citadel, fortress-style should be easily apparent.

The third image shows two potential designs for colonies that do not have either mega-improvement.

I hope that particular attention is payed to the first of the three!
And I also hope this has been rather helpful.
 

Attachments

Back
Top Bottom