Posts: 6,677
Threads: 131
Joined: Mar 2004
Ruff_Hi Wrote:If the issue is 'unstoppable', then make them stoppable. Make the spy visible (or randomly visible) and add a spy mission that captures the spy (that only spies can do).
These thoughts could be heading in a good direction, but once again I'm wary of crossing the line between rebalance and full-blown redesign of a game subsystem. And players may not really want the busywork of the spy vs spy minigame. Whoever catches more spies will be whoever devotes more micromanagement to it. The issue isn't so much that espionage missions are unstoppable (they will always be so, just send more spies), it's that their function of seeing enemy units is unstoppable and takes minimal resources of one spy.
I wonder if I can hack the DLL so that spies have no visibility at all unless on a city or resource? Then the defender knows for sure where his units can be seen or not.
Posts: 23,385
Threads: 132
Joined: Jun 2009
If that DLL hack worked, I'd be interested in seeing it demonstrated.
Current games (All): RtR: PB80 Civ 6: PBEM23
Ended games (Selection): BTS games: PB1, PB3, PBEM2, PBEM4, PBEM5B, PBEM50. RB mod games: PB5, PB15, PB27, PB37, PB42, PB46, PB71. FFH games: PBEMVII, PBEMXII. Civ 6: PBEM22 Games ded lurked: PB18
Posts: 148
Threads: 9
Joined: Sep 2006
When asking around after modifications to remove espionage from the game in a way that's more thorough than the BtS No Espionage, I got pointed to this mod:
http://forums.civfanatics.com/showthread.php?t=340293
It includes some of the same changes that T-Hawk made but some additional changes, mostly AI oriented. (The set of changes is oddly disjoint, but has the same thrust---I can't tell if they're actually identical implementation-wise. T-Hawk or someone else more familiar with the structure of the C++ might be able to say.) That said, I know at least two more changes needed to remove Espionage altogether: remove the remaining espionage interface elements, which I think is just the spy specialist picture in the city screen and the +25% espionage from the Nationhood civic, and either remove or change some of the espionage-oriented events, as I checked that No Espionage doesn't do anything to them.
Would it be possible for you to post a list of where the changes you've made are in the XML/Python/C++ or diffs? I'd like to steal some of these modifications for an SP-oriented personal mod I've been working on.
Posts: 6,677
Threads: 131
Joined: Mar 2004
Alternate suggestion: Spies have no visibility unless they have full movement points. That's easier to code since it doesn't have to try to figure out what's on the tile underneath the spy. And it eliminates the roving spy scout problem. Keep the "secretive" promotion. So a spy can see only what it needs to do an espionage mission and nothing else.
Posts: 6,677
Threads: 131
Joined: Mar 2004
Iainuki: I've been sending my DLL source to Cyneheard. He's got all the files, I'm not sure if he's been maintaining a specific list of diffs or if you'll just have to use a diff tool.
Thanks for the link. These two are changes I didn't think of but probably should be implemented here.
Quote:-AI no longer values the espionage points of buildings when it is wanting to get more culture in its building choices. Also doesn't value the effect of espionage percentage modifiers. (CvCityAI.cpp) (3 changes)
-No longer need to show espionage that gets converted to culture in the City screen when you hover over the culture breakdown. (CvGameTextMgr.cpp) (1 change)
Pretty much everything under XML changes are things that we won't do here because we want espionage to function normally when No Espionage isn't on. I killed spy specialist slots and converted GPP spy->merchant in C++. The XML can't be smart enough to check the setting for No Espionage in relation to those but the C++ code can.
Posts: 6,126
Threads: 130
Joined: Apr 2006
T-hawk Wrote:Alternate suggestion: Spies have no visibility unless they have full movement points. That's easier to code since it doesn't have to try to figure out what's on the tile underneath the spy. And it eliminates the roving spy scout problem. Keep the "secretive" promotion. So a spy can see only what it needs to do an espionage mission and nothing else. My concern is that we will end up with a no espionage version when the 'no espionage' option is checked and a no espionage version when the option isn't checked.
I have finally decided to put down some cash and register a website. It is www.ruffhi.com. Now I remain free to move the hosting options without having to change the name of the site.
(October 22nd, 2014, 10:52)Caledorn Wrote: And ruff is officially banned from playing in my games as a reward for ruining my big surprise by posting silly and correct theories in the PB18 tech thread.
Posts: 4,138
Threads: 54
Joined: Dec 2009
Ruff_Hi Wrote:My concern is that we will end up with a no espionage version when the 'no espionage' option is checked and a no espionage version when the option isn't checked.
I agree. I thought the main aim was simply to fix the 'No Espionage' option so that it doesn't mess with culture & everything.
I don't think much needs to be changed for when it isn't chosen. We would likely ban spies anyway if we kept it.
"You want to take my city of Troll%ng? Go ahead and try."
Posts: 23,385
Threads: 132
Joined: Jun 2009
The main point of the spy change is that you can't use the spies to scout with: if you trade for a map, or scout out with OB and units to discover cities, you can still use spies effectively for espionage missions. However, if a player can hide most of their empire in the FoW then it would be much more difficult to use espionage on them, but that's about right: if it was possible to just build scouts and scout out someones' lands with them without their knowledge or agreement and there being no consequence to your actions, then that's a one right choice.
Current games (All): RtR: PB80 Civ 6: PBEM23
Ended games (Selection): BTS games: PB1, PB3, PBEM2, PBEM4, PBEM5B, PBEM50. RB mod games: PB5, PB15, PB27, PB37, PB42, PB46, PB71. FFH games: PBEMVII, PBEMXII. Civ 6: PBEM22 Games ded lurked: PB18
Posts: 5,629
Threads: 30
Joined: Apr 2009
T-hawk Wrote:Alternate suggestion: Spies have no visibility unless they have full movement points. That's easier to code since it doesn't have to try to figure out what's on the tile underneath the spy. And it eliminates the roving spy scout problem. Keep the "secretive" promotion. So a spy can see only what it needs to do an espionage mission and nothing else.
Actually, better idea: What if the Spy unit couldn't see units? Even with Secretive, the Spy can stumble upon enemy stacks, which is why it has sentry value. Is that possible to code? It needs to work when your other units, City Visibility from EP spending, and your culture can't see the tile the Spy is standing on directly (I'd want to keep Secretive, so that the Spy can't map out a person's lands).
Really bad things happen if the spy can't see the tile he's standing on from a graphical/interface standpoint; you can't even see the spy, you just have a selection icon hanging in the breeze, and I'm not sure it's even possible to click on the spy if the game doesn't auto-scroll to him. This was learned by testing "Secretive" under -3 or more visibility.
The other option:
Spies would keep Secretive, but would be unable to enter fogged tiles (this is XML-codeable). This means that somehow you'd have to get visibility on the target tile through other means, which could be difficult if you don't want to declare war with normal units, and can't get a map trade.
Posts: 6,677
Threads: 131
Joined: Mar 2004
Cyneheard Wrote:Actually, better idea: What if the Spy unit couldn't see units?
I thought of that too and it would be ideal but I'm pretty sure it doesn't work. Tile visibility is binary, there's no concept of a tile being visible but units not visible. It might be possible to do by hacking the mouseover text... it would have to check whether a tile is visible only by a spy and not by any other units. But in addition to being a bear to code (lots of special cases like sentry units, air recon), that sounds like a pretty terrible thing to recalculate every time you move the mouse.
Quote:Really bad things happen if the spy can't see the tile he's standing on from a graphical/interface standpoint
Ok, that I didn't know. Secretive might be the best we can do then.
|