Creation of an advanced combat system in the cRPG game based on the similarity of symbols drawn by the player using neural networks
Project Description
This project was my engineering work. Its purpose was to demonstrate the ability to create an out-of-the-box solution with a programming project. Hence, a project with a far too long name was created: “Creation of an advanced combat system in the cRPG game based on the similarity of symbols drawn by the player using neural networks”. Later, as it was only after I received my master’s degree, a scientific publication of the same name was written, in which the results of my engineering work and master’s thesis were combined. Below you can find the abstract of my engineering thesis and also a brief description of the application’s functionality.
Abstract: The topic of my thesis is “Creation of an advanced combat system in a cRPG game based on the similarity of symbols drawn by the player with the use of neural networks”. Machine learning is one of the branches of artificial intelligence, which involves the use of algorithms that search for correlations and patterns in data sets and, based on them, make the most appropriate choices. The aim of the work is to create an advanced combat system for action games based on the recognition of hand-drawn symbols with the use of this technology. The main assumption of the work is to make the implemented solution easy to use in any project. The work was done in the Unity engine and has a test application, but it can be added to any solution using a package. The neural network model that deals with the prediction on drawn symbols was created using ML.NET Model Builder. During the analysis, the existing solutions and scientific publications were compared, and on their basis, the best-fitting solutions for this project were selected. This system stands out from the rest with its unusual combination of dynamic combat with drawing symbols. The project focuses on casting spells, which is an integral part of the created system, that gives the player a lot of opportunities to create chain reactions between spells.
Features
Operation of the application: At any time, the player can stop and, holding down the Alt button, start drawing any number with the mouse. When the button is released, an external process will start, which, using a trained neural network model, will make a prediction of the drawn symbol. If the symbol has been mapped correctly, a spell will be prepared, which will be cast when the left mouse button is clicked. The prepared scene is used to test the operation of spells. It is possible to call spells on bots using the 0-9 keys.