I’m new to games testing , so I was wondering if there are any tools out there which uses re-enforced learning or ML to navigate through the game ?
The game is being developed in Unity and I know Unity has tools to script automated tests but I’m more looking for tools which automatically would be able to traverse the game.
is there a tool out there which would do this?
Best answer by Milad.MView original
It depends on what type of games you want to test. For games like chess, which you don't need to traverse the world in which the game happens, testing would be easier, because your automated testing tool only needs to try different strategies and take different actions. Actually, the feedback given to your testing tool is limited and it only needs to process the chess board and different possible actions and outcomes. But, for third-person shooter games (or other complicated gameplay scenarios), the gameplay is way more complicated, and your automated testing tool should be very intelligent. It should process the whole gameplay and detect all the other elements in the gameplay in every moment of the game as it plays. It also needs to have a model that captures all the entities and actions within the gameplay to decide what it should do as it goes through the gameplay. Moreover, it needs to be extremely intelligent to learn how to reach next levels in the game. Regarding all the difficulties I mentioned, it seems that the best option to test a game is to use those tools provided by the game engines (like the one provided by Unity). As far as I know, there isn't a powerful automated testing tool for third-person shooter games or other complicated gameplay scenarios.
I would expect that testing either chess or a first person shooter would be relatively similar. The idea of testing is not to anticipate user strategies or be able to win the game automatically, but rather is about testing thing like the UI, features, etc. These items could be automated with classic approaches. Game play is going to be more like user acceptance testing which is likely always going to be manual and highly dependent upon individual preferences.
What you're asking for is called "Skynet"! But jokes aside, achieving an AI tool that can traverse a game (and using now what Milad mentioned in their comment) would need to be extremely intelligent. One could argue that even if it relies in having all the entities, rulesets and everything related to the gameplay, this would be the easier part seeing how AI models currently work. The hard part is to make sense of it all.
Automating gameplay can be achieved. Testing the extremes of a specified gameplay, as well and it's fine. Also learning from humans as they play would work. I'm sure tools are being developed as we speak. But, maybe overreacting a bit, traversing a game as a human would do from the get go: let's hope we don't ever need that to successfully develop games.
This would be fascinating to learn for personal interest too… I’ve never done games testing.
There are so many engines running in parallel - physics, pixel rendering, collision detection, lighting & raytracing etc. I would imagine each of those would need thoroughly testing independently first before the whole game.
Then the game itself - 2D chess, 3D FPS, 3D 3rd person RPG, racing, sports. If there was a generalised solution I couldn’t imagine the amount of work that must have gone into that!