public static int getTerrainFactor(Game game, Position position) {
    // cities overrule underlying terrain
    if ( game.getCityAt(position) != null ) { return 3; }
    Tile t = game.getTileAt(position);
    if ( t.getTypeString() == GameConstants.FOREST ||
        t.getTypeString() == GameConstants.HILLS ) {
      return 2;
    } 
    return 1;
  }