SDK Community enhancement project

TheLopez said:
Hmmm.... How about Civ4CC - Civ4 Community Core?

EDIT: Also, the CC part will help to identify it as being C++ based...
I like that :thumbsup:... although...

Well if you want it to be identified as being C++ based then actually CP will also work, in particular since it's the first two letters of CPP which is of course a C++ file extension. So, if anyone knows of a word that means something along the lines of enhancement, improvement, addition, and so on, but starts with the letter P then we can have it called Civ4 Community P[something] Project and have a short of Civ4CPP. How's that? :D
 
Rabbit said:
I like that :thumbsup:... although...

Well if you want it to be identified as being C++ based then actually CP will also work, in particular since it's the first two letters of CPP which is of course a C++ file extension. So, if anyone knows of a word that means something along the lines of enhancement, improvement, addition, and so on, but starts with the letter P then we can have it called Civ4 Community P[something] Project and have a short of Civ4CPP. How's that? :D

Civ4 Community Core C Plus Plus -> Cv4CCCPP -> Civ4C³P²

Just kidding. I Like Civ4CC more, because the core may be not only in C++. It may also contain python and xml. Mmmh.

So either Civ4CC or Civ4C2 (2 for square, assuming its not possible to use a ² in the project name)

EDIT : or Civ4CCP for "Civ4 Comunity Core Project", which I like most.
 
The Great Apple said:
We will get a URL at http://sourceforge.net/projects/<insertournamehere>, and there is a 15 letter limit. Obviously we'll need to mention Civ 4 in there as well.

Is it allowed to put the SDK on sourceforge? I think so because firaxis seems to give the source away without mentioning any restriction of its use. But I'm not a lawyer so perhaps I miss something?
 
This sounds good. I loaded up the project and got it to compile at work but I'll need to see if it can work with my older version of dot net at home. This is a 2003 project and I only have 2002. I hope it won't be a problem.

My to do list:
1 Install latest patch
2 Get all of my mods to work correctly
3 Improve my "Bad person" mod
4 Start working with the SDK
4a Fix AI modifiers to diplomacy (most -1 actions should have a +1 also)
4b Improve combat by adding more layers to it.

It's been about 5 years since I did serious C++ programming though so it may tkae a while to get back in to it. C# had made me kind of lazy. :D

Roger Bacon
 
c.fe said:
Is it allowed to put the SDK on sourceforge? I think so because firaxis seems to give the source away without mentioning any restriction of its use. But I'm not a lawyer so perhaps I miss something?
Hmm, I don't see why not. It's available for free download on the Firaxis website, and it would be no different to posting altered source files here, which they must expect modders to do. I will do a bit of research however.
Kael said:
Being a "dont tear down a fence unless you understand why it was built" kind of guy I don't know how possible it will be to improve performance without effecting functionality.
There are many different ways to write a program to do exactly the same thing, and some ways will run faster than other ways.

As for the name Civ4CCP sounds good. Civ 4 Community Core Project.
 
I submit that the first change we add to Civ4CCP is talchas Action Buttons 2.0 mod: http://forums.civfanatics.com/showthread.php?p=3928143.

It provdes great flexibility in adding action buttons through python instead of having to add action buttons through the C++ everytime one is needed.
 
I have no C skills but have loved being able to learn and mod the game with XML and python. Impaler[wrg] was on the right track i think also. If you guys who had the skills could simply enable a few more python calls or xml tags that would go a long ways to allowing the rest of us to really get more creative with what we can do on our side. A few issues ive noticed in the vanilla game with modding:

1) The xml tags lack consistancy. You can make a building that gives a bonus yield to a particular specialist type, but you CANT do the same thing for commerces (gold, science, culture) which seems dumb. Or for example to allow resources more modifiers like buildings have instead of limiting them to just happiness and health bonuses. Perhaps a resource that increases culture or even war weariness, or science etc.. I don't know if this sort of thing is easy to do but all the xml tags are already there, they just arent associated with aspects like resources in this instance.

2) Theres no way to make a variable xml value. For example if you wanted to make a "lumber factory" type building that gave a bonus to production based on how many forests are in the fat cross city radius you cant. You have to pick just one value. I got a feeling this can be done because the holy special buildings are already able to produce a value based on variables..

These type of changes would be nice because they will allow those of us who like to do the xml and python modding more flexibility but without messing up the entire game structure..
 
Okies - I set up the SourceForge project, and the guys at SF seemed to think it was all fine.

http://sourceforge.net/projects/civ4ccp/

I accidently entered the name wrong unfortunetly - I got the two 'C's the wrong way around and it ended up as Civilization 4 Core Community Project, rather than Community Core. Not sure it makes much difference, but if anybody really wants me to I can probably get it changed.

The SF forums are a bit useless, so I might see about finding us a base where we can spread out a bit, and where we can discuss ideas and post code and stuff. I was thinking maybe PMing the admin of Civ4Mods (see my sig) and seeing if we have a section on his forums. Any suggestions on this?
 
The Great Apple said:
Okies - I set up the SourceForge project, and the guys at SF seemed to think it was all fine.

http://sourceforge.net/projects/civ4ccp/

I accidently entered the name wrong unfortunetly - I got the two 'C's the wrong way around and it ended up as Civilization 4 Core Community Project, rather than Community Core. Not sure it makes much difference, but if anybody really wants me to I can probably get it changed.

The SF forums are a bit useless, so I might see about finding us a base where we can spread out a bit, and where we can discuss ideas and post code and stuff. I was thinking maybe PMing the admin of Civ4Mods (see my sig) and seeing if we have a section on his forums. Any suggestions on this?

Regarding the name : you may contact the SF admins, they can change that. But its prio C, I guess.

Regarding Forum : why can't we stay here at civfanatics. I'm sure we would get an own subforum if we contact Thunderfall. It could be valuable to stay close to the community.
 
12monkeys said:
Regarding Forum : why can't we stay here at civfanatics. I'm sure we would get an own subforum if we contact Thunderfall. It could be valuable to stay close to the community.
From what I've seen the mod-specific forums here are usually private. There's also the fact that we may be excluding people from Apolyton. I might PM TF about the possibility however.

EDIT: Sorry if I seem a little hurried - I'm going away for the weekend ('till Tuesday) and I was trying to get this sorted first. Also going to be going back to uni next Saturday, and leaving my computer with Civ (and a compiler) behind.
 
Thanks naf4ever :)

As for the name I think thats fine (you know Google was mispelled by its creators when they registered their site, I think its a good omen)

I agree with 12monkeys, stay close to the community here at Civ Fanatics, possibly also establishing some branches on other sites as well. I'd only establish our own site if it became nessary as a code repositor and SF should do that no problem.

I think the next step is to start drafting a Manifesto and nominating members for a stearing commity. The commity would work to uphold the Manifesto, made desisions on what code dose or dose not make it into the project along with prioritization, and have responsability for finalizing and releasing versions.

I will start off by nominating TGA and Kael (can I get a Second?)
 
I see even three persons as a possbile candiadate for that commity : TGA, Kael and TheLopez.

We should start with the manifesto as soon as we get own place (forum) to discuss it.

TGA : if you need some admin help or a substitute for the next days at SF just inform me. I did admin a SF project for a couple of months, some years ago. Unfortunaly I forgot my account and my email adress I had that time, so I already created a new account (awaiting still the confirmation from SF)
 
One minor thing: It would be good to tag added and modified functions somehow. I know that svn and such can give history revisions, but if you want to merge stuff you're doing with a file that may or may not have been modified, you'll want either the blame option of svn or require people to tag their changes by something like
/** My name - added this function */ in the .cpp and .h, and:
// My name - changed this line in the .cpp
svn is much cleaner of course as it doesn't clutter the code, but everyone has to use it for it to be any good.
 
I think this would be great as long as the game is improved and not changed (like the other mods) I am trying to teach myself C and C++ I went out and got quite a few books to help (think its going take months just to read one of them:( ) but I'm willing to try. I just have one Idea for the mod/patch you guys are planing that is to get the AI to use the carriers in like a task force like we do and if someone could bring back the cruise missile for us....:goodjob:
 
I also have VC++ experience and I could help by trying to document the SDK better. I have been going through it to see what all is in there and have been making notes as I go allong. I think I could format them and maybe put them in a doc or pdf format for everyone else to use since VS.net 2003 has a very usefull documatation tool which I use quite often.
 
I think I'm a little late to the discussion, but in my mind, the first and foremost thing I have always wanted from the SDK is to add more hooks and functionality to grant modders the ability to effect things which were overlooked in the original modding SDK. Some have already been mentioned, like unit Domains. Some others include resource requirements for units, adding health to a city, Event hooks for pre-combat calculations, etc. Personally, the first and primary thing I would want to do with the SDK is create an OO framework for the game system to allow for "full" python flexibility. By this I mean creating an object style API for each Civ4 entity, and allowing hooks in Python to override the default values returned by such. To open up the XML information read in on startup to be modifiable dynamically. And to add the event hooks we all know are missing, as well as clean up the names of the event hooks that currently exist (*cough* OnBeginPlayerTurn, OnEndPlayerTurn *cough*). As a fourth area of expansion, I have in mind to allow the creation both of "generic" XML data files for mod use which can be accessed in game for mod specific purposes--be they random events, spells, new goody generation entries--whatever. So as to allow coders in projects to create new features while letting their team's XML wielding members add specifics independently. Similarly, adding the ability to add arbitrary fields to existing XML entities which could be accessed by a generic Python API would dramatically expand what various teams could accomplish. A Summoned flag for units, or a Dark Side of the Moon only flag for buildings (just.. you know.. as an example ;). These sort of highly leverageable changes are what I see as the greatest things we could add to the modding community.

With modifications such as these, one, version-controlled, modder's expansion patch could allow all Python capable modders in the community to accomplish a wide variety of far more ambitious mods without having to touch or know anything about the presumably more esoteric and difficult to approach C++ SDK.

I haven't had the chance to check out the SDK yet, (I literally just started reading about it 60m ago :/.), but this area, more then UI or Performance definitely, and even more then AI strikes me as the most compelling application for the SDK. I don't know yet if it's possible to do something similar to allow for AI tweaking for various mods by adding more Python hooks in that arena. Only experience will be able to guide me in that :/.

P.S. I forgot to mention, I also am proficient with C++ and Visual Studio, since we seem to be taking a sort of roll call ;).
 
PeteT said:
Please, tell us more about it.

I presume he's talking about Document Comments. If you have used something like Doxygen or... uh.. Javadoc, or even to a certain extent the "" __doc__ attribute comments in Python it's a similar sort of idea. At the beginning of various C++ elements, you can put comments which have embedded within them XML-style structured comments which can be used to automatically generate an HTML or CHM based help file describing the class hierarchy, apis and structure of any given project. The basic structure VS takes from its semantic understanding of C++. The actual information about the functionality and purpose of those classes and methods are provided by the embedded comments written by the user. (I'm a VSIP person :/).
 
Back
Top Bottom