I'm spamming this solution into a couple of threads that popped up when I was looking for how to make Hard singleplayer tournaments less hard.
1. Editing the game is normally done via the bindata/mods folder. However, those mods are not loaded for the singleplayer tournament games. They take their instructions from the unmodded dgdata.zip.
2. Editing dgdata.zip (as the OP suggests) leads to the game not running. This is because the game checks to make sure it's got the dgdata.zip that it's expecting. This check did not exist in the beta version of the game, which explains posts like this and the OP.
3. Therefore, you need to change that check after you edit the files. See Peppe's excellent thread on the subject. Don't be put off by the hex editor aspect; this is doable by anyone.
There's a load of things you could edit. Unfortunately, Peppe's AI Skirmish mod is the only one I've found that has a tournament version and the download link is broken. So adding in AI fixes etc. has to be done manually, if you want them. Just copy the files from the mod's hook folder into your renamed dgdata.zip (remember to make sure they're in the correct folder/sub-folder).
The key thing though, if like me you found Normal tournaments too easy and Hard ones too difficult, is to modify 2 files in that renamed dgdata.zip.
lua/ui/sp/TournamentUtilities.lua. This is the one that sets the difficulty levels of the AI units on each side. As you may have noted from singleplayer skirmish, the difference in difficulty (in terms of intelligence) isn't huge there, but in tournies the difference between the difficulties is massive. That's because the unit difficulty is, in tournies, also used to assign XP & gold multipliers (see game.lua). Note that these multipliers also apply to you, so unfortunately it's not possible to just give the bonuses to all AIs, friend & foe, and not also give it to yourself. This effectively leads to you using higher difficulty AI for the enemy team than yours to try to give their side a bonus.
The defaults are as below (where 1 is easy and 4 is nightmare). Note that in Normal you & your AI were getting Hard bonuses, whereas the enemy AI was getting Normal bonuses (i.e. none). It's the reversal of this position that makes the difference between Normal (where your buddies will win even if you do nothing) and Hard so stark.
I've added suggested changes, based on almost zero testing, in square brackets after the actual numbers:
# Set difficulty for each slot based on rules
# On Easy -> Player team mates are nightmare; Enemy are easy
# On Normal -> Player team mates are hard; Enemy are normal
# On Hard -> Player team mates are normal; Enemy are hard
# On Nightmare -> Player team mates are normal; Enemy are nightmare
if tournamentHistory.Difficulty == 'Easy' then
for demigodName,demigodData in playerTeam do
demigodData.Difficulty = 4[3]
end
for demigodName,demigodData in enemyTeam do
demigodData.Difficulty = 1[2]
end
elseif tournamentHistory.Difficulty == 'Normal' then
for demigodName,demigodData in playerTeam do
demigodData.Difficulty = 3[3]
end
for demigodName,demigodData in enemyTeam do
demigodData.Difficulty = 2[3]
end
elseif tournamentHistory.Difficulty == 'Hard' then
for demigodName,demigodData in playerTeam do
demigodData.Difficulty = 2[3]
end
for demigodName,demigodData in enemyTeam do
demigodData.Difficulty = 3[4]
end
elseif tournamentHistory.Difficulty == 'Nightmare' then
for demigodName,demigodData in playerTeam do
demigodData.Difficulty = 2[2]
end
for demigodName,demigodData in enemyTeam do
demigodData.Difficulty = 4[4]
lua/game.lua. This is the one where the modifiers are applied. The important ones are the earnt gold, the earnt XP and the starting gold multipliers. Remember, these multipliers will apply to you as well, which sucks as it's therefore not possible to beef up your own AI without also beefing you up.
As before, suggested values based on almost no testing are in square brackets. There aren't actually any values for the Normal multipliers, but I've added in what the game will be using. I also removed the limit on the favour items.
# Difficuly handicaps for the three different AI difficulty levels
DifficultyHandicaps = {
# Easy
{
GoldMultiplier = 0.75[0.75],
ExpMultiplier = 0.75[0.75],
StartingGold = 0.5[0.75],
MinPoints = 0[450], # MinPoints and MaxPoints is the range of points the AI is allowed to spend on an achievement item
MaxPoints = 150[10000],
},
# Normal
{ GoldMultiplier = 1.0[0.75],
ExpMultiplier = 1.0[0.75],
StartingGold = 1.0[0.75],
MinPoints = 150[450],
MaxPoints = 300[10000],
},
# Hard
{
GoldMultiplier = 1.5[1.0],
ExpMultiplier = 1.5[1.0],
StartingGold = 2.0[1.0],
MinPoints = 300[450],
MaxPoints = 450[10000],
},
# Nightmare
{
GoldMultiplier = 2.0[1.5],
ExpMultiplier = 2.0[1.5],
StartingGold = 4.0[1.5],
MinPoints = 450,
MaxPoints = 10000,