The question is, did Hannibal ever have a chance of winning, and did he know this?
There were many bright plans in history that were part of operations that were doomed right from the beginning. I could now say, did he make the best of the options he had? He knew that the... damn, do not know the english word for them... in Carthage were a source of constant grief to the Barca family and to all military operations.
Hannibal was romanticized later on, as was Alexander. Up to the extent of fighting for liberty and free trade against the Roman oppression and such things.
Did he see his only chance in winning against Rome or was he simply not able to adapt to a delaying strategy against Rome. It is too bad that all his victories finally ended in a lost war for Carthage. His father was a great leader, too, but even he had problems with the Romans.
In a fair fight on equal terms, Hannibal would win. If history is not adjusted to make him greater than he was, to cover inept Roman leadership. But I think he was really great, he just had too much success attributed to him that this all can be exaggeration.
The Roman state probably did not have a Hannibal, but it was too much for a single genius and his men to stop. Hannibal fought his whole live against the Romans, but he always lost in the end until his suicide.
There are never even terms on a battlefield, there is no chessboard with equal opportunities for everyone. Maybe Hannibal did not accept the fact that he could not beat this enemy with the material given to him.
Alexander probably fought corrupt Satraps with little coordination, really not an enemy as strong as Rome. But success is a judge of its own, according to that I would value him higher. He also had a fair share of military innovation and tactics, the macedonian Sarissa e.g., a superheavy spear weapon for tearing up the classical phalanx.
I argument he could not show all his genius because his enemies could be defeated with half of his wits.
Anyway, we can probably replay the Campaigns of both, or at least of Hannibal (Alexander probably falls out of the time frame of ROME), in Rome: Total War.
