Setting up piece caching Defining piece move direction Pre-computing viable moves Displaying piece movement