Duncan was born in Newport-on-Tay, Scotland and was educated at the High School of Dundee before studying geology at the University of St Andrews. After graduating in 1955, he moved to Calgary, Alberta, becoming a Canadian citizen in 1960. He pursued a career as a geologist in the petroleum industry for nearly three decades before he started writing science fiction and fantasy novels. He made his first sale ("A Rose Red City") two years later in 1986 at the age of 53, just two weeks after his 31-year career as a geologist came to an end due to a slump in the oil business, at which point he switched to full-time writing.