Soren: You can mod terrain-specific movement in XML

vbraun said:
I wish the current Civ3 modders would realize this. :(

I'm sure that some of them do. I saw the lead on Rise and Rule is now a consultant to Firaxis (whatever that means).
 
DiamanteLouco said:
That means my own people can grab weapons and fight against me? (oh lord please say yes)

That may be possible, but that is not what the quote relates to.

What it means is that a foreign government can attempt to induce some sort of instablity or insurrection towards another civ.
 
What I think it ultimately means is that-via the scripting language-a person can go in and add new options for both espionage and diplomacy, at the very least. What it also suggests, though, is that Python will allow us a wide scope for altering the parameters of the Vanilla game. I only hope that this means that I could-with the help of a half-way decent programmer-actually bring in a BotF style espionage system into the game-as a mod!! That would be soooo cool ;)!

Yours,
Aussie_Lurker.
 
Something that I have been thinking about (and it is in-line with adding features) is that because of how open the XML/Python design is, we should be able to ADD variables/functions/features/processes into the play of the game. Doing all of this rather than just modifying a behavior.

Now I know that modifying behavior will likely be a primary part of modding the game, but if we are smart about it we could add different unit commands. For example like a combat engineer. A hybrid defensive unit that can build a fortress or airfield.

If I have hijacked this thread, I'm sorry. The topics in this thread made me think of it so I thought I'd share it.
 
warpstorm said:
I'm sure that some of them do. I saw the lead on Rise and Rule is now a consultant to Firaxis (whatever that means).

Yeah, it doesn't actually say what he's doing as a consultant. But I'm sure there are other important mod makers who know just how modable this game is and are undoubtably planning stuff for it.
 
The moddablity will ensure that this game remains constanly renewed for years. This is going to be fun.
 
warpstorm said:
I'm sure that some of them do. I saw the lead on Rise and Rule is now a consultant to Firaxis (whatever that means).
But most of them hate it because there scared of the 3d graphics, because they think they might not be able to edit them.

I made a thread in the Civ3 C&C forums about 3 months ago on the possibilites of Python and XML, and it was completly ignored...
 
vbraun said:
But most of them hate it because there scared of the 3d graphics, because they think they might not be able to edit them.

Yeah the really funny thing is that to create Civ3 graphics (well good ones anyway) you *already* have to make 3D models and then render them out as 2D sprites. If anything, the move to 3D makes it simpler by removing a step!

The ultimate in moddability looks to be the Game Core SDK, that's what I'm most interested in. Judging from that article in Game Developer, Firaxis is basically providing you with an API to make just about any type of Civ-like game you want if you have the time and inclination.
 
vbraun said:
Well if you find wading into python is easy, then civil wars might be a little bit harder.


Depends how far you have to wade
 
Well, mountains will be impassible, but it's unknown if there will be a tech or unit who can pass mountains.

I was thinking about terrain types. Some terrains should be impassible for some unit types. All of us know that wheeled units can't pass several terrain types unless it have a road. Following the same idea, a horse based unit couldn't cross deserts, the horse should have a chance of dying (as ancient ships do in an early Civ3 game). An elephant based unit couldn't cross tundras (they aren't mammuts :mischief: ). Yes, there are several ideas for mods.

I imagine each unit will have a xml file in which we can configure it for each terrain type avaiable in Civ4. Perhaps it also can be edited in Civ4 map editor. Techs could be used to enable some unit types to pass certain terrain types.

I hope it will be easy to create new terrain types. I also hope it will be easy to create new terrain improvements. An advanced agriculture tech could give an improved irrigation. An advanced mining tech could give an improved mine production. A saw mill could be used to preserv forests and give more hammers.

Most desirable will: we don't need to mod these ideas because they are already in the game :goodjob:
 
I imagine each unit will have a xml file ...
In Rise of Nations there is just one XML file that gives the specs for ALL of the units.
 
Jaybe said:
In Rise of Nations there is just one XML file that gives the specs for ALL of the units.
Yes, it is a better idea. In a mod, we just need to edit one xml file. Possibly this file will have everything about units: defense and offense for each unit type, movement points accordingly to terrain type, production cost, upgrade possibilities, etc.
 
Here's how a unit is defined in RON's unitrules.xml:

Code:
<UNIT>
    <NAME>Partisan</NAME>
    <GRAPH>PARTISANS</GRAPH>
    <OBJ_MASK>GFP</OBJ_MASK>
    <FLAGS>jlmaps</FLAGS>
    <WHERE>Tower</WHERE>
    <ATTACK>24</ATTACK>
    <HITS>85</HITS>
    <MOVES>24</MOVES>
    <SUPPORT>2f/2f support</SUPPORT>
    <COST>60m/60f</COST>
    <JOB_TIME>200</JOB_TIME>
    <PREQ0>Modern Age</PREQ0>
    <PREQ1>none</PREQ1>
    <FROM>Minuteman</FROM>
    <JUMP>disable</JUMP>
    <GRAFT>none</GRAFT>
    <RANGE>0-10rng</RANGE>
    <LOS>10</LOS>
    <SCIENCE_LOS>0</SCIENCE_LOS>
    <FLY_HIGH>0</FLY_HIGH>
    <FLY_LOW>50%</FLY_LOW>
    <RECHARGE>35</RECHARGE>
    <ARMOR>3</ARMOR>
    <DOMAIN>Land</DOMAIN>
    <TO_HIT>300</TO_HIT>
    <ATTENUATE>-3</ATTENUATE>
    <CAT>Foot</CAT>
    <PROGRESSION>0</PROGRESSION>
    <SPLASH>0</SPLASH>
    <SPLASH_PERCENT>100</SPLASH_PERCENT>
    <AMMO_PER_ATT>1</AMMO_PER_ATT>
    <TURN_SPEED>24</TURN_SPEED>
    <PROJ_SPEED>400</PROJ_SPEED>
    <CARRY_SIZE>1</CARRY_SIZE>
    <POP>1</POP>
    <RESEARCH_PREMIUM_TIME>1</RESEARCH_PREMIUM_TIME>
    <RESEARCH_PREMIUM_COST>1</RESEARCH_PREMIUM_COST>
    <JOB_EXTRA_TIME>1/10tsx</JOB_EXTRA_TIME>
    <MANA>0</MANA>
    <TRIBE_MASK>111111111111111111</TRIBE_MASK>
    <CARRY>0</CARRY>
    <GUY_SPACING>12</GUY_SPACING>
    <X_SPACING>12</X_SPACING>
    <Y_SPACING>12</Y_SPACING>
    <CIRCLE_RADIUS>1</CIRCLE_RADIUS>
    <BLOCK_RADIUS>1</BLOCK_RADIUS>
    <TARGET_SIZE>3</TARGET_SIZE>
    <UBER_SIZE>1</UBER_SIZE>
    <CREW_SIZE>0</CREW_SIZE>
    <GRID_X>0</GRID_X>
    <GRID_Y>0</GRID_Y>
    <UPGRADE/>
    <PUSH_SIZE>1</PUSH_SIZE>
    <PUSH_CIRCLES>1</PUSH_CIRCLES>
    <TYPENAME>Partisan</TYPENAME>
  </UNIT>

Fields are specified by starting with a "<...>" and ending with a "</...>". So if, e.g., you wanted to change the attack value of the above partisan type unit, you'd change the line "<ATTACK>24</ATTACK>" to
maybe "<ATTACK>30</ATTACK>". Easy, eh?

xml as used in games is just a simple way of formatting data.
 
PeteT said:
Here's how a unit is defined in RON's unitrules.xml:

Code:
<UNIT>
    <NAME>Partisan</NAME>
    <GRAPH>PARTISANS</GRAPH>
    <OBJ_MASK>GFP</OBJ_MASK>
    <FLAGS>jlmaps</FLAGS>
    <WHERE>Tower</WHERE>
    <ATTACK>24</ATTACK>
    <HITS>85</HITS>
    <MOVES>24</MOVES>
    <SUPPORT>2f/2f support</SUPPORT>
    <COST>60m/60f</COST>
    <JOB_TIME>200</JOB_TIME>
    <PREQ0>Modern Age</PREQ0>
    <PREQ1>none</PREQ1>
    <FROM>Minuteman</FROM>
    <JUMP>disable</JUMP>
    <GRAFT>none</GRAFT>
    <RANGE>0-10rng</RANGE>
    <LOS>10</LOS>
    <SCIENCE_LOS>0</SCIENCE_LOS>
    <FLY_HIGH>0</FLY_HIGH>
    <FLY_LOW>50%</FLY_LOW>
    <RECHARGE>35</RECHARGE>
    <ARMOR>3</ARMOR>
    <DOMAIN>Land</DOMAIN>
    <TO_HIT>300</TO_HIT>
    <ATTENUATE>-3</ATTENUATE>
    <CAT>Foot</CAT>
    <PROGRESSION>0</PROGRESSION>
    <SPLASH>0</SPLASH>
    <SPLASH_PERCENT>100</SPLASH_PERCENT>
    <AMMO_PER_ATT>1</AMMO_PER_ATT>
    <TURN_SPEED>24</TURN_SPEED>
    <PROJ_SPEED>400</PROJ_SPEED>
    <CARRY_SIZE>1</CARRY_SIZE>
    <POP>1</POP>
    <RESEARCH_PREMIUM_TIME>1</RESEARCH_PREMIUM_TIME>
    <RESEARCH_PREMIUM_COST>1</RESEARCH_PREMIUM_COST>
    <JOB_EXTRA_TIME>1/10tsx</JOB_EXTRA_TIME>
    <MANA>0</MANA>
    <TRIBE_MASK>111111111111111111</TRIBE_MASK>
    <CARRY>0</CARRY>
    <GUY_SPACING>12</GUY_SPACING>
    <X_SPACING>12</X_SPACING>
    <Y_SPACING>12</Y_SPACING>
    <CIRCLE_RADIUS>1</CIRCLE_RADIUS>
    <BLOCK_RADIUS>1</BLOCK_RADIUS>
    <TARGET_SIZE>3</TARGET_SIZE>
    <UBER_SIZE>1</UBER_SIZE>
    <CREW_SIZE>0</CREW_SIZE>
    <GRID_X>0</GRID_X>
    <GRID_Y>0</GRID_Y>
    <UPGRADE/>
    <PUSH_SIZE>1</PUSH_SIZE>
    <PUSH_CIRCLES>1</PUSH_CIRCLES>
    <TYPENAME>Partisan</TYPENAME>
  </UNIT>

Fields are specified by starting with a "<...>" and ending with a "</...>". So if, e.g., you wanted to change the attack value of the above partisan type unit, you'd change the line "<ATTACK>24</ATTACK>" to
maybe "<ATTACK>30</ATTACK>". Easy, eh?

xml as used in games is just a simple way of formatting data.

About as easy as modding Civ3 it looks to me - XML begging for a front end like Civ3 though...
 
weakciv said:
Something that I have been thinking about (and it is in-line with adding features) is that because of how open the XML/Python design is, we should be able to ADD variables/functions/features/processes into the play of the game. Doing all of this rather than just modifying a behavior.

Now I know that modifying behavior will likely be a primary part of modding the game, but if we are smart about it we could add different unit commands. For example like a combat engineer. A hybrid defensive unit that can build a fortress or airfield.

If I have hijacked this thread, I'm sorry. The topics in this thread made me think of it so I thought I'd share it.

Actually, we will probably be able to *completely* change the game w/ the tools they are giving us.

Civ3 was *nothing* compared to what we will be able to do. If you want you'll be able to take civ4 and make it into a tennis game ;)
 
@warpus
(i didnt want to scare the "not-so-mod-savy" among us)
 
Back
Top Bottom