- Aug 12, 2006
You are correct in your understanding.I got an idea about stacking overflow. If you put a tank into the queue and disconnect oil then all hammers go to overflow, right? Never done it myself but hammers should not just vanish. So the exploit is: put a unit in the queue, lose the resource, next turn regain the recource, repeat.
Edit: I've just tested it. Works as I decribed. This way one can easily one-turn anything, no wonder its banned.
Some thoughts on how it might be corrected in the code:
1. You simply lose the Hammers, since there was an invalid-to-build build item in your build queue. This approach seems to be what was used in Vanilla when a captured City first comes out of Revolt, where, if you don't select an item in your build queue, you don't get the Hammers from your first turn out of Revolt.
2. You get the Hammers, but the game automatically selects a build item on your behalf, much how the game will automatically dump Flasks into a Tech if you haven't selected a Tech by the end of your turn. Note that for the first 5 turns of the game, you can get around this enforced Flask-spending by unselecting your Tech selection, but as soon as you end your turn with a Tech selected or you reach Turn 5, whichever comes first, the game will start automatically dumping Flasks into a Tech on your behalf when you end your turn without a Tech being selected.
3. You get the Hammers and the game forces you to choose a build item before you can end your turn. Implementing such a check would probably affect the performance of the game for every game that you play, on every turn, even in games where you don't encounter this situation, and when you do encounter this situation, this check might need to be repeated each time that you try to end your turn with an invalid selection at the start of a build queue, and thus such a fix might come with noticeable a performance cost.
Good luck with playing Hall Of Fame games! A few newbie pointers:
i. When creating a Single Player -> Custom Game, double-check that the Lock Modified Assets option is enabled. I even uncheckmark it and recheckmark it before each new game since I find that when I switch between BtS BUFFY Mod versions, sometimes the options can appear to be checkmarked but aren't really set for that version of the BUFFY Mod. Another handy way to check is to save a game with the settings that you want and have the saved game's settings get checked for validity with the Hall Of Fame by uploading it to the Start Saved Game Checker page.
ii. Ensure that you save a copy of your Turn 0 saved game before moving any of your Units, as you'll need to submit it as part of any valid submission. If you don't manually save your game, you don't use MapFinder to save your game, and you don't enable the BUFFY Mod's "Create Starting Save" option on the BUFFY Option's General tab, and instead you just rely on an Autosave existing, make sure to copy your first-turn Autosave somewhere before it gets overwritten by your next game. Personally, I recommend one of the first three options, either manually saving the game, using MapFinder to save the game, or using the BUFFY Mod to save the game.
iii. Watch out for subtle, but invalid settings on the Rules page, such as using a disallowed type of World Wrap setting, or accidentally uncheckmarking any of the Victory Conditions. Again, using the starting-saved-game checker from point i. above will help.
iv. Spend the time to set up MapFinder. Although some people use it to generate hundreds of maps and then pick from them, I find that process to be tedious, as it takes away from playing time. But, I will use MapFinder's Regenerate Map hotkeys of Ctrl + Alt + g to Regenerate a map and then add the Shift key, i.e. Ctrl + Alt + Shift + g, to stop generating maps, which allows me to quickly visually reject a starting area and regenerate a map a few times, then start playing. It may take a bit of playing around for figure out the best timing values to set for the Regenerate Delay, Skip Delay, and Save Delay values in the Mod's Options (Ctrl + Alt + o -> Map tab), since each computer will have slightly different amounts of lag, but this bit of effort will save you some frustration and should increase your playing time on maps that you feel are sufficiently reasonable to play.
v. Before launching Civ 4, it is a wise idea to customize your CivilizationIV.ini file, which is probably found in \My Documents\My Games\Beyond the Sword, with these values:
MaxAutoSaves = 0
AutoSaveInterval = 1
The first option means that the game won't delete autosaved games after you've played a few turns. The second option means that the game will autosave the game at the start of every turn. While the policy for dealing with game crashes is pretty strict, if it does happen to you, you're going to be totally out of luck if you only have an autosaved game from 3 turns ago.
vi. To reduce the amount of crashes that you experience, especially if you play in Windowed mode, regularly open up (Windows) Task Manager, then select the game window, which seems (at least on Windows 7) to reset the paged memory being used by the game and may temporarily boost the performance of your game. You may have to explicitly click on the title of the Task Manager window just to bring it into focus in order for the memory-resetting process to properly work. I find that I have to close Task Manager before I repeat the tactic.
EDIT: Also, I think that it is a good practice to manually save your game before you open up Task Manager, just in case, while clicking around in different windows, you accidentally close the Civ 4 window. I got burned that way once, so now I take the extra time to manually save my game first before opening Task Manager.
vii. Again, on the issue of crashes, if your computer has a decent amount of RAM, look into using Radeon RAMDisk, which has a free version for up to about 4 GB of RAM, which is more than enough to fit all of the game's expansions and some of its Mods, as well as the BUFFY Mod (for Beyond the Sword) and the HOF Mods (for Vanilla and Warlords). Running the game from RAM will speed up performance, but it's only really workable if your computer already has a decent amount of RAM. If you have less than 8 GB of RAM, forget it.