Final School Project - Emulating Time / Clock via a working chess game

Hi,

For my Final Project we need to showcase time using some random indirect way. My thought was having a 48 move chess game playing thus a move would happen every 30 minutes.

I am currently struggling with Blueprint classes and how to properly place the chess pieces on teh board.

I bought an asset (nothing to expensive) off of the market place which has a chess board and all the pieces.

What is the optimal way of placing and moving the chess pieces using blueprint?

i’ve thought of:

  1. putting hte chess board with appropriate scale in the world and placing target entities on each field and also placing each chess piece individually.
    then i would move the chess pieces to each target via a motion of going up then move the target and going back down.
  2. Somehow create a chesspiece class and a chessboard class. The chessboard class would ideally generate all positions and chess pieces dynamically. By reading the mesh and then getting the relative positions.

Any tips on this would be amazing. Maybe a youtube series i could follow on how to read in meshes and get positions off of that or something like that.

If you need any other information please let me know.

thank you

Hello @Pot4t0 !

Sound interesting let me help you. First of all lest split the responsibilities.
I would like to start with:

Piece (Actor):
Responsabilities

  • Know his current location
  • Know how its move
  • I am in game?

Chessboard (Actor)
Responsabilities

  • Knows the size of the board
  • Has a logic array of two dimensions of Sqaure Data (See below). This will help to know if a piece is in a location or not.
  • Know the “id” position of each chess piece
  • Know if a Square is occuppied or not.

Square Data (Struct):

  • Piece* > Pointer to know which piece is ocupping this
  • Location: X, Y, Z > To know the location of the world for this square

ChessManager (Actor or Info)

  • Something to deside the next move. Can be simple or complex if you want to add meaning to the plays.

The flow will be the next:
1 - ChessManager decide the piece and the Move to do. Searching the availables pieces moves.
2 - Chesboard validates if the movement is valid (if there is other piece blocking the current piece )
3 - If everything is valid you move the piece. Getting the positions and updating the chesboard data.