The Foundation of Game Play Loop: The JavaFX Pulse System and the Game Processing Architecture
Now that you have created the top-level UI screens needed for your user to learn how to play the game, start the game, view high scores, and review the legal disclaimers and Ira H. Harrison Rubin's InvinciBagel intellectual property production credits, let's get down to business and create the game play timing loop for your InvinciBagel game. This is of the greatest importance from a user experience standpoint, and is also critical to the proper functioning of the different game engines that you will be creating over the course of the remainder of this book, including the sprite engine, collision detection engine, animation engine, scoring engine, and physics engine. You will always keep smoothness of game play in mind; the efficient, optimal implementation of the JavaFX pulse system is of paramount importance at this stage of the game (no pun intended). For this reason, I will be going into great detail in this chapter regarding the javafx.animation package, and how all of its functional classes differ from each other.