Why do battles cost so much Ambrosia?

There are a few things to keep in mind in order to reduce your Ambrosia costs:

Travel distance increases Ambrosia costs. The further two islands are away from each other, the more Ambrosia it will cost to travel between them. Travelling between different island areas is even more expensive.

Each Hero moves independently. Make sure you are using the right Hero when selecting an island by either using the drag & drop feature or by cycling through the Heroes with the arrow buttons just before entering a battle. The game automatically selects the Hero which is currently closest to the island but sometimes you might want to choose another Hero.

Plan your route instead of attacking islands randomly. You can strategically plan in which order to attack multiple islands. Choose on which island you want your Hero to end up at the end and then find out which route is the most efficient to get there.

Spread your Heroes around the map. Avoid having your Heroes all in one place. If you have different Heroes in different areas, you can actually save Ambrosia costs because you won't have to travel huge distances across the map.

Build a strong defense. If you lose an island which was protected by a Hero, this Hero will be sent back to Mount Olympus. Travelling back to where he was before usually costs a lot of Ambrosia. Having a strong defense which is regularly upgraded reduces the chances of this happening.