@JFD - the legend! :) Thanks for the tip. I'll sign up today. Not sure how exactly to use it, but if it improves mod collaboration, I'm all for it.

I'd appreciate a channel name of something to the effect of "SMAN1975 Civ5 Collaboration" if possible.

Thanks!


EDIT: The Discord channel has been created. Please feel free to use it for any messaging you might want to deliver.

https://discord.com/channels/361641784696373248/783755251088883722
 
Last edited:
Resource artwork is completed. Post #10 updated with the current version of the Resources spreadsheet, as well as a snapshop of the icons to be used for the new Resources.

There is a minor concern about the memory these new Resources require (37MB). If the mod becomes too unwieldy playing, I may move some of those new Resources to a companion mod so that they don't bog down normal game play, unless someone is really interested in recreating the ancient economies more deeply who can then use that separate mod.

Work now focuses on the "map placement overlay" - which is a separate piece of code that will place these new Resources on the map without altering the normal "Assign Starting Points" lua file that is used to generated random maps. The most direct way to place these Resources would be to replace that LUA script, but that would break compatibility with a large number of popular mods. This new overlay executes after the map script runs, and simply adds the new Resources on available tiles on the new map.

As this will add a lot of Luxuries to the game, and throwing Happiness out of whack, the new mod will lower normal Happiness from Luxuries in half, or more, in an attempt to keep it in balance. This will require testing in early versions of the mod to make sure Happiness isn't broken too badly with the new Luxuries.

After the new Resources are added to the map properly, next item is updating the Tech Tree with new techs for the 5 Eras impacted by this mod. Hopefully, this will go quicker, since I'm not planning on painting 48 new icons...
 
OK - testing resources finally complete. Had to fight through some ugly Civ5 UI issues getting everything to display correctly on the map and to get all the improvements working. Ugh. In many ways, working with 3D models on the map is a royal PITA. Improvements are also equally bad, but we haven't gotten that far yet. Plus, I'm only expecting a few new ones (gotta put in a Roman Villa, no?), so when that time comes hopefully it will be painful for a shorter amount of time.

Next step is adding resource buildings. These are about 20-25 buildings that either create new resources (like trained War Elephants) or buildings that add a few map-based resources to your inventory - e.g. a Hardwood Lumber Mill. It requires 1 Hardwood resource from the map, but will create 2-3 in the process, meaning if you have at least a little, you can generate more (call it a glorified recycling center). These kinds of "force multipliers" are needed in case a civ rolled poorly in the strategic resources area. If Hardwood is required for heavy warships (and it will be), civs with absolutely none will have a hard time competing on the high seas. The purpose of these buildings is to mitigate a bad largess from RNGesus. The buildings will be relatively expensive to maintain, meaning there will be pain in the treasury to make up for a shortage of resources, but that's one of those things leaders generally have to balance out...

Am hoping that I'll be 100% done with resources tomorrow. And then, will start working on the modified tech tree for the 5 eras of the mod. It will arrange like the Main World at War mod did - adding a column to the right of an existing column in the tech tree, basically doubling the number of techs in a given era. A slimmed-down version of the Enlightenment Era will be added as well - I'm expecting about 40 to 50 new techs overall.

Sorry about the delay in making progress on this. I'd personally rather have been doing about anything else besides spending 30 hours this weekend troublshooting buggy 3D resource models... Luckily, the tasks coming up I'm quite comfortable with and am looking for much greater progress.

Thanks!
 
Hello: Post #3 has been updated to show the "working" version of the AWAW Tech Tree. Please let me know quickly if you have any suggestions on it. The exact contents, placement, relationships are subject to change, so don't worry about recommending improvements.

Thanks!
 
The tech tree shell and the new tech artwork is completed. Have updated Post #3 to give you an idea what it will look like. Now comes the fun part, actually defining the techs. Takes a bit of time, unfortunately.
 
Latest, and final version of the tech tree is updated in Post #3. I don't expect any changes in V1.0 of the mod, unless something is really broken when adding buildings, units, etc.

Screenshots of the new tree are attached to that post.

I'm now working on adding the "bonuses" for each tech. There aren't many that you can add directly via the tech tree (for example, you can increase embarkation movement via a new tech. You can also increase bonuses on improvements, and add some bonuses to buildings when techs are discovered.).

The trick is to add somethings without getting the balance too far out of hand. Adding too much benefit early in the game can be game-breaking at the end, especially in the slower-paced games. So, anything added will be fairly "modest" and most of the techs won't add anything, but will allow certain buildings/units/promotions.
 
Last edited:
Huge and incredible project! Congratulations on the effort.

This tech tree looks very promising. The building system is also intriguing. What if maybe they were divided into districts, which offer some bonus? Just as they are described in the spreedsheet.
I can't wait to play test. Before Christmas, maybe?
 
@arievillo - thanks. I think it will turn out well, eventually.... I wasn't clear on what you meant by dividing into districts. One of the big challenges in large mods like this is keeping the bonuses minimal, so as to not throw the end game completely out of balance - particularly with respect to Science. If the bonuses are too large, it's easy to make the tech research times trivial at end game, which means the most complicated techs in the game cost only a turn or two to research. I'll be looking for bonuses that aren't too generous, but at the same time don't penalize too much game play. It's one of the reason there is a host of new buildings in the Ancient Era that doesn't cost any gold maintenance, but only offer small rewards. But over time, these small bonuses add up, while giving players more tools to shape their civ to their choosing.

Christmas would be nice, but I'm not sure I can make that. There are 62 new techs, at least 100+ buildings to add. And I haven't even started the "unit design" part of the mod. This will mimic my main World at War mod, that offers unit types in an "early - main - late" version for each main combat system (melee, ranged, siege, mobile, recon). And with the "pikes vs. swords" aspect, there may be a need for a "melee - offense" and a "melee - defense" kind of path to further complicate things.

And oddly enough, some of the most time-consuming parts of all of this are the "meta" parts of the concepts - things like Civilopedia/Help text keys, quote for the techs, finding artwork/icons, etc. Actually putting the database changes in that directly impact game play is often done quickly. Those other aspects that only indirectly impact play often are the most time consuming.


EDIT: Quick update. Building shell is completed. Basically, 31 buildings (6 wonders, 25 normal) for Ancient, Classical, Medieval, Renaissance, and 26 buildings (6 wonders, 21 normal) for Enlightened Eras.

Next step is assigning stats (costs, maintenance, bonuses, prereq tech, etc.) and looking for artwork. Not hard, but is time consuming.
 
Last edited:
Post #5 has been updated with all 5 Eras' worth of buildings. This set looks pretty firm right now, but please feel free to make any suggestions you think are needed.

Now the work begins actually coding these into the mod...
 
I am super super late, but hello. I exist once again. I think you have many interesting concepts showcased here. I don't have much to offer in the form of feedback at the moment. Although,
Work now focuses on the "map placement overlay" - which is a separate piece of code that will place these new Resources on the map without altering the normal "Assign Starting Points" lua file that is used to generated random maps. The most direct way to place these Resources would be to replace that LUA script, but that would break compatibility with a large number of popular mods. This new overlay executes after the map script runs, and simply adds the new Resources on available tiles on the new map.

I find this 'map placement overlay' of some interest because it reminds me of something vaguely similar I experimented in a project of my own where I wanted to manipulate the map post-generation. I ended up cutting it due to complexity, though, so I'm interested to see another take a crack at it because I'd love to find a way to maybe revisit that idea of mine. Nevertheless, I'll be keeping an eye out.
 
Hey, @MariusMagnus! Always good to hear from you!

It's odd, after I wrote that, in doing research on the topic, I ran into this:

https://forums.civfanatics.com/resources/resource-generator-lua-component.16131/

A program that basically does it all, as far as placing new resources on the map. It has a couple of problems: the placement of those resources is "clumped" a bit together, with large barren spots on the map. It's not toooo bad, but is a bit noticeable. Also, if you have a new Strategic Resource, be sure to either make 2 entries into the "Resource_QuantityTypes" table for it, or change line #333 in the "ResGenerator.lua" file to this:

Code:
N = Strategic_Distribution[i] or 1;   -- if strategic then get quantity to place

Otherwise, the resource will never place. The 1 after the "OR" could be up to 3 if you wanted more to appear on the map. For more than 3, I ran into some odd problems - see link below (new resource inconsistent behavior).

The script is pretty good, and I've made a few changes in the version this mod uses, to make some resources appear more or less often than they otherwise would.

One quick warning: if placing a Strategic Resource with multiple copies, for some reason, every time I tried to place more than 3 of the resource on a given tile, it would act oddly (basically not appear on the map, but would behave normally in every other respect. Also, any improvements placed on the resource would not show up either, but would otherwise work. All discussed here:

https://forums.civfanatics.com/thre...l-inconsistent-behavior.665259/#post-15975318


Now, if you just want to adjust the numbers of the strategic resources already on the map, I did that in my "WW2 Scenario On Any Map" mod. I was trying to create "pockets" of large numbers of the resource to create geopolitical incentives across the map. The code that did this also increased the total number of the resources, so as not to penalize civs not lucky enough to be near these pockets. Generally speaking, the map ended up with just a bit more of the resource than normal (between 5-10% more). The code for that is here (it's a bit verbose, but could be easily be streamlined):

Code:
g_tResourceAdjustmentCoefficient = {   [GameInfoTypes.RESOURCE_ALUMINUM] = 1.5,           -- Adjusts the amount in each tile, based on these coefficients
                                       [GameInfoTypes.RESOURCE_COAL] = 1.75,               -- NOTE:  these amounts are the MAX amount appearing; actuals randomized from 2..?
                                       [GameInfoTypes.RESOURCE_HORSE] = 0.5,
                                       [GameInfoTypes.RESOURCE_IRON] = 1.5,
                                       [GameInfoTypes.RESOURCE_OIL] = 2.0,
                                       [GameInfoTypes.RESOURCE_URANIUM] = 0.5
                                   }

RESOURCE_NONE = -1


function SetBounds(iNumber, iLowerBound, iUpperBound)                                       -- Ensures RetVal is inside the lower and upper bounds
   if iLowerBound > iUpperBound then iLowerBound = iUpperBound end                           -- Ensure lower bount isn't more than upper bound
   if iUpperBound < iLowerBound then iUpperBound = iLowerBound end                           -- Ensure upper bound isn't less than lower bound
   if iNumber < iLowerBound then iNumber = iLowerBound end                                   -- Ensure RetVal isn't less than lower bound
   if iNumber > iUpperBound then iNumber = iUpperBound end                                   -- Ensure RetVal isn't more than upper bound
   return iNumber
end


function IsStrategicResource(iResourceType)                                                    -- Determines if iResourceType is a strategic resource or not
    local bRetVal = false                                                                    -- Default return of false
    if (iResourceType == GameInfoTypes.RESOURCE_ALUMINUM) or (iResourceType == GameInfoTypes.RESOURCE_COAL) or            -- Check the incoming iResourceType against known strategic resources
        (iResourceType == GameInfoTypes.RESOURCE_HORSE) or (iResourceType == GameInfoTypes.RESOURCE_IRON) or
        (iResourceType == GameInfoTypes.RESOURCE_OIL) or (iResourceType == GameInfoTypes.RESOURCE_URANIUM) then

            bRetVal = true                                                                    -- If any of these tests are true, then return TRUE; iResourceType is a strat resource

    end
    return bRetVal
end


function RepopulateStrategicResources()                                                        -- Randomizes strat resource amounts in each tile they appear; usually a small increase in quantity overall
    local iOriginalCount = 0
    local iFinalCount = 0

    for PlotIndex = 0, (Map.GetNumPlots() - 1), 1 do                                        -- Loop through all plots on map
        local pPlot = Map.GetPlotByIndex(PlotIndex)                                            -- Set up the loop plot pointer
        if (pPlot ~= nil) then                                                                -- If we have a valid plot pointer, then...
            local iPlotResourceType = pPlot:GetResourceType()                                -- Get the resource type in this plot

            if iPlotResourceType ~= RESOURCE_NONE then                                        -- If there is some kind of resource here, then...
                 if IsStrategicResource(iPlotResourceType) then                                -- If the resource here is a strategic one, then...
                    local iResourceAmount = pPlot:GetNumResource()                            -- Get the current number of resources in the tile
                    local iResourceMax = SetBounds( math.floor( iResourceAmount * g_tResourceAdjustmentCoefficient[iPlotResourceType] ), 3, 10 )    -- No more than 10 of any resource in a tile

                    local iAdjustedAmount = GetRandom(3, iResourceMax)
                    pPlot:SetNumResource(iAdjustedAmount)
                    iOriginalCount = iOriginalCount + iResourceAmount
                    iFinalCount = iFinalCount + iAdjustedAmount
                end
            end
        end
    end
    print("RepopulateStrategicResources. Original Strat Resource Count: " .. iOriginalCount .. "    Final Strat Resource Count: " .. iFinalCount)
end

Both of these code segments need to run when the mod is initiated. The mod Resource Generator Lua Component does this automatically. For the strat resource renumerator, you'd need something like this in an InGameUIAddin:

Code:
function InitializeMod()
 
    RepopulateStrategicResources()
 
end
InitializeMod()


Oddly enough, it never occurred to me to try using both of these in the same mod (with the renumerator running after the Resource Generator mod. I wonder if that would have somehow fixed the "no more than 3 strat resources in a tile" problem...?


Anyways, let me know if you have any questions about any of these. Working with things like these can be deeply frustrating and time-consuming, but you probably already knew that. I've got plenty of recent experience getting these to work, so hopefully, I could offer a bit of help if needed.


EDIT: Sorry, lots of typos. I should never post in the B.C. (before coffee)... :crazyeye:
 
Last edited:
Quick update - about half of the buildings are done (minus artwork and civilopedia entries). Have the other half of the buildings about half done. Takes a bit of time, as there are usually about 40-50 entries that have to be coded for each building. Multiply that but about 155 buildings, and you can see the problem. Hoping to get them done by the end of the weekend.

With the techs and resources already done, that primarily leaves only units. I'm not 100% sure what that structure will look like, but hope to bring it up to all of your for discussion early next week.
 
Happy New Year, everyone! Have taken the last couple of weeks off to celebrate the holidays (the Mrs. almost demanded... :lol:), but am now back, ready to resume work on the mod. Working on wonders at the moment, adding them in. When they're finally done, I'll update Post #5 with the final versions of the wonders and all the buildings going in. There were a few changes made from the current pix, but not too many.

Appreciate your patience. Sometimes, you just need to take a break, drink a little eggnog, and spend a some time counting your blessings. ;)
 
Quick Update: the buildings/wonders are all done! All 156 of them... Probably have too many, but since they're already done, I don't really want to look at any of them again... :hammer2: Ultimately, I'll add a compatibility script for the main World at War (WAW) mod, to link them into quite an extended game. The second half of the game (Industrial and later) without WAW will seem quite hollow after such an extensive early game.

At this point, the new techs, resources, buildings, and wonders are completed. The main remaining part of the mod left is the units/unit structure (with just a few new promotions). This requires some thought, as I'm trying to keep a similar approach as the main WAW mod did: an early, main, and late version of each major unit type (warrior, swordsman, longswordsman, trireme, catapult, horseman, archer, etc.). If anyone has any suggestions on these (and promotions), now is a good time to jump in. Name suggestions for the early/late versions for each unit type would be definitely appreciated. (BTW: the E/M/L design is a goal, not a requirement. If there is no clear historical version, it won't be added just to keep the design consistent).

Also, I'll probably add a few new terrain improvements (gotta have an Italian Villa/Latifundium, no?). Again, if you have any suggestions, please let me know. There are some really good looking ones out there - like the Hacienda from the Mexican Civilization - Colonialist Legacies mod:

upload_2021-1-9_15-35-2.jpeg

Which will probably be the model for the Villa improvement (will work similar to the Chateau).

If you know of any other improvements from other mods, send me a link.

One final thought: a lot of new things are going into the mod, but I don't have a good feel for how all these additions will impact late game play (or be balanced in early game play). I kept the bonuses small, so to limit impact, but I'll definitely appreciate your testing the mod when it's released, with a close eye on these issues.

Thanks!


EDIT: I updated post #7 with the worksheet I'm using on the unit design. As I get unit names/types, I'll keep that sheet updated.
 
Last edited:
Post #7 has been updated to show the current status of the unit design structure. It's not 100% done (or even right), but it's well on the way to there. There are some missing entries, but I haven't found clear historical examples to use to fill them in. If you have any suggestions, I'd appreciate them. Thanks.
 
Pavise Crossbowman seems like an obvious upgrade to the standard Crossbows. Wouldn't be much stronger but would have extra defense versus ranged attacks. Think Phalanx Pikeman should also be a preceding unit to the standard classical spearman. It would be interesting if you could find a way to represent their limited mobility somehow too, albeit not entirely sure how to go about it myself. I would also look into a precursor to the Longswordsman and Knight to represent the units before the invention of full body plate armor, even if it's default names like 'Feudal Swordsman' and 'Early Knight.' You could early throw in a spear unit before pikemen since spears were still very common in medieval times since they were cheap to produce and didn't require much training for peasants to use them. Just a few thoughts.
 
Thanks, @MariusManus - the worksheet is a WIP. I've added those suggestions, but I think I prefer the Spearman to be the early version, Phalanx as the main, and Hoplite as the late.

I ran out of time yesterday to flesh out the Medieval units, but am trying to keep the post more or less updated with the current state of units. The Enlightenment Era units are also a little thin, but I've not found very many alternatives that make historical sense other than the units currently represented. That Era may just stay a little thin, but to my understanding of history, may not be too wrong of a solution.

Unfortunately, out of the home office today, so not much progress. Am hoping to get this worksheet completed by tomorrow, so I can start adding the units to the mod. There is still a lot of work to do on this (especially in the "steam packet"), but Units are the last main component not yet designed/implemented.

Appreciate the suggestions. Keep 'em coming!
 
The "final" version of the initial unit design structure is updated in Post #7. I'll start the process of identifying/creating models for these units, finding/creating icons, and adding them into the mod.

It's not too late to change anything if needed, but this feels like it's a fairly good starting place.
 
Models all ID'd. About halfway though defining the stats, promotions, icons, etc. for the units. Should wrap that up early tomorrow and start actually adding the models to the mod. May take a few days to add the 82 new units and make all the changes needed for the other 22 normal game units (most of them will change just a bit). I think it's going to look quite good - lots of variety/immersive quality coming into the mod with all these changes.

More tomorrow.
 
Top Bottom