1. We have added a Gift Upgrades feature that allows you to gift an account upgrade to another member, just in time for the holiday season. You can see the gift option when going to the Account Upgrades screen, or on any user profile screen.
    Dismiss Notice

Multiple maps, like Test of Time

Discussion in 'Civ4 - Community Enchancement Project' started by JohnCrenshaw, Mar 20, 2007.

  1. JohnCrenshaw

    JohnCrenshaw Chieftain

    Joined:
    Mar 20, 2007
    Messages:
    5
    Speaking from the standpoint of the player, nothing was much more fun than the multitiered map system in Civ II Test of Time. I'm not sure why it was removed but the system was great on so many levels:crazyeye: for creating mods and scenarios. What surprises me is that it looks like nobody has ever attempted to add this to civ4.

    I know very little about what is going on inside this whole civ4 mod thing (it was so much easier in the days of civ2, just tweak a few text files, edit the bitmaps, and away you go!) I DO know C++ (professionally) and am familiar with the concept behind xml. Before I go committing to do something here, I'd like to get a feel for whether or not anybody else even cares. Is a multitiered map of interest to anyone else?
     
  2. Impaler[WrG]

    Impaler[WrG] Civ4:Col UI programmer

    Joined:
    Dec 5, 2005
    Messages:
    1,750
    Location:
    Vallejo, California
    I've heard multi-tiered map proposals before and non have every come to fruition. I don't really see much use for it personally and I would always recommend that someone start small, new XML variables, rule changes and then perhaps some AI code before diving into such a huge project. Small stuff builds up your familiarity with the code and lets you see what your getting into.

    I don't doubt that the SDK code can be tweaked to create a multi-tiered map but parts of the graphic engine which are inaccessible to us would likely have to be changed to display it properly.
     
  3. JohnCrenshaw

    JohnCrenshaw Chieftain

    Joined:
    Mar 20, 2007
    Messages:
    5
    I respect the start small suggestion, I really do (and I CAN think of some AI tweaks that are needed.) My problem is that I never think small, nor do I get passionate about small projects. Simple, perhaps, but not small. Without a motivation to do something, it won't get done. I am MOTIVATED to do a multitier map system, mostly because I'd like to see some mods that use it. This would require doing some of the little things (like xml variables) to make it work right so I would start at the bottom with that before modifying the map code, but small changes would be FOR the map system, otherwise that motivation thing kicks in.

    As far as usefullness goes, it introduces a range of posibilities. For example, Test of Time used it for a 4 level fantasy world with underground, undersea, sky, and main maps. Various races started in various maps and had difficulty reaching certain others. Another game used it for a main planet, space station around the planet, and a couple of other planets in the same solar system.

    Off the top of my head I can think of a number of very cool mod types that this could open up:
    - Galactic domination with a large number of small (15x15?) planets that could then be traversed with ships. Distance is an issue and traversability by various units could be enhanced by technologies.
    - All sorts of fantasy mods
    - Quest based scenarios, where various dungeon entries can take units to more detailed suplemental maps (Shanara based Mods, LOTR, or any other book based scenario.)
    - Earth/Ocean Colinization/Space Station/Moon/Alpha Centauri expanded game.
    - Doomsday + rebuild type mod, where the first part is a race to get off some planet that is gonna blow, and once you get away (and the first map gets wiped by some event) you have to rebuild on a new (Hostile?) planet.

    I guess "usefulness" depends on what the mod is. Like I said before, if nobody else cares, I won't waste my time. If some folks WOULD like to see something like this, I'll consider giving it a shot.
     
  4. JohnCrenshaw

    JohnCrenshaw Chieftain

    Joined:
    Mar 20, 2007
    Messages:
    5
    Sorry about splitting my reply into two posts, but I wanted to address your reply as a whole, and this specific point, making two very different thoughts that really didn't belong in the same post.

    What do you mean by this exactly? Did you have a specific pitfall in mind? If so I'd like to hear about it.
     
  5. JohnCrenshaw

    JohnCrenshaw Chieftain

    Joined:
    Mar 20, 2007
    Messages:
    5
    I have just been looking at the code to assess doability. It looks like it is actually very straightforward except for one minor issue. Currently, 378 places in the code reference the function getMapINLINE(). This IS the only way that the code grabs the map (thankfully.) The majority of these places are fairly simple, 3 second changes. Unfortunately many times the map is grabbed several levels down from where we REALLY know what map we want to be opperating on. In a single map situation this is acceptable, but not when there might be question about which map to use. I'm guessing that changing the signature of 80-100 functions to accept a map parameter would be a big no-no right?
     
  6. purplexus

    purplexus Chieftain

    Joined:
    Feb 13, 2002
    Messages:
    477
    Location:
    Calgary Alberta, Canada
    OH I WOULD LOVE TO SEE THIS ONE WORK!!!

    new technologies be created such as hyper drives
    warp drives
    crystal storage devices
    ionic power drives
    self contained ecological systems
    food replicators
    Laser weapon systems
    cloaking devices
    star craft materials
    etc. etc. etc.

    no need for any of these unless we have a muti tiered map
    but if there was a multi tiered map... look at the fun we could have.
    :D
     
  7. Impaler[WrG]

    Impaler[WrG] Civ4:Col UI programmer

    Joined:
    Dec 5, 2005
    Messages:
    1,750
    Location:
    Vallejo, California
    Perhaps a Default parameter would minimize the number of places that need changing, I'm not fundamentally opposed to changing function arguments so long as you can work out some kind of system by which the DLL will still work for the normal game. If your mod needs Python interactions these need to be done in such a way that the DLL is not dependent on the modified python, rather the other way around the Python should depend on the DLL.
     

Share This Page