LeeS
Imperator
Common Novice-Modder Mistakes
Support Issues Related to the Impending Release of Civ6:
- Other than to clean up any small whoopses or typos that may exist in the information presented I have no intentions of adding to the information nor of making any great changes to format of how the info is presented
- I am attempting to wind-down my Civ5 modding in preperation for the release of 6.
- I am not abandoning the Civ5 modding forum, I am just winding down the stuff I have in the works and that I can reasonably expect to put to bed prior to the release of 6.
- I intend to move on to 6 modding for the most part (or for the all part), assuming 6 is not a mess or a BE
- I am sorry if this disappoints anyone who was looking for me to finish this project, but I can't see that other than adding a few things and cleaning up a couple of the posts that I'll be doing much more on this thread.
- In any event, anyone who feels like they have content to add should just go ahead and do so.
Introduction:
New mod-makers tend to a large extent to make the same basic mistakes. These mistakes largely fall into five basic categories:
- Typo and syntax errors in XML files. SQL and LUA errors of these types will not be covered since they are not generally mistakes made so often by the novice modder.
- A lack of information on how to correctly create the game-code, art files, or unit graphic files needed to accomplish a desired effect in-game causing a mod to not work or not work in the desired fashion.
- Misunderstandings about the processes needed in ModBuddy to get a mod to correctly operate in-game.
- Misunderstandings about the structure of the game's different types of operating files, and about what can be accomplished in the various types of mod files available to the mod-creator.
- A bad general approach to modding caused by simple inexperience.
How to Use This Guide:
This Guide is intended to for use by the novice modder, and contains information on the following:
- The novice modder's most-commonly made general types of errors (IE, #s (4) and (5) on the list in the introduction), with hints on how to cure these mistakes. The hints will often take the form of links to tutorials or references that cover the issue in greater detail than is really appropriate to the scope of this Guide.
- Links to tutorials and references generally of use to novice modders.
- Information on some specific problems novice modders encounter, and the likely causes, with hints on how to cure these mistakes. The hints will often take the form of links to tutorials or references that cover the issue in greater detail than is really appropriate to the scope of this Guide.
- In cases where your problem is not shown here, you should as a general rule start a thread asking for help with your problem. Please follow the guidelines shown when starting a new thread asking for help: New Thread Guidelines
In order to make it a little easier to find the type of information you may be looking for, a set of navigation jump-links is provided.
- Some of these navigation links will re-direct the thread to the appropriate internal point, and will be referred to as "jump links". For cases of jump-links, an additional re-direct is provided to return you back to the listing of internal links. In order for these internal links to operate correctly you have to have your forum viewing options set to display at least 10 posts per page of a thread.
- Other links will cause a pop-up window to appear for the appropriate thread post #, and will be referred to as "pop-up links". You can review the pertinant material in the pop-up window, and then simply close it to return to the main thread.
- Within a post there may be a set of navigation links that allow easier movement within that single post.
The following navigation jump-links are all internal to this thread, and will take you directly to the section of the thread described:
Internal Navigation Links:
- Links to tutorials and references generally of use to novice modders
- MODDING PROCEDURAL MISTAKES
- NOT USING LOGGING
- NOT TAKING A COMPONENTIZED APPROACH TO MAKING A LARGE MOD
- NOT BECOMING FAMILIAR WITH THE GAME DATABASE
- USING OUTDATED FILE STRUCTURES (For Unit Art Defines)
- RUNNING MORE MODS THAN ABSOLUTELY NECCESSARY TO TEST A NEW MOD
- MAKING OR USING A MOD THAT IS INCOMPATIBLE WITH Gods&Kings OR BraveNewWorld
- USING A SLIGHTLY-ALTERED VERSION OF AN ORIGINAL GAME-FILE AS PART OF A MOD
- USING VANILLA XML AS YOUR REFERENCE WHEN YOU HAVE Gods&Kings OR BraveNewWorld
- PROBLEMS DELETING FIRAXIS-SUPPLIED ELEMENTS OF THE GAME (Buildings, Units, Policies, Beliefs, Techs, Traits, etc.)
- NOT PROPERLY TESTING THE MOD BEFORE PUBLISHING IT
- Jump to the listing of General errors commonly made
- INCORRECT OPERATION IN MODBUDDY
- NOT GIVING XML-FILES AN "ONMODACTIVATED"
- NOT GIVING DDS FILES AN "IMPORT INTO VFS=TRUE" (Note: this also applies to sound files, and certain other files. Full info on other files requiring this setting (link opens a tutorial as a pop-up) )
- Lua files not set as "InGameUIAddin" under content when required
- "PLOPPING" FILES INTO THE MODBUDDY PROJECT FOLDER FROM THE BROWSER INSTEAD OF ADDING THEM WITHIN MODBUDDY
- NOT CHECKING THE REQUIRED MODBUDDY CHECK-BOXES
- NOT USING MODBUDDY TO VIEW XML FILES FOR SYNTAX ERRORS
- NOT DOING A "BUILD" AND/OR "BUILD SOLUTION"
- TYPING FILE NAMES INTO "ACTIONS" OR "CONTENT" DIALOG BOXES
- BELEIVING IT IS NECESSARY TO UPLOAD A MOD TO STEAM SO THAT IT CAN THEN BE SUBSCRIBED-TO AND DOWNLOADED BEFORE IT CAN BE USED
- COMMON SYNTAX ERRORS MADE WITHIN XML FILES
- TYPOS SUCH AS <RWO> INSTEAD OF <ROW>
- INCORRECT CAPITALIZATION WHERE REQUIRED
- USING <ROW>, <REPLACE>, OR <UPDATE> OUTSIDE OF TABLE WRAPS
- WRAPPING <UPDATE> WITH <ROW>, OR VICE VERSA
- Omitting <Row> or <Update>
- Omitting a <Where> or <Set> "clause" in an <Update>
- INCORRECT REFERENCES FROM TYPOS INSTEAD OF USING COPY-PASTE
- COMMON SYNTAX ERRORS THAT OCCUR WITHIN XML FILES (cont)
- NOT CLOSING A TABLE OR ROW BEFORE STARTING ANOTHER ROW OR TABLE
- INCORRECTLY USING COLUMN NAMES
- Use of Yields in tables where YIELD_X is not usable
- Use of YIELD_HAPPINESS and YIELD_TOURISM
- COMMON SYNTAX ERRORS THAT OCCUR WITHIN XML FILES (cont)
- SHOWING TABLE DEFINITIONS WITHIN AN XML-FILE
- REPEATING OF LANGUAGE TABLE "TAGS" WITHIN <ROW> COMMANDS
- NOT USING <UPDATES> AND INSTEAD RE-STATING THE <ROW> WITH CHANGES
- INCORRECT OPERATION IN MODBUDDY
- Jump to the listing of specific errors commonly made
- New Thread Guidelines
- In your original post you should try to be as specific as you can as to what your problem is, so far as you are able to understand what has gone wrong with your mod. Many times, however, what the novice modder thinks the problem is and what the problem actually is are two different things. Which is why, at a minimum, you need to adhere to #2 and #3 in this list of what you should do when starting a thread to ask for help.
- In your original post, attach a zipped-up copy of the built version of your mod. See this tutorial for how to add the attachment, and what is meant by the built version of the mod.
- Start the thread in the main Creation & Customization forum. DO NOT start your thread in any of the sub-forums: Civ5 - Modding Tutorials & Reference, Civ5 - Modpacks, Civ5 - Mod Components , Civ5 - Graphics modpacks, Civ5 - Unit Graphics, Civ5 - New Civilizations, Civ5 - Scenarios, Civ5 - Custom maps, Civ5 - Map Scripts, Civ5 - Utility Programs, Civ5 - Project & Mod Development (or any of its sub-forums). You should avoid posting your question in the Civ5 - SDK / LUA sub-forum unless you are certain you have a question directly related to creating C++/lua programs.