New Game Artificial Intelligence Tools for Virtual Mine on Unreal Engine
Abstract
:1. Introduction
2. Materials and Methods
2.1. Gamification Technologies in Mining Simulation by Virtual Reality
2.2. Goal of the Work
3. Results
3.1. Combining Code and Content in Unreal Engine
3.1.1. UE/C++ Module
- Connect the header file of this class or structure.
- When defining classes and structures that you want to use from other modules, you need to write <module name in capital letters>_API.
3.1.2. Unreal Engine Plugin
- Engine plugins:[PluginName]/Config/Base[PluginName].ini
- Game plugins:[PluginName]/Config/Default[PluginName].ini
3.2. Unreal Engine Command System
3.2.1. Commands and Command Groups
3.2.2. Expanding the Unreal Engine System Menus
- FMenuBarBuilder—Primarily used to extend the main menu;
- FMenuBuilder—Mainly used for Mainly used for menu extension;
- FToolBarBuilder—Extends the toolbar.
3.3. UE4 Custom Asset Type Action
3.3.1. Defining an Asset Class
3.3.2. Defining Custom Asset Type Actions
- 3.
- Specify an asset class as a supported class;
- 4.
- Register the asset type action class in the FAssetToolsModule.
3.3.3. Asset Factory
3.4. UE Asset Editor Class Definition
3.4.1. FAssetEditorToolkit
- Derivate an editor class from FAssetEditorToolkit;
- Create a layout for your editor;
- Registering and creating tabs using FTabManager.
- InitAssetEditor—Initializes this asset editor. Called immediately after the editor is built;
- RegisterTabSpawners—Registers tab factories.
3.4.2. FWorkflowCentricApplication
- An asset editor inherited from FWorkflowCentricApplication can have multiple application modes (FApplicationMode);
- Each FApplicationMode has its own layout and tabs;
- Each FApplicationMode has multiple FWorkflowTabFactory;
- Each FWorkflowTabFactory will create a tab for a different purpose.
3.5. Defining a Custom Asset Editor
3.5.1. Application Mode
3.5.2. Spawning the Working Tabs of the Asset Editor
3.5.3. Application Tab Layout
3.5.4. Extending the Toolbar
- 5.
- Form a set of commands (FUIAction) that will be executed. To do this, in a class derived from FAssetEditorToolkit, add new commands to ToolkitCommands and specify executing methods for them.
- 6.
- Generate a delegate for each extension (FToolBarExtensionDelegate) that accepts a hard link to the toolbar builder (FToolBarBuilder). The delegate uses the toolbar builder to add the appropriate keys to it.
- 7.
- Form an expander (Fextender) in the form of a common pointer.
- 8.
- Add an extension to the extender by specifying a set of commands and a delegate.
3.6. Unreal Engine Development Tools
- Debug—Contains debugging tools;
- Log—Contains the message log and output windows;
- Miscellaneous—Includes registrars, managers, profiles, and others.
3.7. Blueprint Debugging
3.7.1. Debugging Controls
3.7.2. Widget Reflector
4. Discussion
4.1. Utility System Plugin
4.1.1. Utility System Module
4.1.2. Utility System Interface
- To create the Utility System asset editor;
- To access the cache;
- To access the asset category bitmask;
- To access the Stale style (FSlateStyleSet).
4.1.3. Utility System Module Class
4.2. Asset Utility System
4.3. Utility System Asset Editor
4.3.1. Factory Utility System
4.3.2. Utility System Asset Type Actions
4.3.3. Utility System Asset Editor Application
- FWorkflowCentricApplication is the base class for the asset editor that allows the asset editor to work like an application with multiple modes, having a specific set of tabs and a unique toolbar for each of the application’s modes.
- FAIGraphEditor is a derived class, FEditorUndoClient, which is an interface for tools that want to handle undo/redo operations. FAIGraphEditor is the base class for working with a graph panel. It has a weak pointer to the Slate graph editor widget, as well as basic methods for working with graph nodes, such as copying, pasting, or deleting selected nodes.
- FNotifyHook is an interface whose methods are called when class properties change.
- Utility System mode—For direct work with the editor of the Utility System graph and with the parameters of the nodes of this graph.
- Blackboard mode—For working directly with the Blackboard key editor.
4.3.4. Utility System Toolbar Builder
4.4. Utility System Application Mode
4.4.1. Extending the Toolbar
- New Task—The action of creating a new asset of the UUSTask_BlueprintBase class.
- New Factor—The action of creating a new asset of the UUSFactor class.
- New Blackboard—The action of creating a new asset of the UBlackboardData class.
4.4.2. Graph Editor Tabs
4.5. Blackboard Application Mode
4.5.1. Blackboard Tabs
4.5.2. Blackboard Tab Layout
4.6. Graphical Node System Utility System
4.6.1. General Structure of the Graphic System of Nodes
- Data storage assets.
- Blackboard—An asset that stores the external variables of the nodes.
- Utility System—The asset for which the editor is designed; used to store graph data and its nodes and for linking nodes to Blackboard keys.
- Entities that work with the internal representation of a graph:
- FUtilitySystemEditor—As part of the graphical node system, the Utility System asset editor is the connecting link between the internal representation of the graph and its nodes and the graphical representation of the graph panel and the graphical representation of the nodes.
- UUtilitySystemGraph—A key entity that is responsible for loading, updating, and operations with graph nodes.
- UEdGraphSchema_UtilitySystem—An entity that works with various actions applicable to the graph and its nodes. For example, the connection of nodal connectors or actions of context menus.
- UEdGraphNode—The entity of the graph node as part of the graph.
- UUSNode—Node instance.
- Entities that work with the graphical representation of the graph:
- SGraphEditor—Wrapper interface for Graph Editor Slate widgets.
- SGraphPanel—Slate-panel, for ordering child Slate-widgets.
- SGraphNode—Slate widget that is a graphical representation of a graph node
- FGraphPanelNodeFactory_UtilitySystem—Node graphical representation generation factory.
- Entities that the asset editor that spawns the graphical tabs of the asset editor:
- Utility System Mode—Application mode that creates asset editor tabs.
- Graph Editor Tab—An asset editor tab that wraps the graph editor interface.
4.6.2. The Utility System Asset Editor as a Link
4.6.3. Utility System Graph
4.6.4. Chart Schema Utility System
- Creates default graph nodes (root node);
- Extends the actions of the graph context menu;
- Expands node context menu actions;
- Checks the connection validity of graph node connectors;
- Controls connection colors;
- Creates connection drawing policy;
- Handles cache operations.
4.6.5. Connection Drawing Policy
4.6.6. Development of System Nodes
- Visual representation of the graph
- Representation of a graph as a set of objects with connections
- Representation of the graph as a runtime system
- Host headers
- Images that label knots
- Node colors
- Move;
- Double-click mouse;
- Mouse hover;
- Clicking the right mouse button;
- Connecting nodes.
- Get the “body” of the task owner/default having world location;
- Get default priority for task execution;
- Get the owner of the task, or default if the task is invalid;
- Find task component;
- Notification is triggered after the state changes to active;
- Notification is triggered after the status changes to completed or paused;
- Notification is called after the completion of initialization.
- Called when the execution reaches the task;
- Tick method that is called every game frame until the task is completed;
- The method that is called when the task is completed from outside.
4.7. Utility System
4.7.1. Utility System Component
4.7.2. AI System
4.7.3. AI Manager
4.7.4. Task Node Execution
4.7.5. Execution of the Useful Path Selection Node
4.7.6. Utility System Launch Node for Behavior Tree
5. Conclusions
- Implementation of the necessary components to apply a flexible approach to the development of game artificial intelligence Utility System;
- Development of the node editor for the Utility System asset;
- Development of basic computing nodes Utility System and task nodes;
- Development of the Utility System asset execution system;
- Integration of the runtime Utility System into the behavior tree.
Author Contributions
Funding
Institutional Review Board Statement
Informed Consent Statement
Data Availability Statement
Acknowledgments
Conflicts of Interest
Appendix A
References
- Stothard, P. The Feasibility of Applying Virtual Reality Simulation to the Coal Mining Operations. In Proceedings of the AusIMM Proceedings: Mining Risk Management, AusIMM, Sydney, Australia, 9–12 September 2003; pp. 311–316. [Google Scholar]
- Smith, G.L.; Con, C.; Gil, C. Virtual Mine Technology. In Proceedings of the Bowen Basin, Symposium, Rockhampton, Australia, 22–24 October 2000; pp. 1–26. [Google Scholar] [CrossRef]
- Kim, H.; Choi, Y. Performance Comparison of User Interface Devices for Controlling Mining Software in Virtual Reality Environments. Appl. Sci. 2019, 9, 2584. [Google Scholar] [CrossRef]
- Zhang, C.; Wang, X.; Fang, S.; Shi, X. Construction and Application of VR-AR Teaching System in Coal-Based Energy Education. Sustainability 2022, 14, 16033. [Google Scholar] [CrossRef]
- Hu, T. Technological core and economic aspects of modernization on the Industry 4.0 platform. Econ. Innov. Manag. 2022, 3, 5–18. [Google Scholar] [CrossRef]
- Carbonell-Carrera, C.; Saorin, J.L.; Melián Díaz, D. User VR Experience and Motivation Study in an Immersive 3D Geovisualization Environment Using a Game Engine for Landscape Design Teaching. Land 2021, 10, 492. [Google Scholar] [CrossRef]
- Volkova, A.L.; Gasanov, M.A. The quadruple helix in the system of human-oriented structural transformation of the economy. Econ. Innov. Manag. 2021, 2, 4–12. [Google Scholar] [CrossRef]
- Liarokapis, F.; Macan, L.; Malone, G.; Rebolledo-Mendez, G.; De Freitas, S. A pervasive augmented reality serious game. In Proceedings of the 2009 Conference in Games and Virtual Worlds for Serious Applications, VS-GAMES, Coventry, UK, 23–24 March 2009; pp. 148–155. [Google Scholar]
- Yunqiang, C. An overview of augmented reality technology. J. Phys. Conf. Ser. 2019, 1237, 022082. [Google Scholar] [CrossRef]
- Gandolfi, E. Virtual reality and augmented reality. In Handbook of Research on K-12 Online and Blended Learning; Carnegie Mellon University: Pittsburgh, PA, USA, 2018; pp. 545–561. [Google Scholar]
- Danielsson, O.; Holm, M.; Syberfeldt, A. Evaluation Framework for Augmented Reality Smart Glasses as Assembly Operator Support: Case Study of Tool Implementation. IEEE Access 2021, 9, 104904–104914. [Google Scholar] [CrossRef]
- Yang, C.; Tu, X.; Autiosalo, J.; Ala-Laurinaho, R.; Mattila, J.; Salminen, P.; Tammi, K. Extended Reality Application Framework for a Digital-Twin-Based Smart Crane. Appl. Sci. 2022, 12, 6030. [Google Scholar] [CrossRef]
- Jalo, H.; Pirkkalainen, H.; Torro, O. Extended reality technologies in small and medium-sized European industrial companies: Level of awareness, diffusion and enablers of adoption. Virtual Real. 2022, 26, 1745–1761. [Google Scholar] [CrossRef]
- Bauer, R.D.; Agati, S.S.; dá Silva Hounsell, M.; da Silva, A.T. Manual PCB assembly using Augmented Reality towards Total Quality. In Proceedings of the 22nd Symposium on Virtual and Augmented Reality (SVR), Porto de Galinhas, Brazil, 7–10 November 2020; pp. 189–198. [Google Scholar]
- Salta, A.; Prada, R.; Melo, F.S. A Game AI Competition to Foster Collaborative AI Research and Development. IEEE Trans. Games 2021, 13, 398–409. [Google Scholar] [CrossRef]
- Romero, D.; Sánchez, M.; Sierra, J.M.; Miranda, M.; Peinado, F. Developing an automated planning tool for non-player character behavior. CEUR Workshop Proc. 2020, 2719, 69–77. [Google Scholar]
- Baena-Perez, R.; Ruiz-Rube, I.; Dodero, J.M.; Bolivar, M.A. A Framework to Create Conversational Agents for the Development of Video Games by End-Users. In Optimization and Learning; Dorronsoro, B., Ruiz, P., de la Torre, J., Urda, D., Talbi, E.G., Eds.; Springer: Cham, Switzerland, 2020; p. 1173. [Google Scholar] [CrossRef]
- Wu, Y.; Huo, Y.; Gao, Q.; Wu, Y.; Li, X. Game-theoretic and Learning-aided Physical Layer Security for Multiple Intelligent Eavesdroppers. In Proceedings of the 2022 IEEE GLOBECOM Workshops, Rio de Janeiro, Brazil, 4–8 December 2022; pp. 233–238. [Google Scholar]
- Hu, M.; Weng, D.; Chen, F.; Wang, Y. Object Detecting Augmented Reality System. In Proceedings of the 2020 IEEE 20th International Conference on Communication Technology (ICCT), Nanning, China, 28–31 October 2020; pp. 1432–1438. [Google Scholar] [CrossRef]
- Cerqueira, J.M.; Cleto, B.; Moura, J.M.; Sylla, C.; Ferreira, L. Potentiating Learning through Augmented Reality and Serious Games. In Springer Handbook of Augmented Reality; Springer: Berlin/Heidelberg, Germany, 2023; p. 369. [Google Scholar]
- Elkoubaiti, H.; Mrabet, R. A Survey of Pedagogical Affordances of Augmented and Virtual Realities Technologies in loT–Based Classroom. In Proceedings of the IEEE 5th International Congress on Information Science and Technology (CiSt), Marrakech, Morocco, 21–27 October 2018; pp. 334–341. [Google Scholar]
- Penty, C. Behind the scenes of The Cavern UE5 Cinematic Visual Tech Test. In Proceedings of the SIGGRAPH, Los Angeles, CA, USA, 8–11 August 2022; p. 4. [Google Scholar] [CrossRef]
- Estrada, J.; Paheding, S.; Yang, X.; Niyaz, Q. Deep-Learning-Incorporated Augmented Reality Application for Engineering Lab Training. Appl. Sci. 2022, 12, 5159. [Google Scholar] [CrossRef]
- Sang, F.; Wu, H.; Liu, Z.; Fang, S. Digital Twin Platform Design for Zhejiang Rural Cultural Tourism Based on Unreal Engine. In Proceedings of the 2022 International Conference on Culture-Oriented Science and Technology, CoST 2022, Lanzhou, China, 18–21 August 2022; pp. 274–278. [Google Scholar]
- Liubogoshchev, M.; Ragimova, K.; Lyakhov, A.; Tang, S.; Khorov, E. Adaptive Cloud-Based Extended Reality: Modeling and Optimization. IEEE Access 2021, 9, 1. [Google Scholar] [CrossRef]
- Zhang, J.; Li, H.; Teng, Y.; Zhang, R.; Chen, Q.; Chen, G. Research on the Application of Artificial Intelligence in Games. In Proceedings of the 9th International Conference on Digital Home, Guangzhou, China, 28–30 October 2022; pp. 207–212. [Google Scholar]
- Paduraru, C.; Paduraru, M.; Stefanescu, A. RiverGame—A game testing tool using artificial intelligence. In Proceedings of the 2022 IEEE Conference on Software Testing, Verification and Validation (ICST), Valencia, Spain, 4–14 April 2022; pp. 422–432. [Google Scholar] [CrossRef]
- Vitek, M.; Peer, P. Intelligent agents in games: Review with an open-source tool. Adv. Comput. 2020, 116, 251–303. [Google Scholar] [CrossRef]
- Liu, R.; Li, H.; Lv, Z. Modeling Methods of 3D Model in Digital Twins. CMES Comput. Model. Eng. Sci. 2023, 136, 985–1022. [Google Scholar]
- Yao, R.; Zhang, W.; Liu, H. Design and Implementation of Real-Time 3D Interactive System Based on Unreal Engine. In ACM International Conference Proceeding Series; ACM: New York, NY, USA, 2022; pp. 30–36. [Google Scholar] [CrossRef]
- Tavares, R.I.; Da Costa, F.; Luizelli, M.C.; Petrangeli, S.; Torres Vega, M.; Van der Hooft, J.; Wauters, T.; De Turck, F.; Gaspary, L.P. Dissecting the Performance of VR Video Streaming through the VR-EXP Experimentation Platform. ACM Trans. Multimed. Comput. Commun. Appl. 2019, 15, 111. [Google Scholar] [CrossRef]
- Kuzbass Intersectoral Center for Labor Protection. VR-Simulators/3D-Simulators on the ProExpVR Platform. Available online: https://kuzbasscot.ru/virtualnye-trenazhery/ (accessed on 1 March 2023).
- DT Consulting. Case: VR Technologies in the Training Center of the Mine. Available online: https://www.dtconsulting.ru/case-vr-mine (accessed on 1 March 2023).
- Babkov, V.S. Development of the Virtual Mine Silent Complex Based on the Microsoft Kinect platform—A Presentation. Available online: http://www.myshared.ru/slide/491418/ (accessed on 1 March 2023).
- Bashkov, E.A.; Babkov, D.C. The software system for building a virtual working environment at mining enterprises. South Federal University Bulletin. Tech. Sci. SFU 2012, 5, 211–215. [Google Scholar]
- Krajčovič, M.; Gabajová, G.; Furmannová, B.; Vavrík, V.; Gašo, M.; Matys, M. A Case Study of Educational Games in Virtual Reality as a Teaching Method of Lean Management. Electronics 2021, 10, 838. [Google Scholar] [CrossRef]
- Khan, S. Data Visualization to Explore the Countries Dataset for Pattern Creation. Int. J. Online Biomed. Eng. 2021, 17, 4–19. [Google Scholar] [CrossRef]
- Khan, S. Artificial Intelligence Virtual Assistants (Chatbots) are Innovative Investigators. Int. J. Comput. Sci. Netw. Secur. 2020, 20, 93–98. [Google Scholar]
- Son, L.H.; Chiclana, F.; Raghavendra, K.; Mittal, M.; Khari, M.; Chatterjee, J.M.; Baik, S.W. ARM-AMO: An Efficient Association Rule Mining Algorithm Based on Animal Migration Optimization. Knowl. Based Syst. 2018, 154, 68–80. [Google Scholar] [CrossRef]
- Mahajan, S.; Abualigah, L.; Pandit, A.K.; Altalhi, M. Hybrid Aquila optimizer with arithmetic optimization algorithm for global optimization tasks. Soft Comput. 2022, 26, 4863–4881. [Google Scholar] [CrossRef]
- Sharma, D.K.; Utsha, S.; Gupta, A.; Khari, K. Modified minimum spanning tree based vertical fragmentation, allocation and replication approach in distributed multimedia databases. Multimed. Tools Appl. 2022, 81, 37101–37118. [Google Scholar] [CrossRef]
- Zhironkina, O.; Zhironkin, S. Technological and Intellectual Transition to Mining 4.0: A Review. Energies 2023, 16, 1427. [Google Scholar] [CrossRef]
- Abu-Abed, F.; Pivovarov, K.; Zhironkin, V.; Zhironkin, S. Development of a Software Tool for Visualizing a Mine (Wellbore) in the Industrial Drilling of Oil Wells. Processes 2023, 11, 624. [Google Scholar] [CrossRef]
- Abu-Abed, F. Development of Three-Dimensional Models of Mining Industry Objects. E3S Web Conf. 2021, 278, 01002. [Google Scholar]
- Abu-Abed, F.; Khabarov, A. Development of pedestrian artificial intelligence utilizing unreal engine 4 graphic. Int. J. Recent Technol. Eng. 2019, 8, 639–642. [Google Scholar]
Private Dependency Module Names | Names of Public Dependency Modules |
---|---|
ApplicationCore | Core |
InputCore | CoreUObject |
Slate | Engine |
SlateCore | |
EditorStyle | |
UnrealEd | |
GraphEditor | |
KismetWidgets | |
PropertyEditor | |
AIGraph | |
AIModule | |
ToolMenus | |
GameplayTasks | |
GameplayTags |
Disclaimer/Publisher’s Note: The statements, opinions and data contained in all publications are solely those of the individual author(s) and contributor(s) and not of MDPI and/or the editor(s). MDPI and/or the editor(s) disclaim responsibility for any injury to people or property resulting from any ideas, methods, instructions or products referred to in the content. |
© 2023 by the authors. Licensee MDPI, Basel, Switzerland. This article is an open access article distributed under the terms and conditions of the Creative Commons Attribution (CC BY) license (https://creativecommons.org/licenses/by/4.0/).
Share and Cite
Abu-Abed, F.; Zhironkin, S. New Game Artificial Intelligence Tools for Virtual Mine on Unreal Engine. Appl. Sci. 2023, 13, 6339. https://doi.org/10.3390/app13106339
Abu-Abed F, Zhironkin S. New Game Artificial Intelligence Tools for Virtual Mine on Unreal Engine. Applied Sciences. 2023; 13(10):6339. https://doi.org/10.3390/app13106339
Chicago/Turabian StyleAbu-Abed, Fares, and Sergey Zhironkin. 2023. "New Game Artificial Intelligence Tools for Virtual Mine on Unreal Engine" Applied Sciences 13, no. 10: 6339. https://doi.org/10.3390/app13106339
APA StyleAbu-Abed, F., & Zhironkin, S. (2023). New Game Artificial Intelligence Tools for Virtual Mine on Unreal Engine. Applied Sciences, 13(10), 6339. https://doi.org/10.3390/app13106339