def METHOD_NAME(width, height):
    board = [E * x + S * y + (y % 2) for y in range(height) for x in range(width)]
    cti = dict((board[i], i) for i in range(len(board)))
    # Incremental direction offsets
    idos = [
        [E, E, E, SE],
        [SE, SW, W, SW],
        [W, W, SW, SE],
        [E, E, SW, SE],
        [NW, W, NW, SE, SW],
        [E, E, NE, W],
        [NW, NE, NE, W],
        [NE, SE, E, NE],
        [SE, SE, E, SE],
        [E, NW, NW, NW],
    ]
    # Restrict piece 4
    perms = (permute(p, idos[3]) for p in idos)
    pieces = [[convert(pp) for pp in p] for p in perms]
    return (board, cti, pieces)