Modding Speculation

Guys, don't argue.
Here are 2 groups, computer scientists, and the other people.
And you don't understand each other.

@scientists:
Asking the users not to have a GUI is like asking them to use a command line tool. That will not work, and i guess you can understand why.

@non scientists:
Modding is partially science. The BUG mod is not less complicated than civ itself, it's just smaller. You can't mod something like that if you don't put a serious, big amount of time and brain matter into it, and sure not everybody will be able to do it, no matter what tools you get.




The translation tool is for text files, it will use the google API to translate text XMLs in the other default languages. You'll now say "OMG, google translations are crap!"...yes, sure. But for single names, single words it will probably work. It's not meant to translate whole civilopedia entries, only the basic things, for sure.

And the map conversion tool is imho really pretty cool :cool:.

I'm sorry, but no. Just no.

XML is purely text. It is not code, it is not complex, it is not science. It is text. Asking people to modify text is in noway similar to asking them to use command line!

I agree that programming is a science. I happen to be majoring in it. XML (as used by civ), however, is not programming. It uses no logic, it does not tell the computer what to do, nothing that any programming language must do. It is data, in the form of text. That is all.

A purely xml-mod has NOTHING to compare to BUG. Or FfH. Or RifE. Or AND. They are entirely different beasts.
 
2K/firaxis haven't made any announcements regarding modding yet. specifically, what, if any, modding tools will be available.

I can't comment on what 2k/Firaxis have said since I haven't read all their official announcements, but you can listen to Jon Shafer--lead designer for Civ5--talk briefly about the in-game mod marketplace and Mod Buddy--the mod packager--in the latest PolyCast episode about Civ5.
 
Not just Valkrionn's experience, Mine, EF's, and several others. But yes, you are free to dismiss us; after all, it's not like we know anything about modding, right? :p
I am not dismissing you - my experience just tells me differently. And while I have not (yet) released any of my personal mod works to the public, it doesn't mean that my knowledge about modding (on any level) is limited ... as you seem to think.
 
I'm sorry, but no. Just no.

XML is purely text. It is not code, it is not complex, it is not science. It is text. Asking people to modify text is in noway similar to asking them to use command line!

I agree that programming is a science. I happen to be majoring in it. XML (as used by civ), however, is not programming. It uses no logic, it does not tell the computer what to do, nothing that any programming language must do. It is data, in the form of text. That is all.

A purely xml-mod has NOTHING to compare to BUG. Or FfH. Or RifE. Or AND. They are entirely different beasts.

+1 this. I can't agree more.

I am not dismissing you - my experience just tells me differently.

If you don't agree with me, then you disagree. Black and White.
 
oh and nice to see you again... its been a while :D

I feel like the old gang is slowly coming back :) Now where's Grave and Sevo? Maybe Jeckel will come back too

Good to see you too, TheLopez. Yeah, everyone's coming back for another round. It's like an old TV show cast reunion. :)

@CyberChrist: Dode, editing text (XML) is so easy. Back when I started modding games the data was in hex and you had to use a hex editor to go in and find vales and change them. When game companies started actually putting data in a user-readable format and encouraging editing it made things so much easier. You really don't know how easy you have it.
An editor would have probably made it impossible to do a lot of things many modders did with Civ4. Some of us added new tags into the XML and modified the schemas to accept them and then stuck code in the C++ to use the new tags. If the developers when the editor route they probably wouldn't have released the schema (no need since the editor would have that knowledge internally). Also, the editor probably would have choked on new user-made tags. The developers would be anticipating a whole different type of modding community if they went the editor route, instead of the code route, to the ultimate detriment of the fan base.
I suggest you read up a little on XML (as I plan to do with LUA <groan>) so you will be ready to do modding on day one. It really is just text.
 
Regarding Lua versus Python:

In addition to performance concerns (Lua really is fast), there may also be security concerns. I don't know how much control a Python host can exercise to limit access to the file system or network services, but I'd wager a Lua host can control it all. Since mods are going to be distributed via an in-game browser, Firaxis needs to be absolutely sure that people can't use mods as a way to do bad stuff to downloaders' computers.

Personally, I like Lua as long as you're not trying to do anything fancy. If you need only the most basic language features - loops, functions, variables, comments - Lua is great. But like any dynamically-typed language, it doesn't scale up in complexity well. Once you get more than 3-4 pages of code, it's not the right tool.

I suspect people will find Lua simpler to learn, but more error-prone than Python.
 
For what is worth I MUCH prefer editing with notepad++ than anything else I've tried.

Having said that it helps that Civ4>FFH>FF>Rife all have well written Xml. Especially that the tags names make them clear in what they do or are well documented.

Trying to mod Elemental was a nightmare, there files are TERRIBLE in comparison. So bad in fact that they have only just been able to fix some of their own errors.


What i would like is a quick way to check that the Xml matches the Schema, its very annoying to have to reload cos a / was a \.
 
An easy to use XML data editor (a'la civ3 editor) to help streamline the normally tedious process of XML editing (especially for the bigger mods/SDK changes and the XMLphobic would-be modders) would go a long way.

Anyway, this entire debate may very well be academic since this thread (with excerpts from an interview on a german site) mentions a game editor as well as a Modbuilder/-browser for packing/installing mods.

There may be hope for us all yet. :)

It would be sad if there is no GUI to modify XML. I really hope that they recognize how important this is to build a larger mod community and give it the priority it deserves.
 
@CyberChrist: Dode, editing text (XML) is so easy.
For my own part I would agree, but for the majority of Civ4/5 players it is not easy.

Back when I started modding games the data was in hex and you had to use a hex editor to go in and find vales and change them.
As did I (all the way back in the 80's).

You really don't know how easy you have it.
Yes, I do. But for the majority of civ players it is still beyond what they can - or least are willing to - handle.

An editor would have probably made it impossible to do a lot of things many modders did with Civ4.
Only if done stupidly.

Some of us added new tags into the XML and modified the schemas to accept them and then stuck code in the C++ to use the new tags. If the developers when the editor route they probably wouldn't have released the schema (no need since the editor would have that knowledge internally).
And that would have been one of the stupid ways to go about it.

Also, the editor probably would have choked on new user-made tags.
No, that is the whole point - the editor should make use of the current XML file structure. Adding new tags would be no hinderance for that as they could be dynamically included by the editor (following the schema). I am truly sorry if you are unable to see how that could work.

The developers would be anticipating a whole different type of modding community if they went the editor route, instead of the code route, to the ultimate detriment of the fan base.
That is assuming the design team is visionless. They are clearly not (even if I don't agree with many of their choices).

I suggest you read up a little on XML (as I plan to do with LUA <groan>) so you will be ready to do modding on day one. It really is just text.
Your assumptions about me and my abilities are off by a large margin, but good luck with your own LUA studies.
 
As this seems to be the modding "forum" for now, I wanted to ask a few questions to get a sense of how modding appears to be relative to Civ IV.

I am NOT a programmer, and I usually restrict myself to text file edits (which was great in Civ II but only OK in Civ IV).


1. Is there a centralized place where all of the information related to Civ V modding? Is there a wiki already out there? Or a proto-wiki?

2. Is there any official word/details on what is or is not available? There has been some reference to a language translator as well as a map translator...

3. Degree of difficulty? My most successful mod from Civ IV, which involved using artwork modified by others, and using XML modifications (from others and myself) was a Sengoku Jidai period mod:
http://forums.civfanatics.com/showthread.php?t=302516

That should give you a sense of what I can do using a rather limited amount of modifying. Should that be achievable in Civ V given my "abilities"? I also did a few other maps, including a "A Game of Thrones" world that I never finished... although that one was pretty far along, and had a rather lovely map (imho).

4. Are there other threads I can take a look at before the release to get a sense of what is required to make a successful (not necessarily great or popular) mod?

thanks everyone,
-Zen Blade
 
Cyberchrist, you still have yet to refute the one glaring flaw in GUI editors, the one that I do not see an easy fix for (I admitted all the other issues could be fixed with more time devoted, which you basically said as well); Namely, the sheer number of tags. The only way to go about it would be to have a search within the GUI... and at that point it is faster to use text.

My preferred implementation would be text based, using Intellisense to check (and suggest!) tag names and data.
 
Also, I just noticed the rather large war within the thread.

As someone who had to take the time to learn how to edit XML... it is not "5 minutes". Sure, it is five minutes to figure out how to search and replace and type... but it takes FOREVER to find some files, and often the there is a lot of trial and error just to determine if what you are editing has any effect on the game. Then, once you realize what the effect is, you have to fine-tune it.

This may seem trivial to programmers, but to us non-programmers this is a lot of effort. I can make a sports metaphor or a science metaphor since I grew up playing a lot of sports and my career is in science (biochemistry). If a person does not already have years of training/learning in the sport in question or the field of research in question... it takes a lot longer for them to accomplish the goal. And they can't just walk away and come back the next day and remember everything. They often have to relearn a lot of the material from the previous session.

So, it would be great if the programmers out there can have patience and understanding for us non-programmers who do put in some effort to learn and who enjoy being creative, even if our final products are not on the same level as yours.
cheers,

-Zen Blade
 
Oh, don't get me wrong! I enjoy helping people learn to do this, and there is a thread in my forum entirely devoted to just that purpose.

Most other mods have similar threads; I'd be hard-pressed to name a single one of the larger modders who dislike answering questions, and helping people learn.

My point is just... A GUI of this sort is essentially wasted effort. For about the same amount of effort, a new modder can open the file and go to town. You may have questions, but that's what the forums are for... You'll always get a reply.
 
1. Is there a centralized place where all of the information related to Civ V modding? Is there a wiki already out there? Or a proto-wiki?

What should we know :dunno:? We don't have the game yet.

It's again XML, C++, and Lua instead of python, Lua is used for the same thing like python.
XML is again reasonable organized, partially the same like in Civ4.

There will be 3 tools min., mentioned on the last page.
that's it, essentially.
 
Most other mods have similar threads; I'd be hard-pressed to name a single one of the larger modders who dislike answering questions, and helping people learn.

My point is just... A GUI of this sort is essentially wasted effort. For about the same amount of effort, a new modder can open the file and go to town. You may have questions, but that's what the forums are for... You'll always get a reply.

And most of the main modders also wrote tutorials or manuals on how to do stuff too, aimed at the new modder to help them get into it.

I also plan to do this for Civ5.
 
Related question: do you think HTTLACS C++ a good intro to the language for the purposes of getting into SDK modding?

Assuming it is the same book but using C++ as the language, yes and no. If you don't know any similar programming languages yet (Python, Java, C#), absolutely yes. If you do, you may end up reading a lot of repetitive information.

For example, if you already know what lists are in Python, you don't need to be told how they work and why to use them. All you need to know is that in C++ you use vector from the STL. With that you can look up its API on cplusplus.com and go to town.

That being said, I don't think it would hurt to use that book. Just skim through the stuff you know which will be easy if you went through the Python version already. I never went through it to learn myself, but I googled it when helping out another modder and liked how it was written. It treated the reader like an adult without assuming too much previous knowledge.

Guys, don't argue.
Here are 2 groups, computer scientists, and the other people.
And you don't understand each other.

To clarify my position, I do agree that with enough man hours one could build a slick GUI editor with enough features to make XML modding accessible to those without the time to delve in deeper. It would require a lot of non-trivial features beyond simple tag- and type-safety, most notably validating keys between files so if you put UNIT_ARCHER in one file it ensures that you have defined that unit elsewhere.

The problem is that since the XML source isn't limited to a specific set of files, this is error-prone. it would need to know about all XML files--even those of other modders that you're using but not including in your mod directly. It would also need to check for art since that's a common CTD issue with Civ4.

I never said the existence of such a tool would be a bad thing. I agree a subpar GUI tool could hinder experienced modders, but they'd just use Notepad++ anyway so it wouldn't matter. But I don't think anyone's saying Firaxis should have developed a subpar tool.

What I am saying is that a) I think the tool would cause such a large resource drain as to not be worth it compared to spending that time on the game itself or other tools that solve truly daunting problems. And I'm also disagreeing with the statement that Firaxis choosing one tool over another is a slap in the community's face.

The translation tool is for text files, it will use the google API to translate text XMLs in the other default languages.

This is truly awesome. :goodjob:

You'll now say "OMG, google translations are crap!"...yes, sure.

Of course, but that's fine. The BUG team is lucky enough to have Cammagno for our Italian translations and The Doc for the German ones. This tool is awesome even for those because it saves me the time of going to Google myself, translating the text, and pasting it into the boilerplate XML files. While doing one translation takes only a few minutes, adding a new feature to BUG often requires 10 or more translated texts. That's 30 minutes I don't have to waste per feature!
 
Too much for me to reply individually, I'll try to touch on the main points and claims by my opponents. Some were stated by several people.

A GUI based editor would degrade mod making abilities for more advanced modders!

This is simply not true. It will not stop "advanced" modders from doing it there way.

It would tie up developer resources and is not worth it.

With proper planning, this would NOT be the case. Besides, with that argument then I would say that they could have spent less time "reinventing" the leaders which look all nice and flashy, but do not add any real elements of gameplay as far as I can see. As far as I am concerned, they just did that to appease the reviewers who only care about graphics and flash.

Also, as I have stated over and over, many other companies have released GUI based editors. Many times, along side the advanced scripting/programming languages and tools.

It was removed after CIV III, so why would they bring it back.

I was still miffed when they didn't include one with CIV IV. It was so limiting and left the power to do even simple mods with the advanced modders. Yes, XML may be among the easiest codes to figure out (some of the fields are easy... others are not very clearly defined), and I have done it to an extent where I could do the simple changes, it is just very tedious and overwhelming. Which leads me to...

It is much easier to mod with XML than an editor/ XML is simple!

When I hear this argument, all I picture is Sheldon, from The Big Bang Theory saying something along the line of "All you have to do is multiply the molecular mass by the speed of the photon atoms, then divide it by the light variable, subtract the distance, then add the level of gravitational pull... it is so simple really, I don't understand how anybody can't figure that out!"

Seriously, as has been stated before, for you guys, it may be easy... but for those of us who just want to do some basic stuff, it is like translating Ancient Greek with a French to English dictionary.

--------------------

And now, a couple of direct quotes...

XML is purely text. It is not code, it is not complex, it is not science.

This is text:

Code:
What you are reading right here is text!  Plain and simple.

This is code:

Code:
int main()
{
   unsigned int n;


   cout << fixed << setprecision(0);

   cout << setw(10) << "n" << setw(30) << "Factorial of n"
        << "           (Iterative solution)\n" << endl;
   for( n = 0; n <= LENGTH;  ++n)
      cout << setw(10) << n << setw(30) << iterativeFunction(n)
           << endl;
   cout << "Go on with <return>";
   cin.get();

   cout << setw(10) << "n" << setw(30) << "Factorial of n"
        << "           (Recursive solution)\n"  << endl;
   for( n = 0; n <= LENGTH;  ++n)
      cout << setw(10) << n << setw(30) << recursiveFunction(n)
           << endl;
   cout << endl;
   return 0;

This is also code:

Code:
<CivicInfos>
		<CivicInfo>
			<CivicOptionType>CIVICOPTION_GOVERNMENT</CivicOptionType>
			<Type>CIVIC_DESPOTISM</Type>
			<Description>TXT_KEY_CIVIC_DESPOTISM</Description>
			<Civilopedia>TXT_KEY_CIVIC_DESPOTISM_PEDIA</Civilopedia>
			<Strategy>TXT_KEY_CIVIC_DESPOTISM_STRATEGY</Strategy>
			<Button>,Art/Interface/Buttons/Civics/Despotism.dds,Art/Interface/Buttons/Civics_Civilizations_Religions_Atlas.dds,5,1</Button>
			<TechPrereq>NONE</TechPrereq>
			<iAnarchyLength>1</iAnarchyLength>
			<Upkeep>UPKEEP_LOW</Upkeep>
			<iAIWeight>0</iAIWeight>

Get the picture? If not, which two of the three above samples look the closest to each other.

Notepad is an xml editor! You could teach a 5 year old to modify xml.

Yeah... if that 5 year old was Ender Wiggins!
 
A GUI based editor would degrade mod making abilities for more advanced modders!

This is simply not true. It will not stop "advanced" modders from doing it there way.

Not sure who made this claim, but in any case, I do agree with you. I'd just ignore any GUI editor. ;)

It would tie up developer resources and is not worth it.

With proper planning, this would NOT be the case. Besides, with that argument then I would say that they could have spent less time "reinventing" the leaders which look all nice and flashy, but do not add any real elements of gameplay as far as I can see. As far as I am concerned, they just did that to appease the reviewers who only care about graphics and flash.

Also, as I have stated over and over, many other companies have released GUI based editors. Many times, along side the advanced scripting/programming languages and tools.

You'd sacrifice the fancy leader graphics for a GUI? :faint:

Let me put a different way - Would you pay an extra $10 for an extra GUI editor? Should Firaxis have charged $60 a copy, and included an extra GUI editor? If we ran a poll, I bet I'd know what the result would be... No.
It was removed after CIV III, so why would they bring it back.

I was still miffed when they didn't include one with CIV IV. It was so limiting and left the power to do even simple mods with the advanced modders. Yes, XML may be among the easiest codes to figure out (some of the fields are easy... others are not very clearly defined), and I have done it to an extent where I could do the simple changes, it is just very tedious and overwhelming. Which leads me to...

Compare the Best Civ3 mod to the Best Civ4 mod. There is no comparison. Civ4 mods flourished without a GUI. Civ3 Mods languish with a GUI. QED.

(Okay, Okay, Not a far comparison, since Civ3 had no SDK or API access... But still...)

It is much easier to mod with XML than an editor/ XML is simple!

When I hear this argument, all I picture is Sheldon, from The Big Bang Theory saying something along the line of "All you have to do is multiply the molecular mass by the speed of the photon atoms, then divide it by the light variable, subtract the distance, then add the level of gravitational pull... it is so simple really, I don't understand how anybody can't figure that out!"

You just made that quote up, didn't you? Photons are a quantum particle, not atoms. In fact, the size difference between a photon and atom are comparible to the size difference between the Moon and the Sun. Light is a constant, not a variable. Level of gravitational pull? That's total nonsense... Have you even taken a Physics class?


To Settle the XML is code debate, Wikipedia says XML is data, not code.
 
From the annual Source Code Analysis and Manipulation conference:

For the purpose of clarity &#8216;source code&#8217; is taken to mean any fully executable description of a software system. It is therefore so construed as to include machine code, very high level languages and executable graphical representations of systems.

XML != fully executable description of a software system.

XML != code.

As per the W3C, XML is defined as a set of rules for encoding documents in machine-readable form.

XML == data.
 
Back
Top Bottom