[BTS] Disabling entire AI

Elassint

Chieftain
Joined
Jan 26, 2008
Messages
9
After thirteen (13) years of fighting against constant crashes on hotseat, I have given up on it entirely and permanently. No matter what the specifics, it will crash sooner or later and a game will never finish. All my efforts to fix it have come to naught: my post here 5 years ago never got a response, neither did a post on reddit, official patches did not fix the problem, and when I dug deep to find a fix all I found was a trojan. Doesn't matter if I was running on vanilla in 2005 on a three player duel map or on a huge map or whatever.

However, the Revolution DCM mod, which I've been using for a long time, has a perfectly stable ChangePlayer system. I can change what civ I am at any time. I've never once had this feature cause a crash. If I can disable the AI, I could simulate a hotseat game just by changing players all the time. The only flaw with that plan is that the AI will take over all inactive players during the active player's turn - meaning that two strong allies may suddenly find themselves at war thanks to the AI's own wrongheaded prejudices, or a deal that both approve of is wrongfully rejected, or worst of all production in a city is replaced with the wrong project or unit between turns.

I want the replace the AI with a husk that will accept everything you throw at it. If a player wants to give a city as a gift to another player for some weird reason, this should be allowed regardless of the AI's rational calculations. The AI should not be able to found its first city or move a worker out of the way of a barbarian, those are the player's responsibility.

The only flaw with this plan is that single player will become unplayable every time I have the AI disabled/severely handicapped/locked out and will have to swap out game files every time I want to switch from improvised hotseat to single player.
 
There is a high risk that the crashes are due to code, which humans can interact with as well. If that is the case, then completely removing the AI will not help.

What you really should do in regards to stability issues is to compile a debug DLL and then run the game in a debugger. Whenever it crashes, you will be informed of which line it crashes in and what caused the crash. Sometimes this is enough to fix the problem right away and sometimes it can take some investigation. It's more complex than xml editing, but I suspect it's not as complex as completely disabling the AI.
 
There is a high risk that the crashes are due to code, which humans can interact with as well. If that is the case, then completely removing the AI will not help.

What you really should do in regards to stability issues is to compile a debug DLL and then run the game in a debugger. Whenever it crashes, you will be informed of which line it crashes in and what caused the crash. Sometimes this is enough to fix the problem right away and sometimes it can take some investigation. It's more complex than xml editing, but I suspect it's not as complex as completely disabling the AI.
Problem is, I've had zero stability issues in single player, which is why I believe that it's something specifically wrong with the built in hotseat mode.
 
Ok, now you got me interested. It's the first time I hear about problems with hotseat games, though admittedly I'm not sure it's widely used. I would recommend using direct IP connection in a network as it allows all players to take their turn at the same time and diplomacy is done by having both players using the diplomacy screen at the same time, meaning it really is negotiating. It works on LAN as well as over the internet. The tradeoff is needing one computer for each player and the possible issue of mods not syncing games correctly (this is fixable).

If you want, you can use the multiple command line argument to run more than one instance of civ4 and have those two connect to each other using a direct IP connection on a very local LAN. Works for any version of civ4, including colo. It will require a somewhat more powerful computer as both instances have to make the calculations. A big screen is also recommended. This approach is mainly for debugging network issues, but can be used for regular play if you like.

However if you insist on using hotseat, then it better work. It doesn't have the network game issue of syncing data, meaning the problem must be something else. Have you noticed a pattern in the crashes? I mean like is it always when switching player, or during AI turn or something else. Worst case is if they seem completely random.
 
Ok, now you got me interested. It's the first time I hear about problems with hotseat games, though admittedly I'm not sure it's widely used. I would recommend using direct IP connection in a network as it allows all players to take their turn at the same time and diplomacy is done by having both players using the diplomacy screen at the same time, meaning it really is negotiating. It works on LAN as well as over the internet. The tradeoff is needing one computer for each player and the possible issue of mods not syncing games correctly (this is fixable).

If you want, you can use the multiple command line argument to run more than one instance of civ4 and have those two connect to each other using a direct IP connection on a very local LAN. Works for any version of civ4, including colo. It will require a somewhat more powerful computer as both instances have to make the calculations. A big screen is also recommended. This approach is mainly for debugging network issues, but can be used for regular play if you like.

However if you insist on using hotseat, then it better work. It doesn't have the network game issue of syncing data, meaning the problem must be something else. Have you noticed a pattern in the crashes? I mean like is it always when switching player, or during AI turn or something else. Worst case is if they seem completely random.

Network games are not feasible for my situation. Crashes always occur when switching player, and they are far more likely when more resources are used. A game can keep itself running, although with some bumps in the road, until it hits a wall when things are getting larger scale.
 
Elassint, as I understood, you play hotseat on RevolutionDCM. Did you tried to disable specific python options like Revolutions or Barbarian civs. RevDCM was created as a singleplayer mod and playing it I faced with hotseat problems. It's a way to turn on debug mode, play single and switch between civs using ALT+Z and SHIFT+ALT+Z.
 
Back
Top Bottom