Future course of the Project

Impaler[WrG]

Civ4:Col UI programmer
Joined
Dec 5, 2005
Messages
1,750
Location
Vallejo, California
I would like to bring up some issues and thougts about the present and future course of the project and stimulate some debate on it.

My main consern is that in my judgment at our current pace we will never achive the goal of a universal DLL base for community use. Were making good mods ourselves but 90% of the work is done outside our project by people who have no interest in working in a team environment or doing the work nessary to combine source code. Many otherwise good mods arn't being made toggleable further incressing the difficulty of inclusion. Instead were seeing adsactly the kind of fragmentation I feared, the more experienced moders are creating their own standalone DLL/Python/XML mods which have such tight linkage and limited options that their incompatable with our standards. Yet these mods have become the dominant ones out their, our own releases have gone almost totaly un-noticed. The main reason for this is our lack of imediatly playable content.

We should capitalize on the Warlords release (and likley patches) to shake things up and re-organize. Some of the things I think we should do to atract developers and players.

1. Always have REAL content to show off with any new tools/features not just demos and be comited to supporting these new mods in their own right. I have desided to adopt this philosophy with all my future mods. My current work is focused on Wonders and will be accompanied by a pack of new Wonders combining new code and new art.

2. Post each Component/Mod as its own thread under ModComponents, their we can give a detailed description of the workings of the Mod and the Code that make it possible. It will also serve as a centralized bug reporting location for anyone using the mod. The post should have a link the the main CCP thread along with a Download of just the modified files.

3. Open these forums to the general public, their rather dead right now with only a hand full of people posting. More interest would likly be generated if people could come in and see what were uptoo. Their will ofcorse be anoying Newbs who want us to show them how to edit XML but for the most part I think it will attract developers.

4. Post the current CVS modified files in a public place (such as the current CCP thread on the Mod Components forum). 90% of the Coders out their have no exerience with CVS and lack the desire/patience to learn it. This seems to be a major reason for them not wanting to join up with us. By providing the code in a more convenient location its more likley they will see it , look at it and use it as a basis for their own work which will make integration that much easier. The core developers can and will continue to use the CVS and have control over it so we get both security and greater publicity.
 
I think I agree with all of this. If nobody objects, I'll PM Thunderfull about making the forum public.

I wish I could think of something additional to put here, but I can't. Damn inspiration shortage.
 
I also agree with all.
I am on summer vacation trip and I may not work on project for this week.
I did not get my copy of Warlords yet. It is expected to be delivered within 2-3 days from oversea internet shop.
 
Just putting in my 2 cents. I'm not meaning to put down anything or anyone working on the CCP, because it's projects that these that, if done correctly, can help entire communities better than doing single, smaller mods can. Hopefully I can give some insight on an outsiders view of the CCP.

The main reason for me not adding to the CCP is:

1.) Concentrate on Civcraft, and that alone is enough work without trying to standardize the changes.

2.) I'm an SVN guy.

3.) I've had differences in opinion for it's purpose and workings. However, since I would rather be coding Civcraft, I decided to keep my mouth shut and pursue that instead.

Basically, I've always thought that the CCP SDK would provide new XML values or python callbacks: things that mods could use if they know XML and Python, but don't want to mess around with the SDK. In this way, a modder could come up with ideas that may not be able to be done in the normal Python/XML, but can be done in python/xml with the CCP's DLL. That's what it would give: just an army of python callbacks and XML changes. And nothing else.

For example, the 3-plot city radius mod is a commonly sought mod. As much as I think it's a good mod to include into a compilation mod, I don't think it's one that's good for the CCP, at least not line-for-line verbatim. The reason is that this functionality shouldn't have to be included into the CCP. The necessary functionality to do such a thing should be included in the project anyway through a python callback. If the functionality proves to be something so popular that people wish it into an XML attribute, then perhaps someone willing to do that can. Eventually, this will be necessary anyway, as even if you restricted the python calls to those callbacks that actually have code (using some sort of registry system), you'll probably be eventually running into performance issues.

Of course, the idea of having a mod-comp that allows developers to be able to plug their system in is always nice, but the problem it runs into is the one that always plagues standardization: it's so tough to convince a developer (even if that developer is yourself!) to standardize. It's just more work. And so, I think the only way you make the CCP attractive to developers is if you offer ways to make it less work rather than more. You can beat the "do your community good" drum all you want, but we are pretty fickle.

Finally, after all of these have been implemented, what you have is... the exact same game without any changes, but the ability to change anything you want easily using python and xml, much moreso than the original Civ4. Although this is not attractive at all for players, eventually you might have a sanctioned mod that is the CCP mod with all the popular changes that the CCP can do put into a controlled environment.

Well, that was my idea anyway: an army of Python callbacks. If someone found a way to do something fun with the python callbacks that seemed popular, turn it into XML. This would hopefully promote:

1.) Bug-free code. All you're doing is making a ton of python calls. No real need for tricky c++ code that would cause problems with the SDK.

2.) Easy creation of python-based mod to XML. Since you know the location of the different callbacks, you know where the code must go for the XML to make the XML attributes do things. Even someone who doesn't know c++ well can contribute with SDK changes simply by having a CCP developer take their python code and going to the point of all the callbacks they use and putting the c++ equivilant of their python code.

Now, I'm not expecting everyone to drop everything they've done up to this point and do it my way. No matter what, you're going to find that a mod developer has made this great modcomp, and they've written it without any intention in including it into the CCP themselves. I just wonder if time is better spent concentrating on including these one-shot mods, or just making the SDK available for python scripters and XMLers.
 
The advantages of building in mods is that an improved version of the game can be played by people who aren't able, or don't have time to mod. Now I'm not sure that's the kind of audience we're attracting at the moment, but it is a potential audience. In fact, it was the audience I was first thinking of when I came up with the idea, and it's the audience I'm directing my mods towards (lots of AI work at the moment - first genetics test should be tomorrow :D)

The trouble with concentrating on python callbacks, is that although they may be useful, they slow the game, as well as being not extremely complcated for average Joe Modder to add for himself. Once you've done one, others are very similar.


Any opinions on dual forum? If not, I'll ask TF to just make this one a public one, and not have a private one at all.
 
Hi... I am back home from summer vacation trip.
Got my Warlords at last!! Looks great stuff at first glance...
Any progress in the Warlords version of our project?
 
You just made it :D

Your the first to buy it I think. I imagine we will start a Warlords Modual or Branch with the Virgin WL SDK and then work to re-integrate all the previous mod content into it which shouldn't be too hard, then we just continue working with that branch and leave the vanilla branch as is. Or is their a better means of doing it, I remember reading something about Vendor Brachces or Tags or such :crazyeye: They were suposed to be involved in situations like this but I know nothing beyond that
 
I have Warlords, although I haven't done any major work on it. One issue to bear in mind is that the SDK may change with patches, so major work on it may not be ideal at the moment.
 
I think the goal needs to be rethought. You guys are all coding studs (and studettes) and can provide something awesome but its kinda floundered because you have no audience.

There isn't a substantial group of modders trying to do complex xml and python tasks but stopped at the SDK. There are some, and their may be more later, but there aren't many now. Modders are either stuck at the xml/python and C++ hurdles or able working on all three.

So if your goal is aide the community in the creation of mods I would recommend taking a step back and looking at where the effort could be most benifical.

Right now I think that would be in the creation of an editor that allows easy xml modding. Feel free to check out (or even use completly) the FfH Editor as a base.

Starting from the begining you can provide a set of modding tools for modders. Starting with those barriers they are currently facing up to the point where you are providing new/expanded python and SDK functionality.

I think the mandate should remain that you don't change anything by default, just that you provide modders the ability to make the changes they need. You just need to knock down some of the current barriers to entry to build a following of modders that will use your tools.

I wouldn't make this forum public or you will be unindated with requests from those who want functions they may never use. Instead I would allow every modmaker that use your tools access to this forum after they have shown some commitment (be that by releasing their mod, or just offering enough good ideas that you guys decide it would be worthwile).

Just my 2 cents.
 
Wow. I guess most of us lack true C++ coding skills to do any good in such projects so we end up ignoring them. Well no more. It is time to rise and make the world know we are here. To make are foes tremble at out feet. To slice through the darkness with our light of , err ... too much?

I have put my mod on hold till I can get better acquainted with CCP and C++ in general. Expect to see a lot of me here, 'ven if its just to pester you all for information and brownies. :p
 
You got brownies when you joined??????????

All I got was this silly t-shirt that says Kallisti...
 
Ok a real post, as I am blocked on my mod till the Warlords CCCP fix comes out.

I think Kael & Impaler have the right idea.

I've been looking at Kael's Excel stuff for creating XML files and its a darn good idea for development, the question is can we make it idiot proof. I would also sugest not sending it out to the "Mod Players" but the "Mod creators"

Also the XML readers that where just posted show merit as well, I never understood why the other directories are not handled like the Text directory.

Also some documentation and some examples for warlords are needed.
For example we included AIAutoplay but how do you enable it. (Its Shift+Ctrl+X IIRC) Route Pillage Mod, do we need to do anything special.... I guess I can work on that.

I'm concerned about the Game options screen. I think we should as a mod designer have some way of disabling it. Let me explain my logic with the current CCCP
"Slow Culture Borders" has a side effect of only growing the culture border to max worked area. While it still has 6 growth area's they are changed. We discovered this in testing of my mod. It drasticly alters the game and on large maps there is way to much space between cities and the AI exhibits signs of ICS (Infinite City Sleeze) and sticks cities between your borders. Also its hard to run out of space when you do this so less wars are fought (for a pretty darn peaceful AI this is bad). The way around this is to add in 2 culture growth ranks early on. This will allow them to culture to reach the standard radius around a city (I'm over simplifying the fix explanation)

Ok so as a mod designer I may not want those extra culture levels plus the fact that if they turned the option off, they would still have those extra culture levels growing the city culture radius to fast. If I remove the text from the options screen they still see a black empty box with no text next to it.

Food for thought....
 
Players have to manualy select to use a GameOption at the start of the game, so I dont see why giving them this option is nessarily bad. If a user starts playing around with things they dont understand thats not the fault of the mod maker. The Mod maker might specificaly recomend that an option be enabled for their mod. The advantage of a GameOption is that its perment once the game starts unlike a GlobalDefine which is re-loaded ever time you play.

Its easy to switch between the two at the code level if it becomes an issue, I'd recomend we get more feedback.
 
Back
Top Bottom