Modding and Firaxis

Lopez did some really nice work but got hit with the double whammy of a new job and new kid and we never saw him again. IRL stuff can bring any mod effort big or small to an untimely end and I believe this was more at issue then anything else, some really huge and ambitious projects are still ongoing due to the fact their developers have some unique lifestyle arrangements that allow them to continuously devote large amounts of time to their mods. Their are other instances ware two or three people have in succession built upon each others work and ultimately created something very nice, the BtS modular loading was like this as a modder named Chinese American had created and abandoned the earliest version which I think picked up. So long as people give their code to the rest of the community development can restart.
 
Don't forget that there's a very good likelihood that Firaxis will have implemented their own improved modular loading / dll system anyway given the apparent increased modding support. They did after all use a fair amount of the unofficial patch in 3.19 I noticed so are clearly more in-tune with the community's tides than most developers. Especially with a former modder in the big design seat. :D
 
Hi Impaler, don't see you much in the Civ 5 forums.

It's very difficult to have a mod or idea be included into BTS and that shouldn't be taken for granted. A lot of things have to come together properly at the right time: someone to conceive the idea, to build a prototype, and to garner enough interest among the masses. For instance, when I proposed the XML loading idea to these boards, there were some doubts as to its viability and utility. So I created a prototype as a proof of concept. It was only then that others could see this idea would work. So Impaler took it upon himself to improve upon the prototype and then personally and fervently pitched it to Firaxis. Without this series of events, it would be very, very unlikely that BTS would have this feature. Looking back you could say modular XML loading was obvious, but its inclusion into BTS was not obvious or guaranteed without some effort behind the scenes. There have been several similar projects that attempted to solve the same problem that XML loading answered, but they have not been successful due to various reasons (i.e. logistics, unintuitiveness, lack of interest by coder and by users, etc.)

Personally I think all code written by everybody should be available to the public. I would gladly share all my code if anyone were interested.
 
Impaler[WrG];9052674 said:
Lopez did some really nice work but got hit with the double whammy of a new job and new kid and we never saw him again. IRL stuff can bring any mod effort big or small to an untimely end and I believe this was more at issue then anything else, some really huge and ambitious projects are still ongoing due to the fact their developers have some unique lifestyle arrangements that allow them to continuously devote large amounts of time to their mods. Their are other instances ware two or three people have in succession built upon each others work and ultimately created something very nice, the BtS modular loading was like this as a modder named Chinese American had created and abandoned the earliest version which I think picked up. So long as people give their code to the rest of the community development can restart.

Hi Impaler, don't see you much in the Civ 5 forums.

It's very difficult to have a mod or idea be included into BTS and that shouldn't be taken for granted. A lot of things have to come together properly at the right time: someone to conceive the idea, to build a prototype, and to garner enough interest among the masses. For instance, when I proposed the XML loading idea to these boards, there were some doubts as to its viability and utility. So I created a prototype as a proof of concept. It was only then that others could see this idea would work. So Impaler took it upon himself to improve upon the prototype and then personally and fervently pitched it to Firaxis. Without this series of events, it would be very, very unlikely that BTS would have this feature. Looking back you could say modular XML loading was obvious, but its inclusion into BTS was not obvious or guaranteed without some effort behind the scenes. There have been several similar projects that attempted to solve the same problem that XML loading answered, but they have not been successful due to various reasons (i.e. logistics, unintuitiveness, lack of interest by coder and by users, etc.)

Personally I think all code written by everybody should be available to the public. I would gladly share all my code if anyone were interested.

And I'm very very glad you guys did create Modular Loading. I use the WoC loading system with a few tweaks of my own to it, and it's allowed me to create a Mod expansion that is > 90% modular. ;)
 
Hi Impaler, don't see you much in the Civ 5 forums.

It's very difficult to have a mod or idea be included into BTS and that shouldn't be taken for granted. A lot of things have to come together properly at the right time: someone to conceive the idea, to build a prototype, and to garner enough interest among the masses. For instance, when I proposed the XML loading idea to these boards, there were some doubts as to its viability and utility. So I created a prototype as a proof of concept. It was only then that others could see this idea would work. So Impaler took it upon himself to improve upon the prototype and then personally and fervently pitched it to Firaxis. Without this series of events, it would be very, very unlikely that BTS would have this feature. Looking back you could say modular XML loading was obvious, but its inclusion into BTS was not obvious or guaranteed without some effort behind the scenes. There have been several similar projects that attempted to solve the same problem that XML loading answered, but they have not been successful due to various reasons (i.e. logistics, unintuitiveness, lack of interest by coder and by users, etc.)

Personally I think all code written by everybody should be available to the public. I would gladly share all my code if anyone were interested.

Thanks CA, though I must give a shout out to Kael he was really the one whole 'sold' Firaxis on the the idea. Alex Mantzaris the BtS programmer/designer asked modders like Kael what kind of feature would make modding easier and he specifically pointed out modular loading as something that he would love to see included. I really just had to integrate the code with BtS and submit a Diff to Alex who tweaked it a bit for speed as well.

I've been a bit absent from the boards as I knew about Civ5 development from my work at Firaxis and nothing revealed lately has been at all new too me. I also want to avoid any NDA slip-ups which I am always quite paranoid about so I've been playing miscellaneous indie games, learning some new systems like SDL and recharging my batteries for another plunge into Civ.
 
Impaler[WrG];9057180 said:
I've been a bit absent from the boards as I knew about Civ5 development from my work at Firaxis and nothing revealed lately has been at all new too me. I also want to avoid any NDA slip-ups which I am always quite paranoid about so I've been playing miscellaneous indie games, learning some new systems like SDL and recharging my batteries for another plunge into Civ.

If this doesn't violate your NDA, in your opinion, will Civ5 modding be more customizable than Civ4 (I.E less features locked in the EXE)?
 
*Runs back into the Shadows*

Honestly I don't know, that's the kind of thing that gets worked out when creating the new engine which I never saw let alone ever looked at the code for. I'd assume that Firaxis will try to keep as many aspects in the DLL as possible, they had only a few things in the CivIV exe and even moved stuff into the DLL in the explanations to help assist moders.
 
Impaler[WrG];9057180 said:
...Kael what kind of feature would make modding easier and he specifically pointed out modular loading as something that he would love to see included

I see. It's ironic, really, that Kael was one of the main proponent for modular loading.

lua is more like C than python is, but it's still got its own quirks. Lack of switch statement, 0 is true, and every variable being global by default are the most glaring differences.
It's a table language, not an OO language.

tables can sometimes take the place of switches and objects.

what I hope Firaxis should implement is a good system for hooking and unhooking.
 
Just started studying up on LUA, can you believe it starts counting of its tables at 1, HERESY I say, the zeroth rule is programming is "Start counting at zero!" :mad:
 
Impaler[WrG];9060930 said:
Just started studying up on LUA, can you believe it starts counting of its tables at 1, HERESY I say, the zeroth rule is programming is "Start counting at zero!" :mad:

Just wait to see how it counts the number of elements in a table with #. For instance, how many elements do you think lua thinks this table has : {1='a', 3='b', 4='c'} ?
I tend to loathe ipairs and use pairs all the time, although I'm sure ipairs is probably a bit faster.
 
I see. It's ironic, really, that Kael was one of the main proponent for modular loading.

Ironic How?

Impaler[WrG];9060930 said:
Just started studying up on LUA, can you believe it starts counting of its tables at 1, HERESY I say, the zeroth rule is programming is "Start counting at zero!" :mad:

What, Programming making sense! Inconceivable! ;)
 
Impaler[WrG];9060930 said:
Just started studying up on LUA, can you believe it starts counting of its tables at 1, HERESY I say, the zeroth rule is programming is "Start counting at zero!" :mad:

Besides, that i hate to begin at 0, i also hate, when somebody does not use the standard.
One time i had to use an undocumented API, and these ********************** also started at 1, which caused 3 days of delay in my work :mad:.
 
What, Programming making sense! Inconceivable! ;)

Mathematical incorrectness is definately a minus in any programming language in my opinion. There will be no end to the bugs.
 
Mathematical incorrectness is definately a minus in any programming language in my opinion. There will be no end to the bugs.

Oh, I know. I'm so used to starting with 0 as well that I will undoubtedly be thrown by it at some point too... :p
 
Ironic How?

I'm just teasing.

Besides, that i hate to begin at 0, i also hate, when somebody does not use the standard.

What standard is that? Lua uses tables, not arrays. Most of the time it doesn't matter where you start counting because you can get the values directly from the iterators. Nevertheless, starting at 1 is more intuitive for most loops.
 
It's intuitive for someone who's never programmed before because 99% of the time a person would would start counting at 1 (except for some notable exceptions like the floors of a building in Europe ware 1st floor is the one above the 'ground' floor). If a person has learned just about any other language they will be familiarized and habituated to the zeroth rule. I can only assume LUA designers chose to stray from that to make the language super newbie friendly.
 
Impaler[WrG];9063187 said:
It's intuitive for someone who's never programmed before because 99% of the time a person would would start counting at 1 (except for some notable exceptions like the floors of a building in Europe ware 1st floor is the one above the 'ground' floor). If a person has learned just about any other language they will be familiarized and habituated to the zeroth rule. I can only assume LUA designers chose to stray from that to make the language super newbie friendly.

Or they're all aging COBOL programmers...:lol:

I guess it depends which era (and environment) one learnt to program in...if like me you cut your teeth on PL/1, COBOL, Pascal, Fortran and even SmallTalk then 1-based feels more natural, and the only time you had to worry about things being 0-based was when you were forced to drop into assembler (370 ASM).

Them thar new-fangled languages (which is all I use now of course) just had to go and change things. I remember hating 0-based arrays in C until I put my assembler programmer hat on and realised I actually knew how to do this already, and that it made many activities which were necessary in C, like address computations, simpler.

I thought I was done with 1-based arrays, now LUA is causing me all sorts of trouble, (although not as bad as the problems I get into when going home to the UK and having to concentrate when driving on the left.)

Sorry...I'll go back to aging quietly now.

PS. Does anyone know why lifts are 0-based whilst elevators are 1-based, I've always wondered that?
 
as a C programmer who got used to lua I can tell you about the quirks.

quirks you will get used to and will start to make sense in the context of the language:

- 0 being true
- 1-based arrays
- verbose syntax

quirk that will constantly annoy you forever:

- global scope by default. Good lua is nothing but "local local local self. self. self."
 
Back
Top Bottom