Please help creating an chess board image based on description

New here, so please be easy on me…:slight_smile:
I try to create a simple image of a chess board layout. what ever I try, I cannot get Dalle-3 to generate a simple image of an official chess board. Even the basic prompt: “generate a drawing of an official chess board game” is not working at all’ as I get a very free-spirit image. Thanks a lot!

I tried this and noticed AI is overinterpreting my prompt.

My Results:

Generate a digital illustration of an empty chessboard, ensuring no chess pieces are present. The image should be a top-down, flat view to display the chessboard's 8x8 grid with alternating light and dark squares clearly. Emphasize the absence of chess pieces and focus solely on the detailed texture and colours of the empty squares and the board itself. The perspective should be perfectly orthogonal, with a direct overhead angle, to present all squares as equal in size and shape. The lighting should be uniform, without any shadows or highlights that might suggest the presence of chess pieces. The background should be plain or nonexistent to keep the entire focus on the intricacy and simplicity of the empty chessboard

Create a highly detailed, realistic image of an empty chessboard viewed from the top down. The board should have the standard 8x8 grid, alternating light and dark squares, without any chess pieces on it. The perspective should be directly overhead, ensuring all squares are visible and equally sized. The texture of the wood (or material) should be visible, adding to the realism of the board. The lighting should be even, without casting any shadows on the board, to clearly distinguish the colour of each square. Please ensure the edges of the board are sharp and the background is neutral, focusing attention solely on the chessboard.

Thanks so much for your efforts. I had the same issue - the prompt I submitted here was just one of many I tried. In all cases I couldn’t get the simple 8X8 chess board layout. Is it a bug? should be a very simple task for AI…:slight_smile:

Also, I don’t understand why I need to give very detailed insdtructions. Shouldn’t AI know what chess board looks like?

Has anyone been able to resolve this? I also keep having the same issue generating chess board images with DallE. It generates incorrect chessboard with too many pieces.

I have tried it in different like Dalle, Google, other OpenSource AI and all of them struggles

OpenAI


Google

I had ChatGPT Plus use python code interpreter to make a game board with pieces in starting position:

Here’s the code after a few turns of chat making revisions, that you can pass into another chat, specifically telling the AI to send code to python after you or AI make what changes you want.

import matplotlib.pyplot as plt
import numpy as np

def create_chessboard() -> np.ndarray:
    """
    Creates an 8x8 chessboard pattern using 20% and 30% gray for tiles.

    Returns:
        np.ndarray: An 8x8 array representing the chessboard, with 0.2 for 20% gray and 0.3 for 30% gray tiles.
    """
    chessboard_colors = np.full((8, 8), 0.3)  # All tiles start as 30% gray
    chessboard_colors[1::2, ::2] = 0.2  # Set alternating tiles to 20% gray
    chessboard_colors[::2, 1::2] = 0.2  # Set alternating tiles to 20% gray
    return chessboard_colors

def plot_chessboard(chessboard_colors: np.ndarray) -> None:
    """
    Plots the chessboard with pieces on it.

    Args:
        chessboard_colors (np.ndarray): An 8x8 array representing the colors of the chessboard tiles.
    """
    plt.figure(figsize=(8, 8))
    # Display the chessboard with explicit vmin and vmax for correct grayscale display
    plt.imshow(chessboard_colors, cmap='gray', interpolation='nearest', vmin=0, vmax=1)

    # Annotate the chess pieces on the board
    for y in range(8):
        for x in range(8):
            piece = starting_positions[y][x]
            if piece:
                plt.text(x, y, pieces_unicode[piece], fontsize=30, ha='center', va='center', color='black')

    # Remove axis ticks and box
    plt.xticks([])
    plt.yticks([])
    plt.box(False)
    plt.show()

# Chess pieces represented by Unicode characters
pieces_unicode = {
    "R": "♜", "N": "♞", "B": "♝", "Q": "♛", "K": "♚", "P": "♟",
    "r": "♖", "n": "♘", "b": "♗", "q": "♕", "k": "♔", "p": "♙"
}

# Starting positions for the pieces on a chessboard
starting_positions = [
    ["R", "N", "B", "Q", "K", "B", "N", "R"],
    ["P", "P", "P", "P", "P", "P", "P", "P"],
    ["", "", "", "", "", "", "", ""],
    ["", "", "", "", "", "", "", ""],
    ["", "", "", "", "", "", "", ""],
    ["", "", "", "", "", "", "", ""],
    ["p", "p", "p", "p", "p", "p", "p", "p"],
    ["r", "n", "b", "q", "k", "b", "n", "r"]
]

# Main Execution
if __name__ == "__main__":
    # Create and plot the chessboard
    chessboard_colors = create_chessboard()
    plot_chessboard(chessboard_colors)
2 Likes

No, it’s not for the AI. Chat GPT 4 has experienced steep decline in quality. Well, for mathematical and arithmetical calculations… it’s not that simple… sometimes it is right, but more often than not, it does not understand and just ‘tries its best’. It’s not a bug. It’s inherent in the program… Check other threads too, OpenAI downgraded their system for worse.

You have to manually ‘code’/design/draw and place your line/placeholder to create a perfect 8x8 chess board. Then fill in the details… Don’t expect the AI to fill in everything…

1 Like

I wonder why that is given there are so many training images available online …

Currently, the issue with generative images is that they cannot observe and validate (CounterCurate) what they have generated. DALL·E 3 is built upon a transformer-based architecture. In simple terms, it converts noise into stunning AI images based on a defined prompt. (But the process is not that simple).

This does not mean training data also do have, we can only assume it have. The issue with this that it cannot generate images of an empty chessboard because the training datasets mostly contain chessboards with pieces, also it can not logically condition generated image is it logically or technically correct. I expect it will have built-in CounterCurate in upcoming versions.

Explore more :point_down: