Unprofitable Startup is a business simulation game that aims to integrate the usage of neural networks with the gameplay mechanics of managing a company
Demo Video: https://youtu.be/c9bIcmceiUw
The project is made up of 2 components:
- Python scripts to create and train the neural network used to predict the net income
- The business management simulation game made in Unreal Engine 5
To open the financial neural network:
- FinancialNeuralNetwork/FinancialNN/FinancialNN.sln with Visual Studio
- Change the startup file as needed
Alternatively, open the Python scripts directly with the text editor of your choice:
- FinancialNeuralNetwork/FinancialNN/FinancialNN/FinancialData.py
- FinancialNeuralNetwork/FinancialNN/FinancialNN/NeuralNetworkTraining.py
FinancialData.py
is used to select the features used by the neural network from the data obtained from the AlphaVantage API through multiple endpoints and group it together in a single quarterly, monthly, or weekly CSV file.
NeuralNetworkTraining.py
creates and trains the Neural Network, using the data generated by FinancialData.py, and produces an ONNX model that represents the neural network model with its input fields and its single net income output; and exports the scaling data, the minimum and maximum values of the data used to normalize the inputs in the game when being processed by the neural network.
Both of these scripts output their files to "FinancialNeuralNetwork\FinancialNN\FinancialNN\Data\Output". If the scaling data or the ONNX model are changed, they need to be manually reimported into the Unreal Engine game.
To open the Unreal Engine project that contains the game:
- Game/UnprofitableStartup/UnprofitableStartup.uproject
- Since this is a C++ project, and the project was uploaded without temporary files, you will get a warning about missing modules. Click "Yes" to rebuild them.