Information Technology Reference
In-Depth Information
specific problems, such as removing instructions that handle the killing of some
enemies. We then performed numerous runs of the game and computed various
metrics on the game's and the monitor's execution.
The results were positive. Every formula we used could be monitored using
our method, without slowing down the game in any noticeable way. A surprising
finding of our study is that in a normal playthrough, the game generated roughly
2.9 events per second (Figure 2a). This event rate is very small compared to
rates in typical runtime verification works. One can see that an event could take
9 milliseconds to process for 10 different properties (Figure 2b). It is possible to
see a drop in the time required as the game progress, since monitors for properties
that evaluate to true or false no longer need any updating. Even if, in a worst
case scenario, no properties were resolved and each event took 9 milliseconds to
handle, we can safely assume that it would not affect gameplay since 27 spare
milliseconds are left before reaching the threshold time for 30 fps.
(a)
(b)
Fig. 2. Experimental results on the monitoring of Infinite Mario Bros. a) Number of
events generated in a sample run of the game; b) Monitor processing time for each
event.
Finally, since video game companies keep track of their bugs in a database,
we implemented a similar functionality using a MySQL server. We instrumented
the code in such a way that, upon violation of some temporal property, the
monitor sends an SQL query to the server, thereby automatically filing various
metadata about the discovered violation: name of property violated, occurrence
time, event trace prefix leading to the violation.
4Con lu on
Overall, the results we obtained were conclusive as a first step in the applica-
tion of runtime monitoring to video games. We succeeded in the monitoring of
different properties using LTL-FO + in a video game without affecting the game
experience. We also provided the game with a GUI that easily shows the out-
comes for each monitored property. If one of them becomes violated, indicating
a problem in the expected gameplay, the monitor automatically saves informa-
tion about the bug in a database, something that could help in video game
development.
Search WWH ::




Custom Search