## 3 Materials and Methods
### Model Validation  
The model was developed in Python running TensorFlow, Scikit-learn, and other libraries, such as NumPy, Matplotlib, and Pandas. A confusion matrix [25] was generated to analyze how our FFN algorithm works. Figure 7 shows the confusion matrix. A confusion matrix is a performance measurement tool used in machine learning to evaluate the accuracy of a classification model. This helps us visualize the true positive, true negative, false positive, and false negative predictions of the model [26]. In this case, the confusion matrix helped to identify the input and output attributes for generating the deep learning model. For example, it revealed a strong correlation between the number of shots and the level of execution, as well as the movements of the player's ship with the collision attribute. Furthermore, by analyzing the confusion matrix, we identified the attributes that were most influential in predicting the outcome, allowing us to choose the most relevant attributes to be used in developing the deep learning model. We used a Feedforward Neural Network (FNN) architecture [27] because the connections between the nodes do not create a cycle, allowing the data flow from their input to move through the hidden layers until they reach the output node. This prevents a cycle from occurring between nodes; that is, information flows in one direction from the input layer through several hidden layers to the output layer. An FNN is useful in supervised learning [28], where there is a set of input data and its corresponding expected output. The network is trained to learn the relationship between the inputs and outputs by adjusting the weights and biases of the neurons in the hidden layers of the network. Once the network has been trained, it can predict the output of the new inputs. Figure 6: Scatter plots for the dataset variables. One of the advantages of the FNN architecture is that it can be trained to solve a wide variety of problems, from classification to regression. It can also handle data with multiple features, meaning that it can work with complex and high-dimensional datasets [29]. The complexity of the Feedforward Neural Network (FNN) used in our study contributes to the robustness and adaptability of the system, enabling it to handle a variety of players and skill levels. The multilayered structure of the FNN, combined with its ability to learn from and adapt to new data, allows the system to analyze a wide range of player skills in-depth [30]. By discerning complex patterns within the gameplay data, our system can accurately adjust game difficulty to enhance player engagement and satisfaction. Our analysis demonstrates the equilibrium we achieved between system complexity and its ability to accommodate various player skill levels. However, the FNN architecture has certain disadvantages. One of these is that it can be prone to overfitting, which means that the network can learn to fit too closely to the training data and cannot generalize well to new data. Additionally, training the network requires intensive data and computation [31]. In summary, the FNN architecture is a powerful machine learning tool that is used in a wide variety of applications. Although it has some disadvantages, its ability to handle complex data and solve classification and regression problems makes it a valuable tool for data scientists and machine learning engineers. These advantages fit our sequential model process since the recording of the game sessions is performed every time the player makes a shot; therefore, the obtained metrics depend on the previous metrics to perform their classification. It has 13 main input attributes and 64 unique enemy ship identifiers. The main attributes are mentioned in the previous metric collection section of this document with a ReLU activation function. This layer is considered the input layer in a neural network [32]. Figure 7: Confusion matrix of the proposed model. The next hidden layer of the network consisted of eight states with softmax activation.