<p>I'm working on a simple multiplayer game in which 2-4 players are placed at separate entrypoints in a maze and need to reach a goal point.  Generating a maze in general is very easy, but in this case the goal of the game is to reach the goal before everyone else and I don't want the generation algorithm to drastically favor one player over others.</p>

<p>So I'm looking for a maze generation algorithm where the optimal path for each player from the startpoint to the goal is no more than 10% more steps than the average path.  This way the players are on more or less an equal playing field.  Can anyone think up such an algorithm?</p>

<p>(I've got one idea as it stands, but it's not well thought out and seems far less than optimal -- I'll post it as an answer.)</p>

The easiest solution I can come up with is to randomly generate an entire maze like normal, then randomly pick the goal point and player startpoints.  Once this is done, calculate the shortest path from each startpoint to the goal.  Find the average and start 'smoothing' (remove/move barriers -- don't know how this will work) the paths that are significantly above it, until all of the paths are within the proper margin.  In addition, it could be possible to take the ones that are significantly below the average and insert additional barriers.