Civ4newbie
Warlord
- Joined
- Aug 8, 2007
- Messages
- 226
I noticed in my game settings when I loaded my map that it said that there were no barbarians. how do I turn barbarians on so that they are in my game or where is it located?
The problem is not just new tags... its a lot of reprogramming throughout the dll, albeit much of which may be tweakable to enable a number of things we've wanted anyhow like a separate 'player' for Animals. But its not a task to take lightly and is a project of its own right.
As stated in the PM, I'm interested in helping here but its got competition from other projects since it is an effort that stands in that category. You gave a link to the mod that does this... I presume it has the source code? Source merging into C2C is still quite a process since our dll is so different and more complex than the standard vanilla so while having the source helps its still not an overnight project. I also would have to wonder how it would need to be adapted to work with the AI.
Again... a full on project this. Interesting and fun but must be prioritized among Combat Mod, further Developing Leaders, Multi-Maps, other merge tasks on the agenda and the Nomadic Start project, among debugging efforts as wellGive it some time and it will be done however.
SpawnaCiv allows you to script when a new named civ will spawn and where. Adding in the ability to do this is OK. However we would need some way of linking the information about the spawns to the maps. It is no use having a this in a random map because it may cause a civ to spawn in the middle of the ocean or in the middle of your nation because the script says so.
It has the same problems that animals spawns currently have. The spawns for random maps are currently the default and are in the core of C2C. This means that players of GEM Maps need a totally different set of spawns or they get llamas in Africa, lions in Australia and and kangaroos in South America.
Dang it, i keep forgetting about that darn GEM map, or regular Earth maps of the like.
Speaking then of spawn, since your more or less the spawn expert, (Hey i made a funny), would it be "possible" to have two different kinds of spawning actions going on, or would that need dll stuff? (If even possible there?)
Spawning is done in the dll. Defining when, what and where is done in the XML.
We could make the animal spawns generic if we kept information about the map. EG where the zero-zero point was. Then we would just do the tranformation in the dll spawn code.
Current spawning is for any unit type, but can do multiple units in one spawn. It is currently only used for Neanderthals and Wild Animals. It is limited to unclaimed areas. In theory you could even spawn a new nation with it, but to work you would have to have a settler build a city in that turn otherwise the units may just disappear.
So if you want a Pirate nation to possibly appear somewhere in the tropics in 1500AD then it can be done with the current spawn mechanism. It may end up with more than one spawning.
That is exactly what i was thinking about, certain areas for certain spawning civ at certain locations, and in the python code, connected to the XML is the units that you need to start off with and it does include a settler, and a small fighting force, just like Barb Civ BUT better. IMPO
You can almost do that with the current Spawn code. Currently all you would get is barbarians not a set nation.
Barbarian Civ is totally different to SpawnACiv. Barbarian Civ existing cities become a nation. In SpawnACiv they appear out of nowhere. Barbarian Civ assigns techs and units based on the techs to the new nation (Yes it needs some work). SpawnACiv uses a different mechanism (They should use the same if we are going to use it).
IMO SpawnACiv is an AI cheat in random maps but a very useful tool for scenario builders who want to stage invasions and the like at set times.
To fix both I reckon we need to first get the list of buildings free with era start and free with tech sorted out. That will take a great deal of work out of the current code and just make things easier.