Civ 5 SDK <> Civ 4 SDK

hawkeye_de

Chieftain
Joined
May 4, 2009
Messages
5
Location
Germany
I have some ideas for my own mod but since Civ 5 will be released soon, I am asking myself if I should start to familiarize now with the Civ 4 SDK or if that would be nonsense?

Does anybody know if the modding will pretty much work like in Civ4 (SDK -> C++ with extension points provided in Python) ?

Sure the coding will be new but perhaps some concepts remain the same^^
 
I think that we have heard that C++ will be used but Lua will be used instead of Python for scripting. I suspect it will be similar to python extentions in the SDK though.
 
It's useful to look over any code, to increase your ability to quickly read what a function is doing. So I'd recommend looking over the Civ4 code. :)

Also, Lua is the script language being used in Civ5 so you could also learn Lua.
 
Lua should help with making the speed no worse than Civ IV
 
Let's be honest.

The initial question already reveals that these ambitious plannings are a stillborn child.

Somebody dedicated to his modding ideas would not waste time asking if Civ4's SDK is much different, he would just make use of the remaining 3 months and train his skills.
 
Let's be honest.

The initial question already reveals that these ambitious plannings are a stillborn child.

Somebody dedicated to his modding ideas would not waste time asking if Civ4's SDK is much different, he would just make use of the remaining 3 months and train his skills.
No need to attack him. He's asking what he should do to "train his skills" for Civ 5.
 
A lot of the same coding styles will be in place between Civ 4 and Civ 5. If you're planning on looking at the SDK for Civ 5 I think there would be a wealth of stuff you could learn from the Civ 4 SDK personally.

I've had a look at the files on the Steam preload and the XML files look like they're very familiar so I'm guessing the C++ code will be somewhat familiar too, so I'm pretty sure there will be plenty of overlap. I'd put money on the possibility that there is plenty of completely shared / transferred code taken from the Civ4 SDK too. Even if only the XML loading BasicInfos stuff (which is still useful to learn in itself) but I'm sure it's more than that.

Just remember that for e.g. the C++ code for a city in Civ 4, CvCity is the actual game code for the city, and the CyCity is the python interface, the code that comminucates between the C++ city code and the python city code.

More than anything else it will be the interface between the game objects and the scripting that will change since Civ 5 scripts will be written in lua. Again though there is going to be a significant overlap into how these things are exposed to script, regardless of the script used. After all by replacing all the CyCity (etc) objects with LuaCity (or whatever) I'm sure the otherwise unaltered Civ 4 code could be made to work with lua, as the actual nuts and bolts of the game code stays purposefully separate from it.

tl;dr there'll definitely be plenty of benefit to doing it.
 
Civ 5 SDk will not be released anytime soon.

http://apolyton.net/content.php/30-Jon-Shafer-Interview-preview-Modding-in-Civilization-5

As you can read."there are plans down the road"
"intention only"

bottom line, if the SDK is not released, you can forget major modding, as changing too much in lua will slow down just like any interpreter. If you want good modding, c++ is the way to go. Anything else will be 'cool' and 'great' but definitely NOT the best solution
you use lua only for graphic mods. As civ programmers themselves use lua/python as well ONLY and SOLELY for graphics. If you want to do more, and do it right, c++ or c# or any other decent language is the way to go.

So, now you know what you should learn to mod quality, and not quantity..
c++ or c# or javascript or any other language uses different syntax and there are differences behind the curtain, but the logic is the same. And it is this logical thinking you have to familiarize yourself with first! How to use arrays, when do I use them, when do I use a pointer, when do I use an integer instead of pointer, classes, public private, when where.. etc etc...

to learn that, you don't even need civ 4. You can start with ANY coding tutorial. But since civ uses c++, i'd recommend starting c++ tutorials right away. Look for special tutorials on arrays, pointers, classes, etc.. train your skills on them before starting civ5 modding. a good way to learn is and has always been, to look what others did before you. So look at the civ4 code is definitely helpful! Always!

But, apart from that. Jon Shafer is very clear about the SDK. It won't be released any time soon. I can guess, they will release it first with an expansion pack of 50EUR.
So you gotta buy the game first 50 eur, then wait at least 6months for the first expansion pack another 50eur...

I was planning major modding for civ5, but now I know firaxis won't support modding anymore, and just release some cheap :):):):):):):):) toolkit in the form of lua, to slow down the game like crazy.. ehm, and on top of that the STEAM obligatory registration. I might even stop completely on civ, find a group of people who are into realistic gameplay, and write our own game from scratch.
 
Civ 5 SDk will not be released anytime soon.

http://apolyton.net/content.php/30-Jon-Shafer-Interview-preview-Modding-in-Civilization-5

As you can read."there are plans down the road"
"intention only"

bottom line, if the SDK is not released, you can forget major modding, as changing too much in lua will slow down just like any interpreter. If you want good modding, c++ is the way to go. Anything else will be 'cool' and 'great' but definitely NOT the best solution
you use lua only for graphic mods. As civ programmers themselves use lua/python as well ONLY and SOLELY for graphics. If you want to do more, and do it right, c++ or c# or any other decent language is the way to go.

So, now you know what you should learn to mod quality, and not quantity..
c++ or c# or javascript or any other language uses different syntax and there are differences behind the curtain, but the logic is the same. And it is this logical thinking you have to familiarize yourself with first! How to use arrays, when do I use them, when do I use a pointer, when do I use an integer instead of pointer, classes, public private, when where.. etc etc...

to learn that, you don't even need civ 4. You can start with ANY coding tutorial. But since civ uses c++, i'd recommend starting c++ tutorials right away. Look for special tutorials on arrays, pointers, classes, etc.. train your skills on them before starting civ5 modding. a good way to learn is and has always been, to look what others did before you. So look at the civ4 code is definitely helpful! Always!

But, apart from that. Jon Shafer is very clear about the SDK. It won't be released any time soon. I can guess, they will release it first with an expansion pack of 50EUR.
So you gotta buy the game first 50 eur, then wait at least 6months for the first expansion pack another 50eur...

I was planning major modding for civ5, but now I know firaxis won't support modding anymore, and just release some cheap :):):):):):):):) toolkit in the form of lua, to slow down the game like crazy.. ehm, and on top of that the STEAM obligatory registration. I might even stop completely on civ, find a group of people who are into realistic gameplay, and write our own game from scratch.

How fast you forget. Civ4 SDK came out 6 months after Civ4 after having to be cleaned up and passing 2K legal. The delay is for the same thing.

Plus it would be pointless releasing a code SDK if they then apply a couple quick patches on top.
 
I have never modded, but I am a programmer and know c++. Would it be hard for me to learn to mod civ? Since you say c++ is the best for it.

No! If you understand the basics and logic how c++ works. Everything else is simple.

But as I said. There is now an official statement of Jon Shafer there will be no SDK for the foreseeable future.
They only have 'intentions'
And my experience is that if something is not planned yet, only intentional, you can wait at least 6 more months

I hope I'm wrong about the time frame, maybe the SDK will be VERY VERY fast released (then you must think of 2-3 months more waiting) But I bet they'll first release it with an expansion so they have more reason to charge you another 50 bucks

So, I'm not seeing the point of modding really. It sounds more like Spore modding, you can change some values from 1 to 2, or change colors etc.. or the location of a button. But that's not the modding you know from civ4!

I really feel a lot for starting a good group of open source supportive people and write a complete new game ourselves. A combination of Civilization, Supreme Ruler and Europa Universalis..

Either way, not being hand tight by other companies..
As i favor open source. Instead of open source, or enlarge modding possibilities,
they even CLOSE MORE code then in civ4. I'm not even mentioning the DRM and other :):):):):):):):):"like you must register at steam, or you are forbidden to play the game" hack, i want a game, no registration at some server I don't even know where on earth it is located. No, I'm not talking about that, I'm talking about Jon Shafer saying there will be NO SDK in the release!

And if you download the pre-release, you can actually see, there will be NO SDK! it's not included. Will not be there.

So what do you want to mod? Some buttons? Some colors? then do lua..
if you want to mod real stuff, yes, you can do it with lua, if you accept the fact that 'next turn' might take 10-1000 times longer depending how big you want to make your mod.

really no SDK, and civ5 will suck compared to civ4!
 
How fast you forget. Civ4 SDK came out 6 months after Civ4 after having to be cleaned up and passing 2K legal. The delay is for the same thing.

Plus it would be pointless releasing a code SDK if they then apply a couple quick patches on top.

6 months??? really???
ok, then I take back my :"compared to civ4"

anyway. I'm still disappointed :(

without SDK, I won't buy the game anyway. because the SDK is what makes the fun IMHO.. just playing is no fun if you can't bend the game how you want it to be
 
6 months??? really???
ok, then I take back my :"compared to civ4"

anyway. I'm still disappointed :(

without SDK, I won't buy the game anyway. because the SDK is what makes the fun IMHO.. just playing is no fun if you can't bend the game how you want it to be

Its annoying, sure but kinda understandable. If someone makes a mod like RoM or FFH, thats bad for DLC-s. And DLC=$$$ And $$$=cocain....im kinda slipping off the road with this but i think you all get it. As much as Firaxis loves his modders them and 2K is also more interested in making money than making their fans happy.
 
But when Civ4's SDK was also launched 6 months later? I think they're putting their manpower on actually delivering a great game, which is what will appeal to the majority in any case. THEN, they can think about supplying us with a good SDK... but haters gonna hate, don't know why I'm even replying.
 
How fast you forget. Civ4 SDK came out 6 months after Civ4 after having to be cleaned up and passing 2K legal. The delay is for the same thing.

Plus it would be pointless releasing a code SDK if they then apply a couple quick patches on top.

Why did they have to do anything? Isn't the SDK the exact same code they update for that DLL? I was under the impression that it was!

IMO, games should be built with the modding from the start, not changed to have modding later. That way everything is cleaner.
 
Why did they have to do anything? Isn't the SDK the exact same code they update for that DLL? I was under the impression that it was!

IMO, games should be built with the modding from the start, not changed to have modding later. That way everything is cleaner.

Unless they've been incredibly careful in their planning and implementation, there is likely the need to do some cleanup of the code comments and organization for the SDK release. Even with the goal of modding in mind, it is sometimes easy to have something creep in during implementation that isn't intended for public consumption in an SDK, or that something that was originally implemented for internal use is quite useful in the SDK.
 
Profanity in code ups programmer productivity.

Releasing profanity-laced code is considered impolite.

So don't spend a bunch of time auditing code for release, until after the game gets out the door. Then do another code sanitation pass for release to the public after the game goes gold.

A side effect of this pass will almost certainly be bug fixes for bugs that didn't get caught in earlier passes (because completely bug-free code is too expensive to write for large projects like a game: so all passes over the code will reveal bugs).
 
Top Bottom