DOG é uma solução que possibilita o desenvolvimento de jogos como programas distribuídos a desenvolvedores de software capacitados apenas para desenvolvimento centralizado. DOG torna transparente ao desenvolvedor as questões referentes a transmissão de dados em rede, fazendo com que suas preocupações sejam apenas aquelas inerentes ao desenvolvimento de um programa centralizado.
DOG é baseado na arquitetura cliente-servidor e é composto por dois artefatos, DOG Server e DOG Framework, como mostra a imagem abaixo. O primeiro, um servidor que interliga os clientes, com que o usuário da solução não tem qualquer contato. O segundo elemento, um framework de subsistema orientado a objetos, que intermedeia a interação entre os elementos produzidos pelo desenvolvedor e DOG Server, de modo que o desenvolvedor jamais precise se preocupar com a comunicação em rede, que é completamente tratada pelo framework. A imagem a seguir ilustra um jogo hipotético sob DOG, destacando suas partes.
Para produzir um jogo distribuído sob DOG, é necessário baixar DOG Framework e seguir as instruções contidas em ‘DOG Framework Cookbook’. DOG foi implementado em Python e é voltado a usuários desta linguagem de programação.