Announcement

Collapse
No announcement yet.

CUSTOMIZATION v.1.0 by mindlace

Collapse
X
 
  • Filter
  • Time
  • Show
Clear All
new posts

  • CUSTOMIZATION v.1.0 by mindlace

    This is the forum where we discuss the customizability of CivIII. If you've been less than satisfied with CivII or SMAC's customizability, here's your chance to make a difference!

    Things to keep in mind:
    1. What can be changed? Examples:
    º AI behavior
    º units
    º scenarios- tech tree, etc.
    º maps
    º audio

    2. How do you change it? Examples:
    º Text files
    º HTML files
    º Image files (format?)
    º Function-specific editors
    º Scripting languages
    º Audio files (format?)

    We don't address map generation here- that's in Maps and Terraforming, whenever it starts up. Obviously, anything that applies more to another forum, please place there.

    ~mindlace

  • #2
    I was referring, mostly, to the topics of the unofficial GAME OPTIONS, PREFERENCES, & UNIT OPTIONS below, and if it could be included here.
    I'm consitently stupid- Japher
    I think that opinion in the United States is decidedly different from the rest of the world because we have a free press -- by free, I mean a virgorously presented right wing point of view on the air and available to all.- Ned

    Comment


    • #3
      Mindlace, thank you for the new thread!

      Maybe you could "borrow" the Customization summary from Firaxis to get things going?

      ------------------
      The best ideas are those that can be improved.
      Ecce Homo
      The best ideas are those that can be improved.
      Ecce Homo

      Comment


      • #4
        From the Firaxis site:

        1.A Single, Integrated Editor. This is perhaps the single most frequent wish among the fans. A 'Game Editor' where everything found in Text and Graphics files could be edited, as well as maps and scenarios. This would be a separate executable from the main game, i.e. not a ?cheat Menu? like in Civ2/SMAC, but a separate executable.

        2.Internal Editing. In the integrated map/scenario editor, include the ability to edit everything- graphics, rules, etc. This was done to some extent in Civ2 Fantastic Worlds and worked to great effect.

        3.Forbid mistakes. In SMAC it was all too easy to edit a technology in such a way it would loop and create a Stack Error. With the new, integrated Game Editor, users could be made aware if such a mistake is made (either inside the editor or when editing the text files) and be warned about it. This would prevent the game from failing so easily with custom files.
        4.Improvements to City Editing. (a) Add the ability to create cities. This was greatly missing from SMAC, making it very difficult to do. (b) Add the ability to auto-evolve cities in such a way they grow naturally. It is very hard to do this within the context of the current scenario editor.
        5.Simplify the interface. Almost everything in the Game Editor should be reachable either through a simple drag-and-drop system or through pull-down menus. Placing objects should simply be a matter of dragging an object onto the game square.
        6.Triggers. There is a lot of room for triggers and AI instructions within the realms of the Scenario Editor. Why not have messages popping up upon the player reaching certain areas? Or an AI-controlled barbarian horde set to patrol an area, and attack the Units as they pass by? This would add immensely to the possibilities of the game. Global Events could be added in a trigger form (like in StarCraft) instead of through a macro language (see Other for more on the macro language).
        7.Look to HOMM3. Heroes of Might and Magic 3 had a very good Map/Scenario Editor, with many of the things discussed here (drag-and-Drop interface, Triggers, etc.). Look at it and learn?

        8.Tech tree generator. A tool which creates a nice-looking tech tree from a customised in-game tech tree, and then prints it out. Quite difficult to do?

        9.The ability to name map features (and maybe make having a certain unit get to that feature a scenario objective).

        Comment


        • #5
          By the by, those from Firaxis are welcome to swipe the work here- I notice that the AI commentary has been ignored

          Anyway. I think 5 is dumb. Easy things should be easy: hard things should be doable. If you have to make a choice between flexibility and ease-of-use, chose flexibility.

          3. might not be doable.

          LEGAL ISSUES:
          Scenarios, independant of the game code itself, or dependant on the game code, should be freely distributable/redistributable, _with_ compensation, as long as they do not use any trademarked names in their titles.

          This is a big difference from the usual thing where game makers declare they own all dirivative works and do not allow redistribution for compensation.

          Comment


          • #6
            AI BEHAVIOR (from the AI list):
            The consensus on form is that the AI should be extensible by players. Options for extensibility (summary from Bingmann except where noted):

            1.1) OPTION 1: Segregate the AI code into a .dll and publish the source code. Druid2 pointed out that the data interface needs to be published for this to be effective.

            1.2) OPTION 2: It should be completely client (AI, human) and server (game engine). The game engine's API would be published (Darkstarr/Rong).

            1.3) OPTION 3: Use an existing script language for the AI like Python or JavaScript. If this is the approach taken from the start, then there isn't any more effort involved in implementing the AI this way. Retrofitting a script language onto existing AI would be a big job. Some of the AI code is going to have to be in C/C++/assembler. These fast routines will have to be a finite set available in the main program, or attach homegrown dll's to provide unlimited expansion. Pathfinding comes to mind with regards to this issue; it's going to choke in a script language implementation. There can be a default pathing routine in the program, but custom pathfinding routines are certainly a desirable AI feature.

            1.4) OPTION 4: Create a new dedicated script language (and dedicated debugging tools-AI scripts are going to be too large and complex to debug otherwise). This would be really nice, but I think this is going over the top. It's just too much work.

            Option 3 is considered preferable because it allows the 'out of box' experience to include the possibility of user-scripted behavior for the gamer's own AI`s-governors, terraforming, complex unit orders, etc. If it were done this way, then the user AI and the computer player AI could work from the same base. External developers might eventually cover this possibility if option 1 or 2 is pursued.
            http://www.gameai.com/exai.thread.html is an excellent discussion on the topic of an Open Source AI (Rong). There were some concerns that no AI extensibility of any kind would be pursued because of difficulty or philosophy.

            Comment


            • #7
              Does this refer to players tweaking the programming only or does it also include things such as options?
              I'm consitently stupid- Japher
              I think that opinion in the United States is decidedly different from the rest of the world because we have a free press -- by free, I mean a virgorously presented right wing point of view on the air and available to all.- Ned

              Comment


              • #8
                If the question refers to the AI, then the answer is yes, it includes both.

                If the answer is regarding other means of customization: What would you, the user, like to be able to customize, and how would you do it?

                ~mindlace

                Comment


                • #9
                  I would like possibilities to customize barbarian activity, for instance:[*]quantity[*]what units to be barbarians[*]triggers[*]behaviour[*]lifespan before vanishing

                  ------------------
                  The best ideas are those that can be improved.
                  Ecce Homo
                  <font size=1 face=Arial color=444444>[This message has been edited by Ecce Homo (edited July 21, 1999).]</font>
                  The best ideas are those that can be improved.
                  Ecce Homo

                  Comment


                  • #10
                    Customizable Wonders, with hundreds of possibilities! Able to confer any bonus on practically any game variable! +25% food empire-wide, +100% science in the building city, -10% crime empire-wide, anything.

                    Customizable Advance Effects! Eliminate the negative effect of communism on cathedrals if you want, or have a Music advance that boosts the effect of entertainers.

                    Customizable Sound Effects! No limitations on what sounds a unit can make.

                    Events Outside Scenarios! Like Test of Time managed to incorporate, have an Events.txt file that can be accessed even during the main game without scenarios. Perfect for adding the finishing touches to a modpack.

                    Customizable Ocean Terrain! An "ocean" flag for any terrain, just in case you want more than just one kind of ocean.
                    "Harel didn't replay. He just stood there, with his friend, transfixed by the brown balls."

                    Comment


                    • #11
                      Theben:
                      game options would be something that are part of the customization, something that you would want to affect in scenarios. Therefore I'm reversing my stance and asking you to post here for those things. If you like, you can help me with TM'ing if you want. (email me about that)

                      So here is a summary and expansion:

                      Wonders- Turned on or off as a game option. A wonders.txt file that includes the more detailed wondermaking possibilities suggested by EnochF.

                      Random Events- Also on/off as option, an events.txt file like this:
                      Trigger: All triggers can be percentage weighted in 10% increments. 10= certain to happen, 1= unlikely.
                      • Year
                      • Unit X- discovered (lurking), destroyed
                      • Square X affected- uncovered (unit enters), terrain improvement Y built/destroyed, City built.
                      • City- level of pollution, industry, trade, garrison, # of improvements, improvement built. Can apply to reigons, too.
                      • Civ: Overall Level of Pollution, economy reserves, military, diplomatic status w/other civ's.


                      Description- pop up message, perhaps including graphic/sound (as URL in text)

                      Effect:
                      • Plus or minus x (resource type)
                      • Unit created, destroyed, repaired, damaged, loses move, gains move, loses/gains morale, teleports x squares.
                      • SE changes: + or - growth, econ, etc.
                      • City/Reigonal improvement created, destroyed


                      Duration
                      • years, can be random in bounds
                      • if Unit, x # of combats, until unit damaged.
                      • permanent
                      • One turn (instant)


                      Target- Specified as radius from trigger (think mindworm blooms, unit damaging, prometheus virus, earthquakes). If one square/unit, radius=1. If city radius, radius=3, if reigon radius=R, if Civ radius=C if world radius=W. This is also percentage weighted like triggers.

                      Come to think of it, this event manager could probably handle the customizable wonders and barbarian activity. What do you think, Ecce Homo and EnochF?

                      Diplomatic options (Flavor Dave) should be handled by the AI mechanism, but there should be starting options on general behavior. Don't Hate Bigness would be nice.

                      Start On Own Continent (scooter)- perhaps use border function to find edges of continents?

                      Diodorus:
                      Barbarians- barbarians should be their own civ, and the 'can't found new city' would be a civ setting (like faction settings now- you can do it in the SMAC editor).

                      Start in Special reigon- (Egyptians in desert, etc) I would guess that they would have to do an interesting algorithm that parses the landscape for certain features, or they would have to make the starting areas 'specials', like the landmarks in SMAC.

                      Accelerated start to X year: Yes! yes! yes!

                      Starting capabilities the civs should have .txt files like the factions in SMAC. This should be toggleable on/off.

                      Set Information interesting idea, but I don't see how to implement it.

                      ~mindlace

                      <font size=1 face=Arial color=444444>[This message has been edited by mindlace (edited July 23, 1999).]</font>
                      <font size=1 face=Arial color=444444>[This message has been edited by mindlace (edited July 23, 1999).]</font>
                      <font size=1 face=Arial color=444444>[This message has been edited by mindlace (edited July 23, 1999).]</font>
                      <font size=1 face=Arial color=444444>[This message has been edited by mindlace (edited July 23, 1999).]</font>

                      Comment


                      • #12
                        BUMP.
                        I'm consitently stupid- Japher
                        I think that opinion in the United States is decidedly different from the rest of the world because we have a free press -- by free, I mean a virgorously presented right wing point of view on the air and available to all.- Ned

                        Comment


                        • #13
                          from Game options:

                          City look options
                          (mzilikazi)
                          I would suggest a cities.txt file:
                          Has an arbitrary, non-zero selection of city graphics. Attributes:

                          NAME=[ $type ];
                          required: yes
                          (This identifies the city type. All .png's of the type must be identified with this name)

                          DESC="Description";
                          required: yes
                          AGE= [ancient | medieval | reniassance |modern]
                          implied: ancient
                          required: no
                          ( or what have you, I'm not dictating ages here.)
                          FACE=[north | south]
                          implied: north
                          required: no
                          (if the map can be rotated)
                          URL=(/path/filename.png)
                          required: yes

                          The PNG may be animated and must be an appropriate size. PNG's aliasing feature should mean that no 'purple background' is necessary. If all of the options for a city are not present, the engine defaults to what are availiable.

                          Notes/messages
                          (Francis)
                          All objects should have a note assignable to them by right click. If possible, military groups should have note capability. Notes should be able to have popups according to (event) flags as mentioned previously. Global notes should be possible.
                          The events that may be assigned in-game to a note could be simplified, but the full range of events should be accessable by someone writing a scenario.

                          Comment


                          • #14
                            I know this tread says 'by mindlace', but that was a typo, it should read 'moderated by mindlace'. Y'all can post here.

                            Customization file formats

                            Map file
                            Assuming we go with the 3d map, 2d sprites for terrain type/improvements, the map file is a 3d mesh with a Z point designating sea level. This is probably binary format and editable by the editor. If someone has a standard 3d format to recommend, let's hear it.

                            Image files
                            All image files should be in PNG format, because it's non-lossy compression, 24 bit color, non-proprietary, animatable and permits alpha blending over any background. Restrictions on the type of file (XbyY pix, number of anim. frames, etc) are of course necessary.

                            rules/format files
                            Rules and format files that are currently represented as .txt files should use a CSS style format. This will be intuitive for many of us that are already doing HTML/CSS stuff. Example:
                            Code:
                            unit {
                                     name: "Hannibal's Elephant";
                             chassis-type: calvary;
                             chassis-look: n_elephant.png,
                                           e_elephant.png,
                                           w_elephant.png,
                                           s_elephant.png;
                              weapon-type: piercing
                               weapon-dmg: 5;
                              weapon-look: off;
                             defence-type: blunt;
                              defence-val: 3;
                                      age: ancient;
                             prerequisite: Eco_Eng, Siege_engine;
                                 }
                            Note that this doesn't preclude using workshop-style units: If I did not specify unit-look the system would default to the normal calvary-chassis graphic. Since I have included the weapon in my elephant graphics, I have turned the weapon-image off.

                            Questions, comments? Am I whistling in the dark?
                            <font size=1 face=Arial color=444444>[This message has been edited by mindlace (edited August 13, 1999).]</font>

                            Comment


                            • #15
                              (I guess there _are_ lots of customization ideas, I just have to hunt for them. From TERRAIN
                              Theben:
                              Check out my 7/7 post for auto-engineers, which is similar to what cloneodo's idea is (I think). To spell it out, in a PREFERENCE screen, similar to SMAC, you'd assign an order of priority to your engineers based on 1) terrain tile and 2) what to do to the tile & in what order. 1st the AI (your engineer) would check to see what tiles are in the area it is meant to modify. If grassland is #1 on your list to modify, it would scan for grassland, then move to the closest grassland if there's one present. If not, it'd move down the list until there was no tiles left to modify (at which point it would un-auto itself). Once there, it would check to see what you want done to the tile, and in what order. You clicked roads as #1 priority in the preference screen, so it builds a road. Then irrigation as #2. Nothing else is chosen (or available due to lack of tech), so it goes back to step #1, searching for more grassland. This setting could be changed during the game, and would stay from one game to the next until changed (or reset to default). You should also be able to change the AI's preferences in a .txt file, for scenarios and modpacks.

                              Comment

                              Working...
                              X