IP Library › Granted Patent US 12,298,892
Granted Patent B2
US 12,298,892 · App. 18/186,886 · Granted May 13, 2025

Video game testing and automation framework

Inventors: Phillip Todd Mayhew (Cary, NC); Shane Christopher Evans (Martinez, CA); Robert John Gutierrez (British Columbia, CA)
Assignee: GameDriver, Inc.
G06F11/3688A63F13/35A63F13/60A63F13/63A63F13/67A63F13/77G06F9/54G06F9/543G06F11/3664G06F11/3684G06F11/3692A63F13/52A63F2300/209A63F2300/6018A63F2300/6027G06F11/3409G06F11/3495G06F11/3608G06F11/3644G06F11/3672G06F11/3696
View Patent ↗
Loading inventors, assignments & file history…
Monitor This Case
Get email alerts when status or documents change.
Order Certified Copies
Most orders are placed with the USPTO same day — all within 24 business hours.
Order via The Patent Place →
Pre-filled with this patent's details
Quick Facts
Patent No.
US 12,298,892
App. No.
18/186,886
Granted
May 13, 2025
Kind
B2
Abstract

An automated video game testing framework and method includes communicatively coupling an application programming interface (API) to an agent in a video game, where the video game includes a plurality of in-game objects that are native to the video game. The agent is managed as an in-game object of the video game. A test script is executed to control the agent, via the API, to induce gameplay and interrogate a behavior of a test object. The test object is identified from the plurality of in-game objects based on a query that specifies an object attribute of the test object.

Claims (39)

1. A computer-implemented method comprising:

communicatively coupling an application programming interface (API) to an agent embedded in a video game, the video game including a plurality of in-game objects that are native to the video game and that each have a corresponding set of attributes;

executing, by a processor, a test script that when executed causes the processor to control the agent via the API to induce gameplay, the test script including a query specifying an object attribute of a test object and an action to perform to interrogate a behavior of the test object;

identifying, by the processor, the test object from the plurality of in-game objects based on the object attribute specified in the query; and

controlling the agent via the API to perform the action to interrogate the behavior of the test object.

2. The method of claim 1 , wherein the object attribute specified in the query includes at least one of an object name, an object tag, an object color, an object length, an object material, or object text.

3. The method of claim 2 , wherein the query further includes an instance number of the test object.

4. The method of claim 3 , wherein the plurality of in-game objects are ordered within a hierarchy, and wherein identifying the test object based on the instance number comprises:

identifying a set of in-game objects that match the object attribute specified in the query; and

select from the identified set, an in-game object having a position within the ordered hierarchy of the set that matches the instance number as the test object.

5. The method of claim 1 , wherein the test object is part of a hierarchy of objects in the video game, and wherein the query specifies a relative path to the test object in the hierarchy.

6. The method of claim 1 , wherein the test object is part of a hierarchy of objects in the video game, and wherein the query specifies an absolute path to the test object in the hierarchy.

7. The method of claim 1 , further comprising:

generating, by the processor, a viewer that displays identifiers of at least a subset of the in-game objects including the test object; and

in response to a user input at the viewer in association with the identifier of the test object, outputting the object attribute of the test object.

8. The method of claim 1 , wherein the query is included within an API function call that causes the API to perform the action.

9. The method of claim 1 , wherein the test script when executed causes the agent to generate an input directed to the test object and capture data indicating a response of the test object to the input.

10. The method of claim 1 , wherein the test script when executed causes the agent to generate an input directed to the test object and capture data indicating a behavior of one or more other in-game objects after the input.

11. The method of claim 1 , wherein the API controls the agent to simulate gameplay on a plurality of gaming platforms.

12. A non-transitory computer readable storage medium storing executable computer program instructions, the computer program instructions when executed by a processor causing the processor to:

receive a query specifying multiple object attributes of a test object in a video game, the test object being one of a plurality of in-game objects that are native to the video game;

traverse the plurality of in-game objects to identify the test object based on a match between attributes of the test object and the multiple object attributes specified in the query; and

output an identifier of the test object in response to the identification.

13. The non-transitory computer readable storage medium of claim 12 , wherein the object attributes specified in the query include at least one of an object name, an object tag, an object color, an object length, an object material, or object text.

14. The non-transitory computer readable storage medium of claim 13 , wherein the query further includes an instance number of the test object.

15. The non-transitory computer readable storage medium of claim 14 , wherein the plurality of in-game objects are ordered within a hierarchy, and wherein identifying the test object based on the instance number comprises:

identifying a set of in-game objects that match the object attribute specified in the query; and

select from the identified set, an in-game object having a position within the ordered hierarchy of the set that matches the instance number as the test object.

16. The non-transitory computer readable storage medium of claim 12 , wherein the test object is part of a hierarchy of objects in the video game, and wherein the query specifies a relative path to the test object in the hierarchy.

17. The non-transitory computer readable storage medium of claim 12 , wherein the test object is part of a hierarchy of objects in the video game, and wherein the query specifies an absolute path to the test object in the hierarchy.

18. A video game testing system, comprising:

a processor; and

a non-transitory computer readable storage medium storing executable computer program instructions, the computer program instructions when executed by the processor causing the processor to:

communicatively couple an application programming interface (API) to an agent embedded in a video game, the video game including a plurality of in-game objects that are native to the video game and that each have a corresponding set of attributes;

receive a query specifying multiple object attributes;

identify an object of the plurality of in-game objects that matches the object attributes specified in the query; and

control the agent via the API to interrogate behaviors of the identified object.

19. The video game testing system of claim 18 , wherein the query is included within an API function call that causes the API to identify the identified object and perform an action to interrogate the behaviors of the identified object.

20. The video game testing system of claim 18 , wherein the object attributes specified in the query include at least one of an object name, an object tag, an object color, an object length, an object material, or object text.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Mar 1, 2024
From: MAYHEW, PHILLIP TODD; EVANS, SHANE CHRISTOPHER; GUTIERREZ, ROBERT JOHN
To: GAMEDRIVER, INC.
Reel/Frame 066623/0013 →
Continuity (4)
Continuation In Part 17567721 · Jan 3, 2022
Continuation 16845912 · Apr 10, 2020
Provisional Application 62833325 · Apr 12, 2019
Related Publication 20230236958A1 · Jul 27, 2023
References Cited (24)
US 8788243B2 · Peterson et al. · 2014 [cited by applicant]
US 9104814B1 · Mompoint et al. · 2015 [cited by applicant]
US 10628294B2 · Datta · 2020 [cited by applicant]
US 11000771B1 · Boocher · 2021 [cited by examiner]
US 20120204153A1 · Peterson et al. · 2012 [cited by applicant]
US 20120209571A1 · Peterson et al. · 2012 [cited by applicant]
US 20120311387A1 · Santhosh et al. · 2012 [cited by applicant]
US 20130065694A1 · Kim et al. · 2013 [cited by applicant]
US 20130263090A1 · Polk · 2013 [cited by examiner]
US 20150278076A1 · Bs et al. · 2015 [cited by applicant]
US 20170340962A1 · Jones et al. · 2017 [cited by applicant]
US 20180173614A1 · Gong et al. · 2018 [cited by applicant]
US 20180276111A1 · Datta · 2018 [cited by applicant]
US 20190034319A1 · Boniecki · 2019 [cited by applicant]
US 20220370913A1 · Kipnis et al. · 2022 [cited by applicant]
KR 20130043311A · 2013 [cited by applicant]
KR 101734349B1 · 2017 [cited by applicant]
KR 20170099750A · 2017 [cited by applicant]
KR 20190019009A · 2019 [cited by applicant]
Jesper Lehtinen, Automated GUI Testing of Game Development Tools, May 25, 2016, [Retrieved on Nov. 18, 2024]. Retrieved from the internet: <URL: https://www.theseus.fi/bitstream/handle/10024/112962/Lehtinen_Jesper.pdf?s… [cited by examiner]
Iftikhar, Sidra , et al., “An Automated Model Based Testing Approach for Platform Games”, ACM/IEEE 18th International Conference on Model Driven Engineering Languages and Systems (MODELS), Retrieved from the internet: <… [cited by applicant]
Bordi, Kimmo, “Overview of Test Automation Solutions for Native Cross-Platform Mobile Applications”, Retrieved from the internet on Aug. 12, 2021 from URL: https://dl.acm.org/doi/pdf/a0.1145/2700529; 2018; 85 pages. [cited by applicant]
Varvaressos, Simon, et al., “Automated Bug Finding in Video Games: A Case Study for Runtime Monitoring”, Computers in Entertainment, vol. 15, No. 1, Article1; Feb. 2017, 28 pages. [cited by applicant]
International Search Report and Written Opinion received for counterpart International Application No. PCT/US2024/020627 mailed Jul. 1, 2024 (13 pages). [cited by applicant]