Welcome to Rhye's and Fall of the Greek World (Revived again)

Awww shucks. I liked that feature in DoC when playing Byzantium (which gave me 4 left-over Legions). I'd use 'em to repair and extend the Roman road system.
Sadly the feature was broken because the AI couldn't use it properly and there was some overflow bug associated with it anyways. So after giving them 2 movement I decided that removing it would be the best idea.
Edited to add: I really like your Harappan population target. 1st in population is more appropriate to the Indus Valley civs than some arbitary integer (currentlly 30 in DoC).
Credit goes to EdmundIronside, he made most of the currently existing UHVs (Egypt, Sumeria, IVC, Minoa, Phoenicia). Glad you like it, anyways.
Additional: Well, dang. Maybe I'll just go play Egypt first. :rolleyes:
Yep I've noticed that as well. Will be fixed in the rewrite.
Dis de bloo line off to de top right dere. It's a bit of an appendix, but is used, for example, in birthInForeignBorders if the game is having trouble finding a good spot to place a spawning civ. Fortunately having this area run off the edge of the map doesn't seem to upset the game, or perhaps it is a bug still waiting to happen.
I found this out after placing these wonderful comments, so I simply replaced the birthInForeignBorders call with birthInFreeRegion. Better half-broken than completely broken... the TODO still applies.
You should probably dial back the 700-value Settler Value sites in Egypt. No way are all those spots right next to Peaks backed by Deserts going to be good (let alone historically accurate) city spots. A value of 150-200 is enough to make a spot stable; IMAO you should only use higher values for locations where you want the AI to place its cities, or for purposes such as where (400+) you don't want other civs owning cities in your Normal area. The starting spot could be 700 (I think yours is 500, with several 700 squares adjacent, but I'm still adjusting my mapping utility for RFC GW so I could be one square wrong) and the surrounding spots should be lower to discourage the AI Settler from wandering off instead of founding its capital. For example you probably don't want the AI going one square south and founding outside its Core, although that's still within the Normal areas (I believe the Core is mainly used to define the Flipzone) so it probaby won't cause an issue except for cramping other far southern cities.
Truth to be told, I never touched the settler maps (except when copy-pasting Persia's settler map for Elam), so it's still how previous modders left it. I'll see what I can do.
I actually moved the Egyptian core one tile south so that at least Egypt starts in her core, and Waset will be moved further north in the rewrite.
 
Truth to be told, I never touched the settler maps (except when copy-pasting Persia's settler map for Elam), so it's still how previous modders left it. I'll see what I can do.
I actually moved the Egyptian core one tile south so that at least Egypt starts in her core, and Waset will be moved further north in the rewrite.

Moving the Core south was well done, then. I actually think Waset (Thebes) is pretty well placed; there are better sites around, but they're just too many moves away or their resources don't come online in time to help with the 1st UHV. I played one game this afternoon starting 2N 1E, at Amarna. The attempt failed, but I liked the site. Moving Waset north would cramp that.

For Egypt, UHV 1 (an arbitrary 1000 Culture by 2180, starting from almost nothing) is IMO the toughest. UHVs 2 & 3 support each other, since #3 (Levant and Nubia by 1069) involves settling 2 cities in Nubia, destroying Jericho (it's too close to Ur) and defeating the Phoenicians (necessary in order to to control the Levant; occupying the former Phoenician capital, with a 2nd city founded in Israel); the preparatory manouvering for #3 pretty much guarantees #2 (top score in 1690). That doesn't consider the effect of all the barbarian invasions and uprising I can see ahead, but by the mid-2000s Waset and Tanis are an efficient whipping machine that can grind any opponent under.

But first I have to conjur 1000 Culture out of thin air by Turn 85, an average of 12/Turn, and my best effort to date has been about 750 by 2180. I lucked onto Bread Making from a goodie hunt one time. Bread Making wasn't in my tech path, alas - if I had been gifted Slash & Burn, Brewing or Meditation, I might mave made it! I need farms to quickly bloat my capital's population to an unhappy 9 or 10 so that I can whip Stonehenge in Waset, which at a stroke will double my Culture rate. Whipping is not my strongest suit - in fact I suck at it.
 
I actually think Waset (Thebes) is pretty well placed; there are better sites around, but they're just too many moves away or their resources don't come online in time to help with the 1st UHV. I played one game this afternoon starting 2N 1E, at Amarna. The attempt failed, but I liked the site. Moving Waset north would cramp that.
It's placed in Nubia though, as far as I can tell... and the actual Nubians have a hard time expanding if Egypt hasn't collapsed by the time they've spawned. I also hope that this will make Egypt expand somewhat more historically, but I'll probably have to tweak their settler maps as well like you said.

And my strategy for Egypt's first UHV is quite ahistorical but it works:
Spoiler :
Beeline the Stonehenge and Obelisks first, then build an Obelisk and hire priests. Whip the stonehenge after you got a great prophet, try leaving 6 population, switch to apprenticeship and hire artists.

I'm thinking that the Stonehenge should be replaced with some Egyptian wonder that gives free artist slots to make this feel a bit more historical.
 
Most of Egypt is "in" Nubia's Normal area (green below) but Waset is safely north of their Core (red). What you do is tweak the Settler values in Egypt's SE so that the Egyptian AI isn't tempted to settle SE of Wasit (the human player of course will do whatever they want regardless). You want Egypt to expand north - towards the Delta - and maybe a little west, while everything south and east from Wasit/Thebes should be neglected. There's a fine example in Anatolia in the original RFC, where Rhye blanked out central Anatolia to discourage the Greek AI from settling in the future Ottoman Core. The HIttites in RFC GW inherited the same blank, even though the absence of the Ottomans from this mod makes it pointless.

The Nubians, of course, need to see fat juicy Settler and War values nearby in southern Egypt, to cause them to expand in that direction. But they also need some good locations south-west of their starting point to tempt them to make some cities for stability in their own Core - which, by the way, probably needs more Marsh and Jungle and fewer resources to make it less appealing to the human player until the Nubians do spawn. Egypt obviously needs to settle there for its 3rd UHV (Aswan?), but the Egyptian settlements need to be weedy and likely to cause instabillity for Egypt so that if Egypt becomes unstable they are likely to secede and provide ready-made homes for future Nubians.

Nubia.png


Thanks for the hint - I was doing all of that but the last bit. Classic "D'oh! So obvious" moment. (My latest failure was just over 825.)

ETA: 2225. Ho ho ho, now Tanis has a culture bomb.

ETA 2: Stonehenge becomes Temple of Karnak.
.
 
Last edited:
What I meant by Thebes being in Nubia was this:
Spoiler :

I couldn't find a good map which shows the blue/white Nile but now I think moving the Nile as indicated on the screenshot would make sense as well. This weird distortion was originally made when the map was still a circle and the river didn't have enough place.
 
Babylonian UHV #3 (conquest) seems bugged - I destroyed Sumeria (captured Ur), Elam (captured Susa) and Phoenicia (razed all cities) but didn't get the tick in F8. So I destroyed the Hittites, still no tick.

Checked Victory.py - code looks OK, though it only sets the value in in onCityAcquired, not onCityRazed. So I reloaded my game from before I razed Phoenicia, and this time I captured their last city (Tyre) instead of razing it. No tick.

I enabled cheat mode and checked StoredData in the Python console - babyloniaKilledCivs = 0.

I exited and restarted the mod and started a new game. Used WB to give myself a stack outside each enemy city. Destroyed the three victim civs again (Hitties had not yet spawned) several ways. No tick.

Edit: I have manually set the goal as achieved. I did achieve it, even if the game disagrees!

Later: I have abandoned that game; the Assyrians showed up in 1396 BC with 5 Swords, 3 Chariots, 5 Spears and a Ram. And me with just 2 Bows, 2 Spears and 2 Javelins, not having repaced my losses after the Phoenician war. I had also run out of wonders I could build, having beelined CoL. :blush:
 
Last edited:
Thanks for reporting this, I tested the UHV twice and it always worked for me. Do you still have any saves from that game?
 
Hi bluepotato

Here is a test game that shows it. It replicates what I observed. In 1880 I've placed some armies to kill the enemy (one city/civ per turn), by 1830 I've killed three civs.
 

Attachments

  • Hammurabi Test BC-1830.CivBeyondSwordSave
    143.4 KB · Views: 73
  • Hammurabi Test BC-1880.CivBeyondSwordSave
    138.1 KB · Views: 72
Quick & dirty fix for Minoans sinking Mycenaean Galley during auto-play.

In RiseAndFall.py, in findSeaPlots (changes in bold and italic):

if (len(seaPlotList) > 0):
if iCiv == iMycenae:
rndNum = 0
else:
rndNum = gc.getGame().getSorenRandNum(len(seaPlotList), 'sea plot')
result = seaPlotList[rndNum]

Due to the way the search works, the sea square NW of the start point is found first. Therefore, if there is more than one sea square available (which will usually be the case) and that square is one of them (which will also usually be the case), forcing item 0 in the list will select that square. This places the Galley in the Corinthian Gulf, where the Minoan Trireme is less likely to find it. Once Mycenae is settled, the player can use the city as a canal to bring the Galley east of the ithsmus.

Spoiler Safe harbour :
Safe harbour.jpg
 
Last edited:
In Costs.py, need to insert line 92:

i1100BC = 197

In Victory.py, insert corresponding line 34:

i1100BC = con.i1100BC

This avoids the Python error after you finish your Mycenaen turn in 1600 BC. You need to build the Lion Gate by 1100 BC, so Victory.py is looking for the i1100BC global variable to figure out the turn number.
 
Sorry, I forgot to mention that Mycenae's UHV is completely broken in the latest release... I should've tested it sooner but I somehow forgot about it. This is fixed on the development version along with other python errors related to the UHV.
The sea plot thing is a good idea, I would've just specified the tile 1NW of Mycenae but that doesn't account for the possibility of a unit being there. Though I'm not sure if that's really a problem, I assume one of them would just be pushed out of the plot.
 
So ... as long as I build the Lion Gate (UHV 2) before completing my three Tholoi (UHV 1), all is well. Woe betide should I complete the tombs first!
Code:
if iPlayer == iMycenae and getGoal(iMycenae, 0) == -1:
    if iBuilding == con.bn('mycenae_tholoi'):
        setMycenaeTombsBuilt(getMycenaeTombsBuilt() + 1)
        if getMycenaeTombsBuilt() >= 3:
            setGoal(iMycenae, 0, 1)
    elif iBuilding == con.bn('lion_gate'):
        if getGoal(iMycenae, 1) == -1:
            setGoal(iMycenae, 1, 1)

Umm ... but I need to build the Tholoi by 1300 BC and the Lion Gate can wait until 1100 BC. I see a construction bottleneck here:
Code:
if self.getGoal(iMycenae, 0) == -1 and iGameTurn > i1300BC:
    self.setGoal(iMycenae, 0, 0)
if self.getGoal(iMycenae, 1) == -1 and iGameTurn > i1100BC:
    self.setGoal(iMycenae, 1, 0)

I suggest:
Code:
if iPlayer == iMycenae:
    if iBuilding == con.bn('mycenae_tholoi'):
        if getGoal(iMycenae, 0) == -1:
            setMycenaeTombsBuilt(getMycenaeTombsBuilt() + 1)
            if getMycenaeTombsBuilt() >= 3:
                setGoal(iMycenae, 0, 1)
    elif iBuilding == con.bn('lion_gate'):
        if getGoal(iMycenae, 1) == -1:
            setGoal(iMycenae, 1, 1)

ETA: Add "self." as required. Dang it Python, a local reference should never need specifying!
 
Last edited:
the possibility of a unit being there. Though I'm not sure if that's really a problem, I assume one of them would just be pushed out of the plot.

That's why the code checks for something on the square. I figured if squares are occupied and we have Hobson's choice then we go with the flow, but if we have a choice then going with item 0 won't break anything and will usually avoid a sunk Galley.:goodjob:

If a square is occupied on spawn (it would be by another boat) I assume there will be a battle.

Edited to add: I see my UHV fix has been anticipated. :)
 
An update on 2.0 progress:
I ended up repurposing my mapscript as a WBSave reader. It still functions mostly the same as I described previously, except for one significant change: scenario files are stored in JSON format instead of the current wbsave format, mostly to save my sanity. The parser can still read normal wbsaves.
Dynamic names and leader swapping are done. Though only AI leaders are changed during the game; I felt like it wasn't really necessary for humans because you can already pick your leader on the starting screen.
I've also added a province system, which works mostly like SoI provinces, except they're defined in the scenario file.
A basic stability system is done as well, which might be a bit unbalanced because I haven't been able to test it yet. Still need to define core areas for all civs to see how well it works.
Obviously it's still nowhere near being actually playable so playtesting it would be quite pointless. Here's what I still want to do before releasing a beta version of the rewrite:
Spoiler my current to-do list for 2.0 (in no particular order) :

- Fix these bugs:
a) AI Civs fail to spawn sometimes (needs further investigation, still not sure what could be the cause)
b) AI moves out of capital on spawn (won't be difficult to fix)
- Re-add barbarians
- Import settler maps, war maps (maybe they could even be merged?)
- Import city name maps
- Add secessions, collapses, maybe respawns
- Working WB editing (provinces, maybe also scheduled units/cities) and scenario file saving
- Multiple core provinces? (otherwise overlapping provinces will be needed which might not be ideal)
- Historical provinces? (might not be needed if settler map values are counted for stability)
- Add more provinces (core areas etc)
- Re-add 1.8 religion changes (especially holy city relocations)
- Re-add historical victories
- Re-add civ modifiers
- Add conditional spawns
- Re-add 900BC scenario (mostly copy-paste work but I prefer working with only one for now)

Oh and I almost forgot to mention: multiplayer (at least hotseat mode) will probably be supported, unless I run into some insurmountable obstacle. I never actually tested if it works until now, but I did write the code with basic multiplayer support in mind... and looks like it was worth the effort :)
Spoiler :


 
So after importing the city name maps to 2.0 - more precisely, the first city name of every tile as I haven't actually reimplemented civ specific city names yet and I intend to change how those work anyways - I've noticed that a lot of coast tiles have city names. First I assumed I was the one who broke something, but looks like city names are messed up even in older versions!
Spoiler :

I *think* this has something to do with the fact that the original map was surrounded by mountains and water, so maybe the city name manager was supposed to add some values to these city coordinates. But it seems that city name maps for newer civs were made to be compatible with how the CNM actually works, so I'm afraid there's no easy fix for this...
 
I think the issue with city names dates way back. Rhyes originally made the RFCGW map, and some of the city name maps. He then decided the map was too big, and made a smaller cut down version of the map, however he did not change the city name maps. This meant several civs had city names that were wrong by 5 or more squares. I reduced the city name grids so that they fit with the new map, and tried to make sure city names were roughly in the right place. However I did not go over the converted maps in detail, making sure all the city names were in exactly the right place. So the fact that some city names are off by 1 or 2 squares and are thereby in the ocean does not surprise me at all!
 
Hey, I started playing this last weekend, upgrading from the 1.5 version (where I found the Minoan UHV1 was broken). I keep getting crashes, and the logs look like there are some missing elements? I'm not a modder, so a lot of this stuff goes over my head. I can attach my logs here.

Also, in the WBsave files, I had to add
Code:
ModPath=Mods\RFC Greek World 1.8
to get them to show up in the scenarios screen.
 

Attachments

  • Logs.7z
    13.9 KB · Views: 90
Also, in the WBsave files, I had to add
Code:
ModPath=Mods\RFC Greek World 1.8
to get them to show up in the scenarios screen.
Um, the mod is supposed to be in a folder called RFC-Greek-World, with hyphens and without the version number. So try renaming your folder and see if that helps.
 
Top Bottom