Announcement
Collapse
No announcement yet.
Making Cradle 3+ fully compatible with the Apolyton Edition
Collapse
X
-
Goods Improvements (Oil): Lastly, there was the matter of "Tundra Terrain". There's only one Good there (Caribou), but it seemed logical that Oil should be as well. In a purely Ancient Era mod there's a degree of sense in excluding Oil from that sort of terrain, but Cradle 3+ has greatly expanded the opportunities in the Modern portions of the game, so it seemed appropriate to add Arctic Oil availability. But try as I might, the game would simply not display the new Good. Long story short, the "missing link" was found in the terrain.txt file. All terrain-types are listed there, and that includes enumerating the number of Goods available in each. And of course, "Tundra" was set to allow only one....but not anymore!
- Likes 1
-
Goods Improvements (Deer): For some time I'd been thinking about adding "Deer" as a new form of good. They have a long history as a food and trade resource, and exist in almost every part of the planet. But the best location for them would be "Forest" terrain, and that already had four Goods. However, one of those was "Bear" and that animal can be found just as frequently in Mountains as Forest, so.....suddenly it all came together. And now Deer can be seen and heard in the Forests of Cradle 3+ (see attachment) while Bears stalk the Alpine Mountains.
Leave a comment:
-
Goods Improvements (Copper): The problem was - and I hadn't really noticed this before - but the "Copper" sprite appeared to be "more gold" than the Gold! Accordingly I created a new granular Copper sprite, using orange tones and mixing in a fair amount of bluish-green to give it a hint of the tarnish-look so common to copper. And as a final touch, I shifted the old Copper sprite to Gold. As you can see in the attachment (Gold left, Copper right), they clearly have a different appearance, even against the same background. So all's well....except for one thing. There was now a gap in the Mountain Good sequence.
Leave a comment:
-
Goods Improvements (Gold): This was another one of those ideas which start off with a limited objective and then slowly grow and expand, folding in more "improvement opportunities" along the way. Earlier in the project, after making a number of changes to the graphics and even adding a few new Goods, I proclaimed those changes at an end and moved on to other things (see Post #40). However, in the course of many playtests I couldn't help but notice that the "Gold Good" graphic was almost invisible when seen against the background of Alpine Mountain terrain (see attached).
The first idea was to substitute the "Gold Bars" sprite from Cradle 4, but that is actually a gold-colored version of the gems used by the Emerald Good, and in that context it didn't look very accurate. In addition, all the other metal goods in Cradle 3+ have a more natural appearance (like handfuls of ore), so the gold "Bars" didn't match the other metals.
Of course that took us right back to the original problem, since granular piles of yellow ore aren't visible in Mountain terrain. Accordingly I tested the sprite with several other terrain types and determined that it looks best against the Brown Hill (Sand Dune) background. Which was a logical substitution since Silver was the second, "rare" good in that terrain, and it already was used as the rare good in Brown Mountain terrain. Problem solved, yes? Well not entirely....
Leave a comment:
-
Wow! It's great to see a big CTP modding project on the go again in 2023! I've just mentioned this thread over on the CTP Fans Discord that Ninja runs as some of the guys there have been playing around with the source code and the Apolyton Edition so they'll find this project thread fascinating! Feel free to drop by and keep us updated there too!
Leave a comment:
-
Ulysses Grant Sprite: Another fairly small project, but I only recently noticed that the Ulysses Grant Wonder Unit had the same sprite used by the CtP2 Cavalry, basically a helmeted British Lancer (see attached). The CtP1 Cavalry sprite has a red uniform as well, but the broad-brim hat is more in keeping with a Civil War General (and in fact, a blue version of that is used for the Grant unit pic, see bottom of attachment). As with most CtP1 sprites, this one did not have the Idle animation (and thus had no movement), so it was disassembled and rebuilt. There are two animations (Move & Attack), comprising 120 images (plus another 120 shadow files), and a new Idle animation was created which uses 6 files that allow the horse to shake its head and tail. The only change needed was to reference the new creation in "newsprite.txt", and so the new Grant sprite is now in-game.
Leave a comment:
-
City Specialists on the Tech Tree: The player can tweak the output of individual cities by using any of 5 different City Specialists, depending on the desired outcome. For example, if the player wants increased "Production", assigning one of the "Workers" to the role of "Laborer" (see attachment) generates additional Production (albeit at the cost of reduced output elsewhere). This all happens as part of the normal game code and I haven't changed any of that! However, each type of Specialist only becomes available once certain Advances have been researched, and as such they appear in the Tech Tree. In the old document, Specialists had the same icon as Units so it was a bit confusing as to whether, for example, a Laborer was much the same as a Hoplite. Anyway, Specialists now have their own icon so it will be easier to find them when looking at the new Cradle 3+ Tech Tree (see inset).
- Likes 1
Leave a comment:
-
Colony from Settler: As Cradle was upgraded over the years, one of the most recent improvements involved Colonies. In the original Cradle v3, they are a Tile Improvement like any other, which means they can only be constructed within city limits. And this limitation extended to those created by the disbanding of Nomads or Settlers. However, Cradle v4 added "fort-like" code so that Colonies now have a 2-hex vision component AND they have a 1-hex border on all sides. As you can see in the attachment, a Nomad was disbanded 2 hexes outside the Etruscan borders, but once the Colony was built (inset), the Etruscan boundaries were extended. Given the high cost of building a Colony (and what it is supposed to represent), this is clearly the better approach, and will be adopted in Cradle 3+. The "Disbanding Settler" mechanism still requires Civic Engineering and 7000 PW, but a Nomad is no longer lost when it disbands outside the national borders. In addition, once a player builds the Pax Romana Wonder and the Colony button activates, that too allows the construction of Colonies outside the civ's boundaries.
The slic code itself was pretty confusing, so that was cleaned up as well. Previously the player needed to have 12,000 PW available (even though only 7000 was used) AND the code required at least 500 Gold in the Treasury even though NONE OF IT was used, and in fact the code ADDED 1000 Gold when the unit disbanded. All of that has been fixed, and the Great Library updated accordingly.
- Likes 1
Leave a comment:
-
Colony TIMP Bug: First, some background. In the original CTP2 game, there is an "End Game" victory option which involves building the Solaris Project Wonder along with two types of Buildings (Gaia Computer & Power Satellite) and a Tile Improvement (Obelisk). In Cradle, this project has been re-purposed as the Birth of an Empire, which essentially equates to setting up the Roman Empire and winning the game as a result. In the original versions of Cradle, the buildings were renamed (Arch and Monument), as was the TIMP (Colony), and they could be built regardless of whether the player owned the Wonder. The buildings have no ancillary benefit (in fact they add a great deal of cost), but the TIMP is quite valuable as it delivers an additional +10 to the food, production, and commerce values of the tile on which it sits.
The "Colony" build button becomes available with the discovery of "Civic Engineering", and that's where the "bug" first appears. Even when the player has the 7000 PW required to build it, the button remains "greyed out" (see attachment). And the same is true even if the player builds the Pax Romana wonder (which triggers a possible "Birth of an Empire" victory). Interestingly, I found the same to be true in the base-line source code game - Obelisk buttons were not active even when the player discovered the pre-req Advance and had the necessary PW. Further research showed that the same issue affected the two associated buildings. By contrast, there was no impediment to constructing the buildings or the TIMP in non-SourceCode CTP2 games. After a great deal of testing, I finally discovered the problem: The Source Code Team added an undocumented feature - the player MUST own the Solaris Wonder in order to unlock the ability to construct the associated buildings and TIMP. Going one step further, they added a line of code ("StartGaiaController") to the Solaris section in "Wonder.txt". Without that line of code (which was not present in any of the Cradle files), the player will NEVER be able to build any of the structures required for the "Birth of an Empire" victory. And adding it? Made the Bug go away! So, problem solved, right? Well, sort of.
As I noted earlier, any civilization could construct the buildings or the TIMP, even if they never built the Wonder, but that is no longer the case. These are now "Wonder-owner-only" buildable items, and there's no way to change that since it's hard-coded into the executable. Considered purely in the context of the base game's "Solaris Project", that is not a terrible decision since it prevents the AI from building structures which (absent the Wonder) provide little or no benefit. However it does hurt modding since (as we see in Cradle) it's possible that the buildings and TIMP could be given other uses. And doing this and NOT documenting it? Well, really unfortunate.
For Cradle 3+ I've added the necessary code to Wonders.txt, which activates the Colony button for the wonder-owner (and not incidentally, makes it possible to achieve the "Birth of an Empire" victory). Additionally - as I discussed obliquely in Post #80 - the colony.slc file allows players to disband a Nomad/Settler and thereby build a Colony. This system still works as designed and does NOT have a "wonder-owning" pre-req but the coding is a little wonky and the player REALLY needs to understand the intricacies (now fully detailed in the Great Library) as otherwise it's easy to lose your Settler and get nothing in return. And as you might expect, the AI is completely clueless and cannot utilize this system.
Last edited by Kull; February 26, 2023, 19:04.
Leave a comment:
-
Assassin/Poisoner: One benefit from letting a project sit for a while is that you come back to it with "new eyes", and sometimes what seemed like a finished project is ripe for a little tweaking. In this case, the Assassin and Poisoner units. Or more specifically, their names.
As discussed in Post #28, the original Cradle Assassin is a military unit who stomps around carrying a Sword and Shield, dispatching foes at the whim of his Leaders, and looking the very antithesis of a secretive "Assassin", operating unseen from the shadows. Which is actually OK, because ancient rulers wielded near absolute power and most didn't seek to hide what they were doing. They employed brutal "Hired Thugs" to carry out their dirty work, and that is exactly what this unit looks like...and is now named as (see red arrow in the attachment).
With the advent of Monarchy, the Hired Thug is succeeded by the "Poisoner", who certainly has a stealthy appearance. But she lacked one important attribute - her Attack animation used a knife, not the "poison" implied by her name. But now that "Assassin" is available once more, she can be given that far more appropriate name, and in the process she can carry a blade and look a little more sinister in her unit picture (see attached).
- Likes 1
Leave a comment:
-
Apologies for the long stretch of inactivity, but I was engaged on completing an important piece of a different, even larger project involving another game. With that submitted, it's time to re-engage here, and we'll begin with something that's fairly uncomplicated, but important in terms of adding depth and improving immersion:
City Names & Numbers: Cradle has 33 civilizations, and originally included 1163 cities (about 35 each). That's probably fine if you are playing on a smaller map or with a large number of civilizations, but on a gigantic map it doesn't take long before the names run out and you start to see cities with names like "Athens2" or "Rome2".
Exacerbating the problem is the large number of duplicate city names, which is almost inevitable when you have a variety of ancient civilizations occupying the same geographic region. For example the heartlands of Sumer, Babylon, & Assyria were all located in modern day Iraq, and historically they owned many of the same cities. And we see the same sort of thing with Shang/Han, Turks/Hittites, Rome/Etruscans, Greeks/Macedonia, etc.
Rather than address this as a single project, I've been "working the issue" from the beginning, usually dealing with one geographic group at a time, often prompted by the appearance of duplicates during the extensive playtesting periods. Anyway, I don't have a firm count of how many were eradicated, but it was a LOT! The most recent exercise involved the Byzantines, who shared city names with their early predecessor Rome, and also with geographic neighbors such as the Turks, Hittites and Arabs. 7 of 45 city names were duplicates (15%), and had to be replaced. At this point I'm confident that while some repeats have undoubtedly escaped discovery, they are few and far between.
As for the count of cities per civ, that was also addressed, often at the same time. Currently there are 1369 cities for an average of 41.5 per civ. In many respects the increase is even larger, because "popular" civs like Rome & Greece used to have only 35 cities, but now have 50 each. And most of the rest have also grown, from as few as 30 to 40 or 45. All of which improves the immersion factor.
Leave a comment:
-
Even though most of my recent attention has been focused on the "big issues" (CTDs, Special Attacks, AI performance), quite a few "small" improvements have been implemented along the way. Some were simple, others pretty extensive:
1) AI Leader Gender & Personality: With few exceptions, until recent times the vast majority of world cultures have been male dominated, and their actual historical "leader lists" reflect that. For every Hatshepsut or Semiramis, there are hundreds of males. This is especially true with a predominantly "Ancient Era" mod like Cradle. Given that one has only two choices for Named Leaders to represent each culture from beginning to end, it's highly inaccurate to pretend that there's a 50-50 chance that one of them was - or could have been - female.
Accordingly, I've selected two of the more famous male leaders from each of Cradle's 33 civs and altered the gender sections in "civ_str.txt" and "ldl_str.txt" so that all pronouns and other descriptives are male.
Additionally, I altered many of the AI personalities as well, trying to match Leaders with their personalities (as far as we know them). For example, Carthage is now led either by Hannibal or his real-life rival Hanno. Historically, Hannibal was focused on aggressive conquest and is thus a "Strangelove" personality in CtP2. By contrast, Hanno represented the group which wanted Carthage to focus on farming and mercantile growth in the North African hinterlands, and is thus a "Medici". In general, most of the Cradle civs will have similar personality dichotomies, so the strategies that your AI opponents follow will in large part be dictated by their personalities, and those can shift radically depending on which leader is selected.
2) History Sections: There are now History entries for ALL Units, Buildings, and Wonders in the GL. Roughly half existed in "vanilla" CtP2, but Hex removed all of them. Those have been reinstated along with quite a few borrowed & edited from AOM, and a large number of entirely new ones created to fill in the gaps. It's mostly a "nice-to-have" feature but those descriptions which apply to the "future" are actually quite helpful as they provide the "back story" behind those otherwise unfamiliar units and structures.
3) Heptireme becomes Quinquereme: While researching the historical background for various units, it soon became obvious that the "Heptireme" (or Heptere) was an extremely rare design, achieved by adding a second set of rowers to the Quinquereme (or Pentere). Heptiremes were just one of many odd designs employed purely by the Greek Successor states (those which grew from the splintering of Alexander's vast empire), but they were always few in number.
By contrast, the Quinquereme was the true Iron Age successor to the Trireme. Thousands of them were built and employed by a wide range of different cultures, and they ruled the Mediterranean for centuries. Accordingly, Cradle 3+ will replace the "Heptireme" with the "Quinquereme". This is a "name only" change as all the graphics and statistics will remain the same.
4) Trireme Movement: The movement points for this unit are 3, where-as the earlier Bireme is 5 and the subsequent Quinquereme is 8. Even the Coracle has 5. By contrast (and as you would expect), the attack/defend numbers improve incrementally from Bireme>Trireme>Quinquereme. Having such a disparity in movement points makes the Trireme almost useless, and there's no historical reason behind it, especially when compared to the other two. Accordingly I doubled the range from 3 to 6.
5) Visible Wonders: Visually speaking, there are two fundamentally different types of Wonders - those with an "on-map" tile improvement, and those without. The TIMPs are quite valuable, adding significant food, production and commerce increases to the tile on which they appear (see attachment), and that remains even if the primary Wonder Benefits expire. Accordingly, it can be helpful to know which Wonders have a Visible component, so all their GL entries have been updated with that information.
6) Globesat Wonder: While adding "Visible Wonder" text, I noticed that the late game "Globesat" Wonder uses the Shakespeare "Globe Theatre" TIMP. Which is really strange, since there IS a "Shakespeare's Theatre" wonder already in-game...and it doesn't have a visible wonder! Anyway, I made the fixes to mapwonders.slc, gl_str.txt, and tilimp.txt so the Globe Theatre is properly linked and now appears with the building of Shakespeare (see attachment).
7) Lighthouse of Alexandria: Speaking of Wonders, the "Lighthouse" could be constructed anywhere, including inland cities. Which is an odd location for a structure that was designed to assist Naval navigation. Anyway, there is a building attribute used by the "Battlement" which restricts it to coastal locations, and testing showed that it works equally well with Wonders! So now - appropriately - the Lighthouse of Alexandria can only be built in coastal cities.
8) Actual Building Everywhere: Several of the Cradle Wonders provide the powerful benefit of creating the effect of a particular building in all cities owned by the Wonder-owner. Thus "Valley of the Kings" puts a "virtual Apothecary" in every one of your cities, the "Great Wall does the same with "Walls", and there's a few others which do likewise. This is controlled by the "BuildingEverywhere" attribute in the "Wonders.txt" file, but the downside is the AI can't process that information and will still construct the unnecessary building, even if it owns the Wonder.
As with many CtP2 bugs, a slic file was developed which prevents the AI from doing that, but there is a new attribute in AE which solves the whole problem. As the name suggests, "ActualBuildingEverywhere" creates the actual structure in every city owned by the civ which built the Wonder. It seems like a much better solution to the issue, plus it allows us to remove yet another slic file.
9) Garrison-to-Slave Ratio: In AE the AI is MUCH better at managing happiness in it's cities, and thus I haven't seen any spontaneous revolts in any playtests to this point. The AI is also better at using slavers, and thus you see a lot more cities with slaves. In addition, AE is coded to "spread the slaves around", so you don't have just one or two border cities acquiring huge slave populations. And lastly, the new AI is VERY focused on maintaining large city garrisons, which means that Slave & Unhappiness Revolts in AI cities are extremely unlikely anyway.
Accordingly, it seems appropriate to revisit the following settings in "const.txt", especially since (given most of the above) they are more likely to benefit the human player than the AI:
* UPRISING_CHANCE_PER_UNGUARDED_SLAVE 2 # from 5
* SLAVES_PER_MILITARY_UNIT 12 # from 3
Clearly those settings make it much easier to maintain large Slave populations in Cradle than the base game. My initial thought was to restore the AE settings, but instead opted for more of a "middle approach" and changed the "uprising chance" from 2 to 3 and the "slaves per unit" from 12 to 6.
10) "Illegal Move" sound: One of the interesting game features is that when the AI performs certain activities (not all), the associated sound is played, even when it occurs somewhere hidden by the "Fog of War". This is actually quite helpful, as it gives an audible clue to the human player that yes, the AI now has active Slavers or Prophets, that Piracy has begun, or that certain Diplomatic activities are underway.
The exception to all this is the "off-key piano chord" sound associated with an "Illegal Move". This was previously reported as an annoying issue that gets worse as the game proceeds, and I can confirm that it REALLY gets old. Not only is the sound rather jarring, but actually - who cares if the AI tries to perform an illegal move? Even when the human player does it, sound isn't necessary since there's plenty of visual indicators that, no, you can't perform "action X". Anyway, sounds.txt has been altered so that SOUND_ID_ILLEGAL_MOVE is now "NULL.WAV", and the "end turn process" is now a lot less annoying.
Last edited by Kull; November 29, 2022, 10:49.
- Likes 1
Leave a comment:
-
Frenzy Revisited: After taking another look at the Frenzy file, I was able to identify the section of code which causes the slic errors (lines 244-250). It's supposed to identify the civilian units which should not be pulled into stacks, but we know from the previous playtests that the errors kept that from working anyway. Accordingly, I commented that section out and ran another playtest. The only noticeable benefit is that by 1800 BC (and continuing for the next 300 years until I ended the test) turns were only taking a minute and a half, which is about one minute faster. I was also able to run the test with the "Debugslic=Yes" setting, so that confirmed the errors have been removed.
As a "control", I removed Frenzy from the next playtest and ran that down to 1500 BC as well. Turns are definitely faster - about 50 seconds to go through all 12 AI civs. As with previous playtests, the absence of frenzy led to more special attacks and better naval searching. The most obvious difference is that - aside from Nomads - civilian units are not included in military stacks.
City conquests were absent from both playtests, but there are contributing factors such as fewer continents, lack of a "true" human opponent (both tests used the "human-Barbarian" process), and the larger garrisons one typically sees in the improved Source Code version. I'll continue to look for possible AI improvements, but at least for now the game is solid and the AI appears to be competent in most areas. This revised Frenzy file will be packaged with the download, but will not be part of the default game - I'll leave that choice to each player. Anyway, it's definitely time to get back to the other improvement options that have been on hold for months now.
Leave a comment:
Leave a comment: