We make it simple to develop and deploy multi-player games. That is our mission
and our promise to you as a developer.
We supply you with the communication API and the development & test harness. With
it you develop your game client and the server logic on your desktop. The TrayGames
network brings your game to the user community with effortless delivery, game player
matching, score laddering, the server space and bandwidth and sales mechanism. We
free you to focus your energy on what you want to be doing; designing and developing
compelling creative games.
TrayGames also provides score tracking/ranking/laddering, an available in-game advertising
API, localization support and API, international distribution, a great automatic
update system with simple support for test/beta/release, and more.
The TGSDK contains a client/server API that has been developed in such a way as
to be context-aware. This means that if you are running one or more clients and
a server on the same computer they are aware of each other and can communicate,
just as they would in a production system. No special software or hardware is needed,
just the TGSDK and your compiler. This makes debugging and testing much easier.
Imagine developing and testing a globally playable multi-player game on your laptop
with no Internet connection! Several sample games are included with the SDK to show
how the API works.
The TrayGames API is written in .NET ad also
has an available COM support layer. We recommend C#, VB.NET as development languages
for new projects, and any version of Visual Studio .NET (including the Express Edition)
as a development environment. Any language that supports calling COM interfaces
can be supported as well. Managed DirectX is always available as part of the TrayGames
client environment and is highly recommended. TGSDK development support is restricted
to Windows XP at this time.
The Daemon Harness (DH) emulates the TrayGames Network
and provides Test Harness versions of the portions that interface with your code.
It connects to your game client through the same methods that the TrayGames Manager
uses, appearing to your game client to be the actual TrayGames Network. It also
loads your server logic DLL and hosts it in the same way that the TrayGames production
server does, while providing a graphical user interface (GUI) to simplify testing.
You can use the DH GUI to load your Game Daemon, see what messages have been sent/received,
see what players are connected, simulate IGameDaemon method calls, and edit
your test configuration file.
When a Game Daemon is loaded into the DH your
server logic and client(s) will be loaded in Test Harness mode. This allows you
to test your multi-player game using nothing more than a single computer, a DH,
your Game Daemon, and a few instances of your game client. There’s no difference
between running in Test Harness mode, or Production mode. Once your game is working
properly in the Test Harness you can upload it to the staging server and test it
on live infrastructure!
So how does the DH work its magic? When you run the DH you can specify a Game Daemon
to load. The Game Daemon, which is just a DLL that has implemented the IGameDaemon
interface, is loaded using reflection and initialized. This causes the Game Daemon
to create a TGDaemonClass object. This object, we’ll call our instance MyTgDaemon,
provides many support methods for the Game Daemon developer. Calling the MyTgDaemon.Startup
method causes it to go looking for the your game name.config file and read
from it the number of players to expect, as well as other optional settings. Instead
of sending real TCP/IP messages the MyTgDaemon creates an IPC queue for simulating
message transmission, and then it waits for the client(s) to connect. See the Daemon Harness help for more details.
Continue reading about the TGSDK in our Developer Docs area.