Ballpark Questions

GRM7584

King
Joined
Dec 13, 2004
Messages
945
Location
Orlando, FL
I've started mucking about with civ mods again, for unclear reasons, and don't have the time to be doing so. I've skimmed through a few of the helpy threads, but there is a lot of text there, and it isn't very entertaining reading. To the point - I want to get an idea of how difficult several things would be to implement, and perhaps more importantly, how much of it doesn't fall under simplistic XML alterations. Suspicion: None of it does, and I would have to be content with adding units and buildings, and changing civ names.

1. Hiding resources that aren't within player's borders until X technology.

2. Setting a growth rate for cities which adds 1 population every (equation) turns based on the current population, in addition to food-based growth (the latter looks easy enough to tinker with, but I might be wrong)

3. Random events (largely kidding, I suspect this involves lots of poking around and the returns likely wouldn't be worth it)

4. Adding Circumnavigation-type achievements (rewards, temporary or permanent, for being "first" to build/act/research/etc)

5. Adding a Civic Column, and altering civics (just looking for a general idea of difficulty)

6. Adding a 1 gold maintenance cost for every single tile of road/railroad in cultural boundaries, as well as adding a commerce for worked roads (I suspect the second one is easier and doable through XML?)

7. Having Great Wonders generate Great General points without interfering with Warlords' existing system

8. Having resources generate food/production/commerce in all connected cities

9. Having every resource of the same type beyond the first generate an additional (equation) commerce in the capital

10. Religions...I should probably just read through all the religious mods, I haven't looked at them too carefully. I'd like Religions that spawn other religions when they spread to other civs (Japan founds Judaism, Judaism spreads to Rome, which has no holy city, Christianity founded in Rome with discovery of X tech). Most of the other things I'd like to do with Religion I believe are already modded.

11. Changing the city walls tag to affect different types of units (not even entirely sure what I'm talking about, I assume there is a "Defense against Non-Gunpowder" tag or something like that somewhere in...er...something.)

12. Connecting a single trait to each civ, which determines (or is determined by, if that is easier) the start position of said civ (Seafaring = Coast start, for example). I noticed a mod that involved tech distribution based on start, but thats not quite what I mean.

13. Revamping leader traits (as before, looking for general difficulty and where to look for it)

14. I don't even want to talk about UN or Space Race, but I'll touch on both, even though I'm sure they've already been talked to death due to the inadequacy of both systems.
Space Race: Setting up wonders, or series of improvements, leading up to the colony ship, where individual "first" achievements are noted for score.
UN: Having different Member Status for each civ based on decisions and responses (EG Secretary General, Member, *or* what I'd like to see, Rogue State) as well as a mechanic for responding to votes differently (as in, more options), which I'll not go over right now. Maybe in a response if it piques interest for some reason.

15. Lastly, for the moment anyhow, removing most resource requirements (EG Iron for Swordsman) and replacing them with a massive (say 75%) reduction in cost (of course, all units would be 400% more expensive by default...). Thus, lets say a Falxman without Copper and Tin takes 12 turns, but with Copper and Tin takes 3 turns.

Right. Anyhow, just trying to gauge the difficulty of modding such things. If a majority of them are "Hard", "Really Hard", or "ZOMG IMPOSSIBLE", then I will probably abandon the notions of modding I have, since I can't justify the time use. Except for Civics. Because I really do loathe the way civics are set up. Questions about any of the above 'ideas' welcome (insinuation: The ideas are nothing new, but I'm not aware since I haven't waded thru the backpages of the civ4 c&c forums).

Edit: Reduced TEXTBOMB effect with some spacing, to tempt people into responding.
 
Hesitant bumping to avoid falling off first page. Civics difficulty has been partially gauged by a different thread's response.
 
1. Hiding resources that aren't within player's borders until X technology.
Easy - already implemented in-game partially.
2. Setting a growth rate for cities which adds 1 population every (equation) turns based on the current population, in addition to food-based growth (the latter looks easy enough to tinker with, but I might be wrong)
Easy - just call a custom function in the onBeginTurn method, and make the custom function do the checking.
3. Random events (largely kidding, I suspect this involves lots of poking around and the returns likely wouldn't be worth it)
Depends what the events are.
4. Adding Circumnavigation-type achievements (rewards, temporary or permanent, for being "first" to build/act/research/etc)
Easy - create new events.
5. Adding a Civic Column, and altering civics (just looking for a general idea of difficulty)
Medium-Hard, since it involves modifying graphics, XML, and Python.
6. Adding a 1 gold maintenance cost for every single tile of road/railroad in cultural boundaries, as well as adding a commerce for worked roads (I suspect the second one is easier and doable through XML?)
Medium - calculate the amount of roads and modify the upkeep cost based on that value. The second part is also Medium.
7. Having Great Wonders generate Great General points without interfering with Warlords' existing system
Impossible. How can you generate Great General points without interfering with Warlords's system? Please be more specific, since I don't understand what you're asking.
8. Having resources generate food/production/commerce in all connected cities
Easy - modify the resources.
9. Having every resource of the same type beyond the first generate an additional (equation) commerce in the capital
Medium - You'll need to check if a certain resource exists, and, if it does, modify the commerce based on that.
10. Religions...I should probably just read through all the religious mods, I haven't looked at them too carefully. I'd like Religions that spawn other religions when they spread to other civs (Japan founds Judaism, Judaism spreads to Rome, which has no holy city, Christianity founded in Rome with discovery of X tech). Most of the other things I'd like to do with Religion I believe are already modded.
Already implemented, mostly - take a look at Eusebius's World Religions mod.
11. Changing the city walls tag to affect different types of units (not even entirely sure what I'm talking about, I assume there is a "Defense against Non-Gunpowder" tag or something like that somewhere in...er...something.)
Medium - You'll need to modify the properties of walls yourself. If you want to see how those defense things work, look at bunkers as well.
12. Connecting a single trait to each civ, which determines (or is determined by, if that is easier) the start position of said civ (Seafaring = Coast start, for example). I noticed a mod that involved tech distribution based on start, but thats not quite what I mean.
Hard - There's a lot of work involved.
13. Revamping leader traits (as before, looking for general difficulty and where to look for it)
Easy. Check in the Assets\XML\Civilizations\Civ4TraitInfos.xml file.
14. I don't even want to talk about UN or Space Race, but I'll touch on both, even though I'm sure they've already been talked to death due to the inadequacy of both systems.
Space Race: Setting up wonders, or series of improvements, leading up to the colony ship, where individual "first" achievements are noted for score.
UN: Having different Member Status for each civ based on decisions and responses (EG Secretary General, Member, *or* what I'd like to see, Rogue State) as well as a mechanic for responding to votes differently (as in, more options), which I'll not go over right now. Maybe in a response if it piques interest for some reason.
The first one is Medium-Hard, and the second is is Very Hard, and both will require a lot of work to implement.
15. Lastly, for the moment anyhow, removing most resource requirements (EG Iron for Swordsman) and replacing them with a massive (say 75%) reduction in cost (of course, all units would be 400% more expensive by default...). Thus, lets say a Falxman without Copper and Tin takes 12 turns, but with Copper and Tin takes 3 turns.
Easy. Check if resources exist; if they do, then lower the building cost of the unit. It's harder than I explain it, but still simple.
 
I don't really have the expertise or time to go through and answer each of these questions specifically. Just from reading through them though, it looks like you could do most of them in python.

Things you could do easily in xml are civics, leader traits, #15, and the second part of #6.

My advice would be for you to just start looking through some xml files to get an idea of what they look like and what you can do in them. They're all pretty self explanatory, but if there are some tags you can't figure out go to the tutorials section.

Edit: cross post, I wouldn't have posted if I had seen Saketh's :)
 
1: Might be doable in python, but might take sdk.

2: This is an interesting idea, having cities just grow at a predefined rate instead of by the vanilla food way. This I don't think would be to hard to do in python, but you would have to do some work to remove or put on hold the built in food system.

3: This is done in a mod or two, do a search on Random Events Mod or Olimpic Games. And the kinds of ramdom events you can code with python is quite large and is limited mainly by graphics and your imagination.

4: This is basicly the same as 3, code in the things that make it happen and what then happens.

5: This I can't help you with, haven't ever messed with civics, but I've seen many mods that make new civics (useing xml) and several mods that add new columns (using python or maybe sdk).

6: You are right, the second part is just xml. The first part, matainance cost for routes could be hacked in by python, but would most likely need sdk to be done right.

7: Not sure what you mean by this one. I know there is a wonder that gives you a 100% bonus toward Great General sqawning, but I don't know if a wonder can give you points toward you next warlord.

8: This would take some python and/or sdk, but could be done.

9: Again, python and/or sdk.

10: This could be done in a hack way with python and xml tweaking. Could probly do it right with sdk.

11: There are various defense and attack bonus tags in the different xml files. You'll have to look through them to see if there are tags that do what you want. If you find you want to add/change/remove xml tags, that will take sdk work.

12: Well, there is mod by TheLopez that has exposed new funtions to python that allow you to remove and set traits on learders. If you use that mod component it would be very easy to do what you suggest using some python code.

13: The file is called somthing like TraitInfo.xml and is in the Assets/XML/Civilizations directory.

14: Space Race, I've never really looked into the space race stuff so I don't know if any of it is in python or if it is all in sdk, but you could make the spaceship parts unbuildable using xml and then use python to give the parts out based on your first achievements. UN code though is done alot in python and should be relativly easy to edit. There are a few un mods out there so it atleast can be done. But if you want the AI to take any of this new stuff into account it may take some sdk work, python hacking, or some real moding of AI values in xml, and maybe a mix of all of them.

15: Removing the resourse requirements is just some xml editing, but the building bonus for having the resourse might be doable in python and defienetly could be done with sdk.

As a final note. Whats great about civ4 is that "can this be done" questions are almost universally answerable as "Yes, it can be done". The only things that are unmodable are the graphics engine (the part that accually turns the info of a picture into pixels on the screen) and the core of the AI (the code that proccesses all the game data gotten from xml, python, and sdk) is modable, basicly all of the game that matters. This is often a hard thing to process at first, but will sink in the more you look into modding.

If you notice I didn't really say any of the things will be hard/easy. This is because that determination is based more on your knowledge of python and/or c++ and your skill at programming then on any of the goals you proposed. My advise would be to start with the xml (maybe the changing of civics or traits), even if you already know one or both of the game coding languages, it is best to start with xml as it is easyer to change the code if you know the values it is already getting.

Then I would suggest opening the tutorial forum on this board, a python tutorial (click the link in my sig, one of the first posts has a link to a good python tutorial), and finding the Civ4 API (just search the forums for the link or you can google it). Those two tools should get you going, the rest is trial and error and lots of reading and typeing.

It basicly comes down to, if you want to change the values used in current systems you have to edit XML, if you want to add systems on top of the built in ones you need python and maybe some sdk, and if you want to add brand new systems and have built in systems take them into acount or have the AI really use what you add you need the sdk.

Good luck. :)

EDIT: hehe, you guys, beat me to it. ;)
 
All fantastic, and just what I was looking for. I've already gone through the XML for civics after checking aussie_lurker's mod, and am now poking about with the extra column. I appreciate the difficulty assessment, some of those options now seem within reach.
 
GRM7584 said:
1. Hiding resources that aren't within player's borders until X technology.
Tricky. SDK/python work. Would be best to do it in the SDK.

GRM7584 said:
2. Setting a growth rate for cities which adds 1 population every (equation) turns based on the current population, in addition to food-based growth (the latter looks easy enough to tinker with, but I might be wrong)
Easy in python.

GRM7584 said:
3. Random events (largely kidding, I suspect this involves lots of poking around and the returns likely wouldn't be worth it)
Easy in python.

GRM7584 said:
4. Adding Circumnavigation-type achievements (rewards, temporary or permanent, for being "first" to build/act/research/etc)
Depends on exactly what you want. I'd say it'd probably be easy in python or XML.

GRM7584 said:
5. Adding a Civic Column, and altering civics (just looking for a general idea of difficulty)
Pretty easy. There are loads of mods that have done it that you could base/steal your code off.

GRM7584 said:
6. Adding a 1 gold maintenance cost for every single tile of road/railroad in cultural boundaries, as well as adding a commerce for worked roads (I suspect the second one is easier and doable through XML?)
Dunno. Might be very easy through the XML, could definately do it in python, would need the SDK to do a proper job.

GRM7584 said:
7. Having Great Wonders generate Great General points without interfering with Warlords' existing system
Hard. SDK job.

GRM7584 said:
8. Having resources generate food/production/commerce in all connected cities
Easy in python.

GRM7584 said:
9. Having every resource of the same type beyond the first generate an additional (equation) commerce in the capital
Should be fairly easy in python. AI wouldn't get it without the SDK.

GRM7584 said:
10. Religions...I should probably just read through all the religious mods, I haven't looked at them too carefully. I'd like Religions that spawn other religions when they spread to other civs (Japan founds Judaism, Judaism spreads to Rome, which has no holy city, Christianity founded in Rome with discovery of X tech). Most of the other things I'd like to do with Religion I believe are already modded.
Python.

GRM7584 said:
11. Changing the city walls tag to affect different types of units (not even entirely sure what I'm talking about, I assume there is a "Defense against Non-Gunpowder" tag or something like that somewhere in...er...something.)
Dunno. Might be XML, might be SDK. Either easy or hard.

GRM7584 said:
12. Connecting a single trait to each civ, which determines (or is determined by, if that is easier) the start position of said civ (Seafaring = Coast start, for example). I noticed a mod that involved tech distribution based on start, but thats not quite what I mean.
Shouldn't be too hard in python. You'd run into problems with the DoM screen.

GRM7584 said:
13. Revamping leader traits (as before, looking for general difficulty and where to look for it)
XML/Python/SDK, depending on how much you want to do.

GRM7584 said:
14. I don't even want to talk about UN or Space Race, but I'll touch on both, even though I'm sure they've already been talked to death due to the inadequacy of both systems.
Space Race: Setting up wonders, or series of improvements, leading up to the colony ship, where individual "first" achievements are noted for score.
UN: Having different Member Status for each civ based on decisions and responses (EG Secretary General, Member, *or* what I'd like to see, Rogue State) as well as a mechanic for responding to votes differently (as in, more options), which I'll not go over right now. Maybe in a response if it piques interest for some reason.
Hard. SDK.

GRM7584 said:
15. Lastly, for the moment anyhow, removing most resource requirements (EG Iron for Swordsman) and replacing them with a massive (say 75%) reduction in cost (of course, all units would be 400% more expensive by default...). Thus, lets say a Falxman without Copper and Tin takes 12 turns, but with Copper and Tin takes 3 turns.
I don't know if you could do this in XML, but it could certainly be done in python. I think somebody did a mod a bit like this aaaages ago.

EDIT: This is what I get for forgetting to press the post button.

As Jeckel said, nearly everything is possible - it just depends on how much work you are willing to put in!
 
GRM - Were you the guy who made the Colonization of the New World mod for CivIII? That's the first mod that made me want to mod. :)
 
I try. I had more plans for that mod, but they died in the process of 2 critical hard drive failures (Not getting any more seagates, I suppose...). I'll wait (probably a long time) and see what Dale's New World mod looks like when it gets back in production, and then I'll start dumping suggestions and ideas over there. If I manage with all this programmification and whatnot, I will probably try a full-fledged general play mod, since I already have a convenient tech tree, resource list, unit list, and building/wonder list that I'd like to use, in text form, which has been growing since I started playing cIV (albeit re-copied from memory during those hard drive losses...).

Edit: Wooyay, Civics!
 

Attachments

  • Civics.JPG
    Civics.JPG
    52 KB · Views: 56
New question, undeserving of new thread: I don't see many resources in the graphics modpacks region, and most of the resources I'd like to use are in other mods (chiefly sevomod and TAM), but I can't find:

Amber
Ochre
Cocoa
Tea
Pheasant
Goats
Chickens

And I'm wondering if I'm either missing a resource directory sticky somewhere, or, failing that, if resources are particularly tricky to create in terms of graphics (thus discouraging me from requesting those).
 
The static ones would most likely be easy enough. The goats and fowl would be trickier unless you don't care if they never move.
 
woodelf said:
The static ones would most likely be easy enough. The goats and fowl would be trickier unless you don't care if they never move.

The Fowl don't necessarily need to be mobile since they'd be pretty small anyhow, although it would be nice to see chickens running around with their heads...well, firmly attached, but still running around, leaving feather trails. Would it be possible to "warp" the sheep into skinny goats instead of their current puffball selves, while preserving the animations?
 
GRM7584 said:
The Fowl don't necessarily need to be mobile since they'd be pretty small anyhow, although it would be nice to see chickens running around with their heads...well, firmly attached, but still running around, leaving feather trails. Would it be possible to "warp" the sheep into skinny goats instead of their current puffball selves, while preserving the animations?

Maybe. If I get bored I might try something like that.
 
I'm sure it would be appreciated for other mods...having Indians, Mongols, and Greeks without goats is nearly as silly as having Inca without llamas...hrum.....:lol:
 
Back
Top Bottom