Skip to content
Michael Rittenhouse edited this page Jun 18, 2017 · 2 revisions

AGS2Client

This project provides the basic framework required to use PC game clients like Steam or GOG Galaxy with Adventure Game Studio. AGS2Client is an interface only and is not complete or functional by itself. The purpose of this project is to allow easy replacement of proprietary or closed-source client plugins (e.g., AGSteam) as well as creating a common interface for developers.

Current implementations

There are currently three supported implementations of the AGS2Client interface:

  • AGSteam: Steam plugin for AGS
  • AGSteamStub: Non-functional "stub" to replace AGSteam on non-Steam platforms
  • AGSGalaxy: GOG Galaxy plugin for AGS

Unified and disjoint builds

By default, all of these plugins now use a "unified" build pattern to make using multiple clients easier. Unified builds explains the considerations you should take in selecting which to use.

Using an AGS2Client plugin

Most common functions shared between game clients are accessible using the AGS2Client interface, such as setting achievements and leaderboard functionality. For more details, see Using the plugin interface.

Authoring an AGS2Client plugin

As of this writing, there isn't much apparent need for any new AGS2Client plugins to be authored, but if you need examples of how to implement the interface, the AGSteamStub and AGSGalaxy plugins are open-source. Additionally, you may reference the AGS2Client demo project, though it has been deprecated and may not be compatible with the latest AGS2Client interface.