Group contributions: not so much built from my side, more on the concepts of the game
This week I didn’t produce code. Instead, I brought the team a new game mechanic: re-use the enemies and make them work as allies. My research was moving in the direction to update the ML data model using the player interaction dynamically.
The team was moving forward in the design of the world and on how every team member was contributing to the project. For example, Linda worked a lot at the style guide and the brand; Luke produced some work at the main character’s animation.
I instigated how to bring more value to the game using intelligent actors powered by Machine Learning models and got the idea to re-use them. The main idea was to have a dropable item from the enemies each time they die and combining some of those items, and the player would be able to invoke the enemies. It would be advantageous because it would re-use the combat behaviour used by the enemies, now as an ally. I mean, each play session would feed the enemies’ data model, making them a little bit smarter. Thus, at the end of numerous sessions and with the help of some guided training, we would be able to make better and more engaging gameplay based on the combat design and fed by a set of highly specialised enemies and allies.
It took me some effort to explain the high-level concept and how would it be done, and it sounded promising. Finally, the team accepted it as gameplay, and I started to work on it.
This week’s activity was the Team Charter, a document that clarifies the way our group works. This activity was realised without problems because we were continuously discussing those topics, since the begging we were aware of our responsibility and values.
Personal development: understanding the brain and how to integrate
I started this module to understand some technical topics:
- How to export and import dynamically or programmatically the data model produced at the end of a training session using the Unity ML-Agents;
- How to start on-demand training sessions using some cloud provider;
- Reevaluated the effort spent and progress achieved
For my first question, it became clear that I didn’t have a simple answer. It would be necessary to use the dedicated environment to train new models only to re-upload and re-integrate them into the game code is a conceptual challenge and escapes from my initial scope. This idea came to my mind when I was discussing the possibility of changing the AI behaviour dynamically with the team. Even though this direction would be possible to achieve a good level of results, focusing on training an ML Agent to dynamically update the game’s difficulty (Tan, Tan and Tay, 2011). It would lead us to a different design.
Additionally, using a cloud provider like Google using TensorFlow is possible; however, I couldn’t create further simulations about how it would cost. As an indie developer, it is something that initially sounded out of scope.
And finally, the simple usage of the Unity Navigation and Pathfinding existing API demonstrated relevant results for our game structure. However, I’m tendencious in agreeing with (‘Why Video Game AI does not Use Machine Learning, 2020) that the current state of the tooling is far from usable.
Conclusions: first signals of it might not be that applicable.
Besides sound a good idea, I had some trouble finding to dispose of more time to research the applicability of my thoughts. Implementing an enemy that follows a movement and attack pattern and is less time-consuming, indeed, is more straightforward. But the research by itself it’s been so interesting that I didn’t want to stop.
AI vs. ML vs. DL: What’s the Difference (no date) Serokell Software Development Company. Available at: https://serokell.io/blog/ai-ml-dl-difference (Accessed: 14 October 2021).
Iriondo, R. (2021) Machine Learning (ML) vs. Artificial Intelligence (AI) — Crucial Differences, Medium. Available at: https://pub.towardsai.net/differences-between-ai-and-machine-learning-and-why-it-matters-1255b182fc6 (Accessed: 14 October 2021).
July 27, rew D.B. and 2009 (2009) Analysis: The Game Design Lessons Of Permadeath, Game Developer. Available at: https://www.gamedeveloper.com/pc/analysis-the-game-design-lessons-of-permadeath (Accessed: 14 October 2021).
Tan, C.H., Tan, K.C. and Tay, A. (2011) ‘Dynamic Game Difficulty Scaling Using Adaptive Behavior-Based AI’, IEEE Transactions on Computational Intelligence and AI in Games, 3(4), pp. 289–301. doi:10.1109/TCIAIG.2011.2158434.
‘Why Video Game AI does not Use Machine Learning’ (2020) Probably Dance, 29 January. Available at: https://probablydance.com/2020/01/29/why-video-game-ai-does-not-use-machine-learning/ (Accessed: 14 October 2021).