Skip to content

Multiple game engine sdk for scripting the behavior of game users

License

Notifications You must be signed in to change notification settings

dogu-team/gamium

Repository files navigation

Gamium

Gamium is an SDK that allows you to automate game test

Automation Demo by Gamium

Description

Gamium provides the ability to script the behavior of game users. Starting from a simple function of clicking on the UI, you can automate various cases and be free from repetitive manual tests.

Automation starts when the gamium client sends a network message to the gamium engine for the specified command. Users just need to put the gamium engine into the game build and send the specified message using the client sdk.

Philosophy

As various platforms emerge, the number of things to test is increasing. Accordingly, the mobile app automation framework is used universally, but in the case of games, there are many projects where tests are not yet automated.

We want to solve this problem and develop automation library with multi-engine support through the same interface. The interface we provide is inspired by Selenium and Playwright.

Support List

Engine

Engine Windows / macOS Android iOS Xbox PS4 / PS5 Switch
Unity Need testing Need testing Need testing
Unreal Planned Planned Planned Planned Planned Planned
Godot Planned Planned Planned Planned Planned Planned

Proprietary Engine

Language Support
C++ Planned
C# Planned

Client Language

Language Support
Typescript
Python
C# Planned

Getting Started

Please refer to the Get Started

Installation

npm

npm i gamium

pip

pip install gamium

Examples

You can look up the UI and then click and scroll,

await gamium.ui().click(By.path('/Canvas[1]/Login[1]/Panel[1]/GuestLoginBtn[1]'));

You can simulate input into the game,

await gamium.sendKey(KeyBy.unityKeyboard('Space'));

You can also call specific functions.

await gamium.executeRpc(RpcBy.method('Gamium.Private.CodebaseSample', 'CallParam1', 10));

Read Resources

Documentation

Contributing

Please, don't hesitate to file a question.

If you have problem, file an issue.
If you are interested in contributing directly to the code base, don't hesitate to Pull request.
But I'd really appreciate it if you could read the CONTRIBUTING.md before making your request.

License

Gamium is MIT licensed