Dune Wars 1.9.4 Patch Feedback

Joined
Jun 5, 2010
Messages
394
Location
Houma, LA
Download Patch 1.9.4 Here

Installation Instructions
This patch includes patches 1.9.1.2, 1.9.2 and 1.9.3, so it can be installed directly on top of a fresh 1.9.1 install(download here), no previous patches necessary, or onto any previously patched installation of 1.9.1.

There are a lot of small changes in this patch moving from 1.9.3. The main focus has been catching and fixing the many small text and xml bugs and omissions, making the text and interface clearer where possible, some necessary balance changes, fleshing out existing systems, and finishing some unfinished ones from earlier releases. There has also been a real push to flesh out and balance the unique espionage system started by Deliverator and Ahriman (amongst others?) and incorporate some of the new possibilities afforded by fractional experience in that area. Players should find that the spy game is a little deeper, promotions do what they are advertised to do, and there is no such thing as a 100% chance of success :nya:. There's still more work coming in this area in the next patch, but I'm proud of what's been accomplished so far.

A big thanks to everyone one who's contributed on the forums, even if only with comments and suggestions (even those I've disagreed with :p), and of course thanks to Deliverator for his contributions, good to have you back ;). And you to Ahriman :).

1.9.4 Beta1
Spoiler :

Misc Changes
- fixed slig contract help
- Oppression gives bonus to all mine upgrades
- Change Civics Popup checks for CivPrereq (Oppression)
- Carrier Loaded Wasp interception fix
- Faurfreluches adds two of each valid specialist type instead of unlimited (for noblemen/techmen/merchants -- same specialists as before)
- Zeal promotion tags working
- ForeignPlotModifier: gives %bonus to combat strength when in enemy territory
- ForeignCityModifier: gives %bonus attacking/defending cities based on the ]%foreign culture in the city​
- Fighting barbarians can give great general points now, but you only recieve half the normal amount, and the Imperial trait doesn't double it
- This means only battles that will give at least 2xp or more to your unit will give even 1 great general point
- A unit has to earn 4xp or more to get 2 great general points, it adds up very slowly...​
- New homeworld units have to wait a turn before making thier first move

Unit Changes
- Tweak to Beesting Interceptor's Wasp UnitCombat Bonus (50%->60%)
- slaves turned to workers on capture
- slaves given weak hurry production ability
- later Suspensor units require holtzman generator tech to be built
- all thopters get flank attack verse maula mortars
- copied ExperiencePercent tag from promotions (Leadership) to units
- Ordos spies start off with 50% experience percent bonus using the above tag
- several balance tweaks to city raider and zeal promo lines
- Inquisitor unit is out until the next patch when I can sort through it

Building Changes
- Air/Nuke Defense moved from Water Cache to Guard Station(10%)/Force Shield(40%)
- filmbook archive gives 1 free scientist, 6 research
- Fai Water Tribute cost reduced (850 to 800), effect increased slightly (5% to 8%)
- Order of Mentats cost reduced (850 to 600)
- Guild Research Facility gives 2 research per spice
- Chamber of Visions gives 2 espionage per spice
- Academy(from great scientist) weakened to 35% science
- University of Arrakis becomes National Wonder(House Academy), bonus reduced (100% to 85%)
- Great Spy building gives only 75% bonus to EP's(from 100%), +2 experience to spies built in the city
- fVisiblePriority fix for House Shield Generator and Force Shield buildings (should always show up now)
- Spotter Control cost reduced (180 to 120)
- New early game culture building - 'political office'
- available without any technologies (not available to fremen)
- costs almost as much as a monument
- gives 1 culture
- designed as a weaker alternative to 'having' to research faith early​
- Re-textured a couple of buildings (Atreides Palace no longer looks like it's made of plywood :D)

Promotion Changes
- buffed Atredies National Promos, now add in addition to previous effects %combat like a combat promo
- Ducal Guard gets additional 15% combat mod
- Order of Ag. gets additional 10% combat mod​
- Limited Promos now show how many you have left, not how many you can have
- Financial and Espionage Mentats buffed:
- Fin. gives 5 gold & +20% gold / 8 gold & +35% w/ Sapho Juice
- Esp. gives 5 ep & +15% ep / 10 ep & +25% w/ Sapho Juice
- Esp. also gives 1xp (2xp w/ Sapho) to spies built in the city​
- reworking worm related promos
- gave sandrider promo 100% combat mod against worms
- thumper gives 900% (from 1000%)
- **planned** python function giving thumper at random to high xp sandrider units (fairly rare)
- modest 40% combat mod against worms for desert 1 & 2 (might not keep this)​
- ginaz 1 & 2 given 10% city attack each (balancing against CityRaider promo line, may be too much)

Espionage changes
- stealth promos act as a negative multiplier to chance of being detected (updated AI weight) instead of subtraction from detection chance
- stealth promos changed to 35%(I), 30%(II), and 25%(III) (meaning with all 3, a unit is 90% less likely to be caught than without)
- Buildings with Spy Defense actually contribute to spy detection based on their bonus%
- before, any building with spy defense was treated the same as having a spy stationed in the city with a flat 15% bonus to detection, regardless of spy defense bonus
- now uses a formula to detirmine spy detection bonus based on spy defense, stackable with stationed spy unit
- uses a diminishing returns function that prevents too many stacked bonuses from becoming overpowered​
- counterespionage mission available to all without security promo, security 3 is gone, security 1 & 2 add to visibility and enemy spy interception, counterespionage bonus
- security promos still only available to same civs as before
- counterespionage no longer always 100% success rate (difficulty mod changed from -100% to 0%)
- spies get experience (fairly small amounts) when in enemy territory based on chance of being caught
- spies recieve fractional xp based on difficulty of mission
- fixed game text to show dexterity bonus to mission cost
- internal changes to the way dexterity and stealth operate (to match their original intent better)
- Stealth makes getting caught in enemy territory less likely, and has a moderate impact on mission success (was quite overpowered in mission success before)
- Dexterity gives bonus to mission cost without having to fortify as long (or not at all with dexterity 3), and gives significant bonus to mission success, however unlike stealth gives no bonus against being caught​
- Spy experience (independent of promotions) gives a moderate bonus to evasion chance/mission success
- Spy missions that create a building check to see if the building is already in the city
- Atreides recieve free 25% espionage defense in cities (changable in GlobalDefinesAlt)
- All civs recieve a minimum city espionage defense without buildings or spies(set to 5% for now). This is for balancing early game mission difficulty(adjustable in GlobalDefinesAlt).
- Early game non-passive mission cost scaling based on percentage of game turns completed. The discount and over what range of turns it phases out are all adjustable in GlobalDefinesAlt

From Deliverator
Spoiler :
+ Inquisitors reinstated and can be used to purge non-state religions from cities. (The unit AI is working fine whether the production AI python works I haven't tested, but everything is at least as good as it was in 1.9.)

+ Fixed the Sandstorm visibility issue - this was due to the fact that the Python to redraw the sandstorm effect got lost in the 1.9.1 Better BUG AI rebuild.

+ Changed the Sandstorm movement code so they move roughly in an inward anti-clockwise spiral.

+ Sandstorms are now more prevalent - the amount is now calculated based on the number of ocean tiles rather than all map tiles. If there are now too many then it is simply a question of increasing the 25 in this line from DuneWars.py, StormAddSubtract function.

+ Sandstorms now die after entering Polar Desert Waste.

Code:
iStormWant = (len(self.lOcean) / 25) - len(lStorms)
+ Thopter units now only have a 10% chance of surviving Sandstorms

+ Fixed missing combat sounds for the Suspensor Units and Ordos Chemical Trooper (finally).

1.9.4
Spoiler :
  • Spiritual Trait help text updated to include information on free great prophets when founding certain religions (thanks KHM for catching that)
  • Small fixes and balance to espionage mission difficulty/experience earned
  • Fixed Bene Gesseret 'Annex City' Crash
  • Collateral Damage for Grenade Troopers fixed
  • Fixed bug preventing city borders from popping Goody Huts
  • Desert Promo text/AI improvements - works on spice now
  • Thopters allowed to capture cities again (see GlobalDefines note below)
  • Several unbalanced unit costs fixed
  • Spice icons removed from general resource layer display (see GlobalDefines note below)
  • Special Spice layer in globe view
  • Siege units have special Drill Promo Line of their own (more potent, only three promos)
  • Standard Drill Promos moderately better than before
  • Civic Costs increased across the board by about 50% (experimental)
 
thopter's disabled from capturing cities/workers
Thopter's not being able to capture cities might be okay (don't like the change however) but not being able to capture workers is exploitable by the human player. A single worker could protect an entire stack of melee fighters. The AI, i'm afraid, won't be able to handle the change (and does not use workers as an offensive unit - but the human player surely will).
 
Nope, what that means is that instead of capturing workers it destroys them (what the AI does with all workers anyways, so no AI issues there :p). This is just the vanilla behaivor for the 'bCannotCapture' unitinfos tag and is the same rule that helicopters for instance follow in base BtS.

The discussion leading to this experimental change was in the 1.9 feedback thread starting on post #187. Note in the change log it says dependent on feedback by the way ;), and you might recall that I have reservations about it too. But please reserve judgement on it until you've played with it, I want to base the final decision on people's actual gameplay experience with it :).

Chris
 
Nope, what that means is that instead of capturing workers it destroys them
Well that is okay then. I misunderstood the behavior to be similar to a scout (could not enter the tile). You got me there. :p
 
For a next patch, the decription(s) of the trait "Religious" should include the fact that they get a Great Prophet when discovering a new religion. (Or the feature should be removed, but I wouldn't advise that).
 
Could we get some proper descriptions of Espionage related stuff (what different missions do and who have access to them for example)?

The present 'pedia entries on the matter aren't terribly helpful.
 
Chris, general impressions so far : The tech pace is noticably slower. IMHO, you did an outstanding job on balancing tech costs (IIRC the point was so that you didn't finish the tech tree on turn 250 and have nothing left to research for the last 250 turns or so).

Concerning thopters not being able to capture cities, the AI, as I feared, is not handling that change well. Several times, in a game I am still playing, the AI would have captured a city (instead of me - shared war) but could not. As a fact, during the entire game so far (~315 turns) only 1 city has changed hands between the AIs. I started with 4 cities and captured 11 (+ 1 vassal). I play on Emperor level so the AI has plenty of troops but they can't do anything with them. The tech pace is harder (which is good) but the combat challenge posed by the AI seems much easier now (compared to 1.9.3).
 
@ Little Faith

That's actually something that's been discussed since before I came on board recently and I know is sorely needed. I've got a few more espionage changes from some earlier discussions I have planned for 1.9.5, after which I'll write something up on this.

Chris, general impressions so far : The tech pace is noticably slower. IMHO, you did an outstanding job on balancing tech costs (IIRC the point was so that you didn't finish the tech tree on turn 250 and have nothing left to research for the last 250 turns or so).

I haven't actually touched any of the tech costs, those were all rebalanced by Deliverator as of 1.9 if I recall correctly, though I have pulled back some of the ways of getting ungodly sums of research in one mega city, which should be helping :).

I'm glad to get feedback on this as I play with tech trading off (always disliked it, too gamey), so it's hard to gauge how the pace is with it turned on.

Concerning thopters not being able to capture cities, the AI, as I feared, is not handling that change well. Several times, in a game I am still playing, the AI would have captured a city (instead of me - shared war) but could not. As a fact, during the entire game so far (~315 turns) only 1 city has changed hands between the AIs. I started with 4 cities and captured 11 (+ 1 vassal).

I haven't seen this issue myself, but I've been watching for and testing other things primarily. I have seen AI's taking cities and even wiping out other AI's in pretty much every game I've played, Monarch on standard sized Arrakis map script. I've been surprised several times to look at the score board and see that one of the parties in a war is down to just 1 or 2 cities. If they got a city onto the polar cap, it's usually the last to fall, but I've seen those taken as well.

However the issue with them clearing the city for you and letting you waltz in is not good...
 
Fixing the Axlotl Tanks

Having recently played my first Tleilaxu game up to the point where I could build the tanks, I find myself amazed no one has pointed out the issue I discovered. So, to start with, the way they are supposed to function is of course if you build, lets say, a bladesman, in a city with axlotl tanks and you already have a highly experienced bladesman somewhere, it will copy his experience/level/and promotions to the new unit, with a good chance one of the promotions will be lost in the process. Sounds good in theory right, army lead by highly leveled cloned commanders.

Well, the first few copies came off the line and it all looked good, so I stopped paying much attention to them for a while, focused on other things. Then I suddenly noticed one of the vulture thopters I made was Level 5, had 26 experience, and only one Promotion!, which means, he needs to get to 36 experience just to get a second promotoin! I started thinking that's not quite what David had in mind for them.

So What Went Wrong?

Without getting technical, the script looking for the best unit to copy only looked for the unit with the highest experience. If you have 5 units that all have the same experience (like all the clones would), it just picks the first of them in the loop.

When it takes a promotion away from a cloned unit, it wasn't compensating with a drop in experience and/or level to allow the cloned unit to make up for it. So now you have a lvl5 unit with only four promos.

If the next unit you build copies the previous copy and loses another promo, you have a lvl5 unit with only three promos. If he gets copied, you get a lvl5 unit with only 2 promos. So before I knew it, I was producing units far worse than what I'd get without the tanks.

The other issue with them is they take away your ability to specialize units to a degree since every unit is a clone. If you are cloning a unit with city raider promotions, you don't have the opportunity to create units with some other specialization through normal leveling. This should be part of the drawback of the building, but I didn't want it to be quite that rigid.

The New, Improved Tanks

With all of that in mind, I've completely rewritten the code for the axlotl tanks. The basic idea remains the same, just the mechanics are improved upon.

  • The code for finding the best unit is improved to look at more factors
  • The nature of the clone is more up in the air. In the books, gholas could be made to have different functions than the original, and could be quite different in ways unexpected by their creators.
  • To represent this, the number of promotions lost is more dynamic with how many promotions the original unit has.
  • Sometimes promotions are just 'lost' as before, but the level and experience will go down with it, so it's not harder to earn new promotions in combat.
  • Sometimes when promotions are lost, the clone gets to select a new promotion to replace it, allowing a measure of adaptability.
  • Both of these situations can happen in one clone, so it can lose one and get to select two promotions for instance.
  • It's still possible to have a perfect copy.

They should be much more interesting, useful, immersive, and less buggy ;). I'll look at updating the beta patch above today or tomorrow with this and a few other small tweaks and fixes I've done.
 
A quick note to say that I've mostly fixed/remerged the Inquisitors code for this 1.9.4 patch. Just need to get the Inquisitors AI working then I'll upload the files.

Also, I'll have a look if something can be done about the Sandstorm graphic that isn't showing up on some systems and maybe the Python code for controlling them that doesn't work terribly well with the Arrakis mapscript.
 
Hey Deliverator, that's great news. If you send me the files when you're ready I can add it to what I have and release it all together. Something else I wanted to ask you about, I know you tried several things for fixing the transport AI and had infinite loop problems. Could you point me to what you've tried, I'd like to take a look at that for a future patch.

Thanks Iain
Chris
 
Fixing the Axlotl Tanks

Having recently played my first Tleilaxu game up to the point where I could build the tanks, I find myself amazed no one has pointed out the issue I discovered.

There was debate about this several years ago in this thread. Some people felt it is better, if each subsequent clone is actually worse. This seems to match the book lore, where a copy is likely to be insane and a copy of a copy is more likely to be insane. There was also a question about whether more than one copy should even be allowed; in the *Herbert* books this never happens but in the *Anderson* books there is a scene with a whole bunch of clones.

One of the other designers Ahriman felt that we should have an "immortality" promotion instead of the current tank approach. So there are many possibilities.

In my view, reducing the number of promotions while keeping the experience level same, matches the concept of "imperfect clones" pretty well. It should not be a way to turn out a reliable stream of expert level units.
 
I definitely see the point, but the thopter example I gave shouldn't be happening, you might as well never build an axlotl tank if that's a common result of using them. Since the unit already is high level, but has no promotions to show for it, it's screwed in terms of ever getting any other promotions. And since there's no way to 'turn off' the use of the axlotl tanks, they can't have that kind of very bad drawback, not if it's something that should be usable and fun for gameplay. Same thing with giving no adaptability. It's not terribly useful in most cases if after you build the tanks every unit you build of that type has the exact same promotions.

I recall reading the immortality discussions and thought about it, but it has some oddities in how it would work in game compared to what the tanks should be doing. An early game unit that levels up through many battles and would be a good candidate for receiving such 'immortality' would never be eligible because he was built before axlotl tanks. Why should that matter, or why should it matter for any unit if it was built in a city with axlotl tanks or not? It shouldn't.

Instead, I've worked it out where it's highly likely you won't be getting perfect/near perfect copies of really high level units. But still rarely possible. The more promotions they have to potentially pass on, the more of them probabilistically will be lost in the process. So you get better units than you would without the axlotl tanks assuming you have a good unit of that type to copy from, but you aren't guaranteed a super army just because you attached a great general to one shieldfighter. I've also put in a list of promotions that can't be passed on, mostly things like 'HomeGround', but 'Leader' is also blocked so you can't clone an army with free upgrades ;).

We can also do things like prevent cloned units from being cloned and add limits to how many clones of a unit there can be, but it's important to keep enough simplicity to the system where we don't need a textbook to understand what it does or if we should build them in a city or not.
 
Building axlotl tanks, currently, is wasted hammers. I play Dune Wars because of the settings but at the end of the day, useful beats flavor. Oh, and winning. Also, IIRC once built, the axlotl tank will keep cloning the same unit and if a higher promoted unit moves to that city, the old lower level unit is the one that gets cloned. It is possible I didn't do it right but the process was totally confusing and after one time I never built them again.
 
An early game unit that levels up through many battles and would be a good candidate for receiving such 'immortality' would never be eligible because he was built before axlotl tanks. Why should that matter, or why should it matter for any unit if it was built in a city with axlotl tanks or not? It shouldn't.

In the books, you take genetic material from the person, pay the Tleilax a huge amount of money, and hope to get one sane copy. If a previous high level unit has died before the tech was invented, there is no way to get the genetic material. If that unit has not died and it is the highest level of that unit type, then it will be selected. It does not matter in which city the unit was built. So perhaps I do not understand the first part of your comment.

If there is no tank in the city, there is no way to grow the unit. That is why this cloning only happens in cities which have the tanks.

The original intention was that as you make more copies, the copies should have the same experience level, but some of the promotions "failed to take". That should not make it possible to pick other promotions or to gain promotions more easily. Your suggestion makes the tank more powerful and more fun, but I feel it removes some of the flavor.

In case you build many units the copies may be so bad, it is no longer worth it because a fresh unit would have more promotions and could get further promotions more easily. For these cities, there is no way to build an "uncloned" unit. This is a case I had not considered, but you are right. So there is definitely some room for improvement; I hope we can find something better which still keeps the flavor of uncertain sanity.
 
In the books, you take genetic material from the person, pay the Tleilax a huge amount of money, and hope to get one sane copy. If a previous high level unit has died before the tech was invented, there is no way to get the genetic material. If that unit has not died and it is the highest level of that unit type, then it will be selected. It does not matter in which city the unit was built. So perhaps I do not understand the first part of your comment.

I'd assumed the suggestion was a FfH style immortality where the unit built in a city with axlotl tanks would get a promotion that would 'resurrect' it when killed. It's been a while since I looked over those threads, so I don't know if this assumption is correct.

The original intention was that as you make more copies, the copies should have the same experience level, but some of the promotions "failed to take". That should not make it possible to pick other promotions or to gain promotions more easily. Your suggestion makes the tank more powerful and more fun, but I feel it removes some of the flavor.

yep, I can see one promo being lost without losing a level to compensate like you've got it setup originally being ok, and I can add that as a possibility in the code, but more than that degrades the usefulness too much, as you're better off without building the tanks. The worst problem was that it was picking the clones instead of the original with each successive unit built, causing it to get worse and worse.

I really created the new code trying to keep the same idea that clones usually lose something in translation so to speak, but avoiding the cascading degredation. I'd assumed the lack of experience/level compensation, especially the way it cascaded units into uselessness, was unintentional.

I also found that in gameplay terms the complete inability to 're-type cast'(pick alternative promo lines) clones so to speak too rigid as it took away any ability to specialize in different directions once you started building axlotl tanks, hence the chance for some promotions to be 're-pickable'. I think it has a good feel in game. Without this, again, it's too punishing/restricting to the player and they'll just avoid building them.

I do agree that endlessly cloning the same unit doesn't match the use in the books quite right (I don't really count anything from his son as counting :mischief:), but I haven't thought of a good alternative that wouldn't be confusing to the user and fun for gameplay.

Now, an alternative implementation is another type of 'immortality' from what I assumed earlier, where we store an array of killed unit's for each unitclass saving the promotions and experience/level of them. The array is ordered, so that if we lost a very good shieldfighter, he goes to the top of the 'shieldfighter' list of clone-ables, and the next shieldfighter built in a city with axlotl tanks clones him, and he's removed from the list.

Not only would coding this be a pain, I don't think it would have enough utility for players to really feel the gameplay impact in most games, but it'd also be horribly opaque since the player would have no idea of what units might be in the 'que' for each unit type, except maybe if you just lost a high level general. I'd be very much in line with lore, but wouldn't impact gameplay enough. Most of the time the axlotl tanks would just be sitting there doing nothing, and you'd only need them really in one city, period.

Building axlotl tanks, currently, is wasted hammers. I play Dune Wars because of the settings but at the end of the day, useful beats flavor. Oh, and winning. Also, IIRC once built, the axlotl tank will keep cloning the same unit and if a higher promoted unit moves to that city, the old lower level unit is the one that gets cloned. It is possible I didn't do it right but the process was totally confusing and after one time I never built them again.

It doesn't look at who's in the city, it just picks the unit of the same unit type you are building with the highest exp to clone, regardless of where he is. Ideally there's little 'doing it right' you need to do. If you have a highly experienced bladesman somewhere, an axlotl tank in a city, and you build a new bladesman in said city, it creates a clone of said high level unit :). But this is the kind of confusion I'd like to avoid with a simple mechanic and some well written help text.
 
Find attached a patch for 1.9.4 Beta1. Old-fashioned zip file format. :)

+ Inquisitors reinstated and can be used to purge non-state religions from cities. (The unit AI is working fine whether the production AI python works I haven't tested, but everything is at least as good as it was in 1.9.)

+ Fixed the Sandstorm visibility issue - this was due to the fact that the Python to redraw the sandstorm effect got lost in the 1.9.1 Better BUG AI rebuild.

+ Changed the Sandstorm movement code so they move roughly in an inward anti-clockwise spiral.

+ Sandstorms are now more prevalent - the amount is now calculated based on the number of ocean tiles rather than all map tiles. If there are now too many then it is simply a question of increasing the 25 in this line from DuneWars.py, StormAddSubtract function.

+ Sandstorms now die after entering Polar Desert Waste.

Code:
iStormWant = (len(self.lOcean) / 25) - len(lStorms)

+ Thopter units now only have a 10% chance of surviving Sandstorms

+ Fixed missing combat sounds for the Suspensor Units and Ordos Chemical Trooper (finally).

Another few loose-ends tidied up...
 

Attachments

  • dune-wars-1-9-4-beta-deliverator-patch.zip
    229.7 KB · Views: 128
Sweet :goodjob:

I'll test this out this afternoon, then bundle it together with a few small changes I've got and upload an updated beta2 today or tomorrow.

edit: The new storms work great. Only issue is there needs to be a check if the plot is visible to the player, they are being drawn even in unexplored plots.

I've also had an idea on how to create larger storms. I haven't looked at the code to see how possible this approach is, so bear with me. Right now you've got a bunch of individual storms that move each turn and persist until something causes them to break up. Now if you pick one of those individual storms every once in a while to use as the 'center' of a larger storm, it continues to do it's thing just like it currently does. But each turn we spawn several 'temporary' storms around that center which dissipate at the end of the turn and reform, again in random tiles surrounding the center each turn. The 'temporary' outer storms wouldn't be allowed to spawn on land, and once the central storm entered land, it would degrade to a normal single tile storm.
 
Top Bottom