Civilization 5 Modding Dead.

Except for the 3D leaderheads, we can do DLC-like modules for free.

Well if you interprete a DLC as no more than new maps, new civs and new graphics, then yes. But point is that you are severly restricted in making changes to game mechanics without the DLL, so you cant really create a unique module like for example FFH. As far as I understand, you cant even add new events (callback functions), and scripting with what they currently make available in Luna or whatever is quite lame.
 
Well if you interprete a DLC as no more than new maps, new civs and new graphics, then yes. But point is that you are severly restricted in making changes to game mechanics without the DLL, so you cant really create a unique module like for example FFH. As far as I understand, you cant even add new events (callback functions), and scripting with what they currently make available in Luna or whatever is quite lame.

I misread then, I've understood "DLC-like mods" by "mods looking like currently released DLC", not by "mods looking like an expansion pack", sorry.

And I don't know for FFH, but I'm pretty sure RFC could be made without the DLL sdk.
 
As far as I understand, you cant even add new events (callback functions), and scripting with what they currently make available in Luna or whatever is quite lame.

You understand poorly.

A LOT can be done with the current Lua environment. There are still a few event types that I'd like to see them add, but the existing events cover the most common ones (when a unit is created, when a combat starts, when a combat ends, when a turn starts, when a turn ends). For many of the rest, you can create functions that leverage the save/load functionality to approximate the effects. For instance, there's no actual "on building created" event, and yet the Building Resources mod has allowed us to mimic that by using the save/load features to check if a building has just been completed in the previous turn. And that was done back in October-ish.

Scripting in Lua is the same as programming in any other language; once you get the hang of the syntax, an experienced programmer can do a lot of different things. There are a few areas where the functions are a bit sparse (mainly anything involving the AI's decision processes), but pretty much anything related to yields, culture, etc. are there.

So don't overstate the need for the DLL. It may be the last piece needed for some of the truly great designs to be possible, but it's not like we're helpless without it.
 
There's a big difference between tacking on something with scripts and actually changing the way the game works in the DLL. There's and even bigger difference between using functionality designed for something and workarounds to achieve a similar effect. But maybe that's because I'm a civ4 modder; civ3 and civ5 (and probably civ2) modders swear by workarounds while their use is frowned upon by civ4 modders.
 
Now, I'm not a modder. I'm very from it, but I still hope I can contribute to the discussion with my viewpoint here. I'm a civ'ver, like anyone else for Civilization Revolution, Civilization IV, and Civilization V. I love the concept, and it's probably the top franchise in its niche, which is historical gaming. I probably play the game different from most other players, though, in that I really apply the games in the historical perspective.

I used World Builder a lot to create scenarios based on history, and each game I like roleplaying as a country, like the United States after the revolution or a colonial England. Now, obviously, Civilization Revolution didn't allow that, but that game got me interested enough to buy the already out Civilization IV and get me fully interested into this franchise. With Civilization IV, I just couldn't roleplay. The civics system was too simple, the tech tree was far too small and shallow, etc.

However, I found mods like something I believe is called New Realism, Rise of Mankind, and ultimately a New Dawn to satisfy the complexity I needed with Civilization to fit my particular style of gaming. The civics were complex enough, the tech tree made for more realism with how much depth there was, *there was a revolutions system*, etc. I had great fun with it. However, when Civilization V came out, it seemed much prettier at least, but I doubted it would fit my roleplaying style of gameplay.

As it turned out, though, after World Builder was released, I was surprised to see that, unlike Civilization IV, Civilization V had sufficient sophistication to play really as a historical game. The civics system is the primary reason, because there really isn't much that a mod could improve with it philosophically, unlike that incredibly simple civics system for Civilization IV. The Civ V civics system covers the variations and deviations there are in political science, like differing Liberty and Freedom, showing that the first societies had three pathways in kingdoms (Tradition), republics (Liberty), and simply being a warring state (Honor), etc. I would simply just add some more trees and more variations for titles when civic trees are mixed, since presently the titles for a leader, like Lord or Doge, are only for the civic tree last purchased. However, of course, the tech tree was as lackluster in Civilization IV.

Generally, Civilization V, I would say, is better off than Civilization IV was vanilla, but it will never be able to reach the quality or capacity, at least for me, as I had with my general Civilization IV experience, if it does not allow mods more leverage and liberty to design mods that can be the best fit for the civilization fans, because not everyone plays the game the same way, and you can't please everyone. Therefore, why not support the means to allow people to please themselves as much as possible?
 
D-day wasn't fought with marines who floated in on a few logs tied together. The Romans didn't defeat Carthage with guys sitting helplessly on dead trees hoping the current would take them where they need to go. Both used these things called navies.

Besides, it's no more nit-picky than those who claimed that civ4 features horses transmorgifying into helicopters. Plus I refuse to believe that the year display can be mapped onto unit movements (or anything, for that matter). That's just too unrealistic, and the year display doesn't affect anything (unless you're playing RFC), so who cares?
 
You glossed over my point, I think. So let me make it rather clearer...

It's a game. It's always going to be a game. No matter which iteration you look at, there are going to be gamey elements that detract from historical immersion; It is simple fact.

You may find the elements of Civ5 break immersion more than those of Civ4, but others will find the opposite.
 
You understand poorly.

There are still a few event types that I'd like to see them add, but the existing events cover the most common ones (when a unit is created, when a combat starts, when a combat ends, when a turn starts, when a turn ends).

Well you said it yourself: There are still a few event types that I'd like to see. So what do I understand poorly? So as you see, you can not add your own callbacks or general function calls. As deanej said, there is a big difference between sripting using tricks and workarounds and actual coding. Im not sure, but I think that the dll source is the game itsel excluding the graphical engine, and probably some other propriatery modules. So having the source you can for example make "civ 5 civ 4 -like", for example bring back unit stacking, create new dimensions (like spell casting in FFH) - note, Im just speculating. So actually the dll code is the most important, major comoponent for modding, so I am not overstating anything, there really is a huge need for the DLL, otherwise there is no hope that civ5 will ever surpass civ4.
 
What civ5 mods have tried if I may ask ? What make you think you can't already made a civ4-like version of civ5 ?

And is it because I'm not a programmer that I don't see so much difference between adding a function in C++ for opensource game or adding a function in Lua for civ5 ?
 
The only true difference is that in the C++ you can teach the function to the AI.

Well, that and the ability to add some robustness to the existing triggers. For instance, the start-of-combat event (RunCombatSim) has a few quirks:
> It won't trigger if you use Quick Combat
> It won't trigger if you're in Strategic View
> If one of the two participants is a city (either unit attacking city or city attacking unit) you'll have the player ID of the city's owner but no way to tell which city it is
> If the attacking unit is a nuke (which targets a hex instead of a city or unit), there'll be no positional information passed to the function to let you figure out which hex is being attacked or which players are being affected.

Outside of those limitations there's a tremendous amount you can do with Lua. But access to the C++ might allow us to fix some or all of the above issues, which'll make things a bit less problematic.

There are also just a few other little things that should be possible with the SDK. For instance, right now all units have the same max HP (10, by default), but with C++ you should be able to make it so that some units have 5 HP, some have 10, some have 15, and so on. These aren't the sorts of things that'll make or break a mod, but adding them will make things that much better.
 
What civ5 mods have tried if I may ask ? What make you think you can't already made a civ4-like version of civ5 ?

And is it because I'm not a programmer that I don't see so much difference between adding a function in C++ for opensource game or adding a function in Lua for civ5 ?

I was also responding to stuff like this:
there's no actual "on building created" event, and yet the Building Resources mod has allowed us to mimic that by using the save/load features to check if a building has just been completed in the previous turn.

There's also the fact that doing something in Lua is tacking on your code to how the game works, while using the DLL actually changes the way the game works. While there's no difference to to end user in either of these, both make the code inelegant, which is important to a programmer.
 
I would assume there's also performance penalties from abusing the lua like that, rather than altering the "low level" C/++ code.
 
I was also responding to stuff like this:


There's also the fact that doing something in Lua is tacking on your code to how the game works, while using the DLL actually changes the way the game works. While there's no difference to to end user in either of these, both make the code inelegant, which is important to a programmer.

ok, thanks for the clarification, still there is a difference between making something inelegantly and can't make something at all, like what was implying bitula.

but I get your point, I was trying to make some code for my WW2 mod to add the function described by Spatzimaus for different units maxHP, and I can tell you that even for a non programmer it feels inelegant :D

(not counting the fact that I get stuck at the number of unit figures shown based on the global MaxHP, not the "custom" one)

and maybe it's a false impression, because I wasn't using python much with civ4, but isn't lua interpreter for civ5 faster than python for civ4 ?
 
ok, thanks for the clarification, still there is a difference between making something inelegantly and can't make something at all, like what was implying bitula.

Look, what I think, and correct me if I am mistaken, that the C++ source is the game itself excluding the graphical engine (gameboy or whatever ) - so for example you cant change hexes into squares therein. But it directly interfaces with the engine, and for example it contains full AI code, so you can completly rewrite the AI. It also creates an interface for LUA, so LUA is nothing else but the exposed interface functions and callbacks, so you, as a scripter, are severly restricted to what and how is exposed to you. So how is this not a HUGE difference? And I dont believe you can make Civ5 Civ4 like with LUA. Or are you telling me, you can add corporations, religion, unit stackig, great generals etc via LUA? No, you cant, but I bet you can do it with the dll source. But correct me, if I am wrong.
 
And I dont believe you can make Civ5 Civ4 like with LUA. Or are you telling me, you can add corporations, religion, unit stackig, great generals etc via LUA? No, you cant, but I bet you can do it with the dll source. But correct me, if I am wrong.

for the most part yes you can do those things via lua scripts.

besides isn't stacking enabled by a row value in the db?

i'm guessing though that with the dll, things should be easier to implement, instead of having to use the lua API provided. i never saw how it worked with the civ4 dll so this last bit mostly speculation

ETA:
The only true difference is that in the C++ you can teach the function to the AI.
as it stood when things first came out, it was very possible to teach AI with lua. it was just a matter of how much work someone would want to put into scripting such a thing. i don't see how it will be all that much easier with source, i mean when it comes to teaching AI you'd imagine a lot of conditions to monitor and base decisions off of, logically it wouldnt be all that much different than with lua to add new things

of course editing, changing, copying bits to make something new, all from the source could help speed things up
 
Back
Top Bottom