- Summary of project
 - Introduction
- Aim And Emphasis Of Project
 - Creative and unique side of project
 - Technology Stack Of Project
 
 - Material and methods
 - Results
 - Conclusion and discuss
 - Suggestions
 - Resources
 
Machine learning is becoming increasingly important in simulation systems. The primary goal of using simulations is to prevent large material and financial losses. Simulations are applied in the military sector as well as many civilian domains. Because most defense‑industry development is closed‑source, there is a clear need for open‑source projects in this area.
We built a project to address these problems. The system fetches real‑time weather via a web API and uses the system clock to determine three times of day. It supports twelve distinct simulation environments (3 × 4) and uses reinforcement learning (RL) to train enemy aircraft — RL was chosen for its proven effectiveness. The project is implemented in Unity3D with C# (primarily) and uses Unity toolkits such as ML‑Agents and the Post‑Processing stack.
The authorised pilot’s objective is to destroy enemy aircraft. The simulation currently supports English and Turkish and is architected to add more languages easily. Primary aircraft controls are available via an Arduino‑based joystick and via keyboard (horizontal and vertical buttons)
Keywords: Machine learning, Reinforcement Learning, Simulation, Serious Games, Dogfight
AI has using in games since ancient times. We could observe AI in the first digital games based on automata theory. We can show the PACMAN developed by the Namco as an example to use enemy simple AI algorithms. We can observe the Berkeley University to research about Artificial Intelligence in digital games. The AI in PACMAN has still using in Berkeley University to teach AI for students. We can make inferences about importance of using AI in simulation technologies. If we had a chance to give example for AI in simulation technologies we can represent the project of Havelsan. The project called with 'FIVE-ML' has started in 2021 and has foreseen to complete at end of the year the project. An article published in Popular Science called with 'A.I. Downs Expert Human Fighter Pilot In Dogfight Simulation' has mentioned about to won an AI in virtual war between AI and experienced air-fight pilots. But the developers in defense industry beware to not share for public or another developers because the AI algorithms has using in defense industry so the developers think as sensitive data. Develop a simulation using AI is specific because of other developers.
We have mentioned about importance using AI in simulation technologies in the introduction the project part. We can develop applications to reduce material waste on work with machine learning algorithms is developed. We know the models developed with machine learning algorithms. The models behave like a human in virtual environments. So we can implement the models for defense industry projects, education and a bunch of areas in life. Literally We can say to is develop of AI depend to collect more of model and datas. But we are faced to hide the code of project in defense industry. We have used open source mentality in our project and shared the source code of project in Github. We come across with huge waste in material and spiritual to actualize a real life scenario. For example an aircraft has to fly by a student at sky for during a few time at the start of the education. Even If the student was able to make the a hour flight the flight would be cost 44 thousand dollars. If a f-35 has crashed down we can lose spiritual things next to material things. We offer to save of material and spiritual wastes with our project called with 'Aircraft Fighter Simulation Using Machine Learning'. The aim of the project is to reduce of waste and to contribute to share machine learning algorithms on public repositories. We have developed to aim to realize real life hard scenarios without second or third person with just cost of hardware and software.
Simulation technologies are used commonly on this days. In international agreements, simulations for training purposes are also sold with the aircraft. Computer graphics and screening technologies had not developed because hardware was not enough. Then graphic cards have developed and computer graphics developing has accelerated. Defense industry have so high costs for simulation applications despite of developments in graphics side on nowadays. Especially In military application, the algorithms are seen important. So reach to AI algorithms is so tough for another developers. We can mention about the to improve a shareable and can be improved project is important for the machine learning ecosystem. The advantage of our project are using AI, open source and needs less hardware necessary.
Computer graphics is a sub-field of computer science which studies methods for digitally synthesizing and manipulating visual content. Although the term often refers to the study of 3D computer graphics, it also encompasses 2D copmuter graphics and image processing" (wikipedia). We take advantages of Unity3D in render pipelines. We have used reinforcement learning in project from the are known supervised, unsupervised and reinforcement. Machine learning is subfield of AI and the three techniques are mentioned at previous sentence. Version control provide with github. Arduino is used for communication with computer on usb serial port.
- 
Specialties of computer: intel core i5 7. Gen. processor, Nvdia GEFORCE 940mx graphic card, 8 gb ram, Windows10 OS
 - 
Is used game engine: Unity 2019.4.11f1 (64-bit)
 - 
Arduino IDE(1.8.7)
 - 
Arduino Uno, Breadboard, 5 pieces jumper cable, 2 pieces potentiometer(10k), serial com. cable
 - 
Adobe Illustrator 2020, Adobe XD 2020
 - 
VSCode 1.51.1
 - 
Trello (Kanban)
 - 
Unity-Technologies/Ml-Agents
 - 
Unity-Technologies/PostProcessing
In management of project are used agile development methodology. We set meeting a day of every week with my consultant Mr. Dr. fellow Ersin KAYA. Is used Kanban methodology for to watch every steps of project.
 
We have used agile development methodology for process of development project. Kanban tables are used to trace the clean code principles. There is table in the photo 1 below with three column like waiting, in process and done in Turkish.
Photo 1
We can see the game preview screens developed with Adobe XD in photo 2 below.
Photo 2
There is a state machine to show plane movements in draw 1 below.
draw 1
We have faced with trouble about performance on profiling graphs. Even the ram has reached for %100 usage and the application has been crashed. So we have read the profiling graphs and we have reach to quite performance gain. Can see profiling graph after performance optimization in photo 3 below.
So we have multi language support. We can see two setting screen have two language support in photo 4 below.
photo 4
We can see a some of AI methodologies used in project at below.
We can reach to some screen-views and videos for simulation at the below.
We have completed the project successfully to applied clean code principles and project management methodologies. We have used Kanban table so we were able observe the project obviously. We have not faced with negative results on similarity of after and before screen preparing processes because we have designed all screens on the design program that is Adobe XD. If you have a chance about to get computer to has more performance you can get more effective performance from Artificial Intelligence algorithms naturally. You can profile with unity profiling the project continually to get more performance. We have got weather informations using web api provider so we were able to get real time weather environment in project. The application is developed suitable to use from every range of people creating two mode with control stick and keyboard control. We have used one of the most popular game engine Unity3D. The project is developed with multi language support but has two languages(Turkish and English) now.
You should attention to be upper or same package versions. You can develop your intelligent agent in the same fight environment and make war with another aircrafts to show which algorithm is greater than others. You have to use profiling, optimizing and logging the application to get more effective performance and attention to vertex pieces because the application will be able to crash because of load on ram and processor.
Coby M., POPULAR SCIENCE, “A.I. Downs Expert Human Fighter Pilot In Dogfight Simulation”, (2016 Haziran), erişim tarihi: (12.08.2020)
https://www.popsci.com/ai-pilot-beats-air-combat-expert-in-dogfight/
Havelsan, “ HAVELSAN YAPAY ZEKÂLI SİMÜLATÖR GELİŞTİRECEK”, (2020 Ağustos),erişim tarihi: (04.09.2020)
https://www.havelsan.com.tr/haberler/guncel/havelsan-yapay-zekali-simulator-gelistirecek
Rob V., POPULAR SCIENCE, “ ABD’nin En İyi Savaş Uçağı Simülatörü, Artık Çok Oyunculu”,(2020 Temmuz) erişim tarihi: (17.09.2020)
https://popsci.com.tr/abdnin-en-iyi-savas-ucagi-simulatoru-artik-cok-oyunculu/
John D., Dan K., Pieter A., Berkeley University, “Intro to AI”, erişim tarihi: (20.10.2020)
http://ai.berkeley.edu/project_overview.html
Unity Documentation, teknik dokümantasyon, sürekli erişim
https://docs.unity3d.com/Manual/index.html
Mircea Oprea. | Red Gate | “Calling RESTful APIs Unity3D”, (2018 Mart), erişim tarihi: (14.12.2020)
[https://www.red-gate.com/simple-talk/dotnet/c-programming/calling-restful-apis- unity3d/](https://www.red-gate.com/simple-talk/dotnet/c-programming/calling-restful-apis- unity3d/)
Chris Elion. | Github/Unity/ML-Agents | “Unity ML-Agents Toolkit”, (2020 Eylül), erişim tarihi: (09.01.2020)
 https://github.com/Unity-Technologies/ml-agents
Okita, A. (2014). Learning C# programming with Unity 3D. CRC Press.
Taşdemir, C. (2014). Arduino. Dikeyeksen Y.



