Salen e Zimmerman utilizam-se da noção de “sistema de jogo”, apropriada de Ron Hale-Evans (HALE-EVANS, 2001), para discutir as maneiras como um jogo pode tornar-se ele próprio o objeto com o qual se jogar. Um sistema de jogo, na definição de Hale-Evans, é um “conjunto de componentes que funcionam juntos em diversos jogos”, dando como exemplo para essa definição um baralho de cartas; um baralho pode, apesar de seu número limitado de componentes, ser utilizado de infinitas maneiras possíveis graças à recombinação desses componentes em diferentes jogos. Um sistema de jogo mais complexo não precisa ser projetado exclusivamente como tal: ele pode possuir um “jogo primário” que possui regras e faz uso desse conjunto de componentes e permitir a recombinação de seus componentes em variantes secundárias. De qualquer maneira, quanto mais aberto o sistema, mais fácil é criar variantes e jogos completamente novos.
As características do desafio do design de sistemas de jogo projetados dessa forma, são análogas as do design de um sistema de jogo aberto: o designer deve estar disposto a abrir mão do controle sobre todos os elementos do sistema em troca da possibilidade da emergência de novos modos de jogar criados por terceiros com a arquitetura base do sistema criado por ele. A decisão de projetar um jogo como sistema de jogo, no entanto, segundo Salen e Zimmerman pode ser extremamente gratificante tanto ao designer quanto ao jogador tornado designer dentro desse espaço de possibilidades que esse sistema de jogo oferece e permite.
Na prática dos videogames, devido às limitações e características intrínsecas ao meio digital do qual dependem para realizar-se, já discutidas anteriormente, essas aberturas precisam ser projetadas de maneira explícita em ferramentas que cumpram o papel de interface entre o videogame enquanto software e jogo. Essas ferramentas são softwares que devem fazer a intermediação entre os dados e os processos utilizados pelo jogo e a intervenção do usuário, a fim de viabilizar o acesso e modificação dos componentes e da organização do sistema de jogo. Em função de videogames poderem ser radicalmente diferentes entre si, é difícil fazer uma categorização dessas ferramentas a partir de suas especialidades sem uma pesquisa pormenorizada. Não obstante, é possível dividir essas ferramentas em dois tipos particulares que nos dizem algo a respeito delas e dos sistemas de jogo a que servem:
Ferramentas especialistas dizem respeito a, por exemplo, editores de níveis, fases e mapas, ou editores de itens, unidades e personagens - componentes estruturais comuns à maioria dos jogos - que permitam a customização e extensão de seus parâmetros constitutivos para além do que o videogame já permite.
Criar um personagem a partir das classes, atributos e perícias que um jogo permite e o equipar com as armas e armaduras de uma seleção pré-existente para habitar um mundo escolhido entre os possíveis, não é do que estamos falando. Essas ferramentas permitem a seus usuários, efetivamente, uma ou mais das seguintes ações: criar novas classes, alterar quais e como atributos e perícias operam, adicionar novas armas e armaduras de sua imaginação à lista e construir os locais e elementos com os quais o jogador interage no mundo do jogo. Mesmo que essas opções sejam restritas a um conjunto pré-determinado de componentes, a prerrogativa de decidir como esses componentes serão combinados é do jogador e quanto maior for o impacto dessas decisões sobre o sistema de jogo, maior será a agência do jogador sobre ele.
Motores de jogos são sistemas de jogos mais ambiciosos: eles geralmente combinam diversas ferramentas especialistas em um - para utilizarmos um termo do desenvolvimento de
software – Software Development Kit (SDK), um conjunto de ferramentas que funciona conjuntamente para viabilizar o desenvolvimento de um software.
O Motor de jogo oferecido ao jogador, dessa maneira, é quase sempre uma versão mais amigável das ferramentas de desenvolvimento criadas internamente no estúdio que produziu o jogo a fim de viabilizar sua produção. Por esse motivo, um motor de jogo carrega grande poder para a criação, extensão e modificação do sistema de jogo primário a que corresponde e permite uma grande agência sobre certos elementos constituintes daquele sistema.
Através de um motor de jogo é possível, inclusive, importar arquivos de dados produzidos em softwares auxiliares como texturas, modelos tridimensionais, sons, imagens, etc. e alterar certas partes do código que controlam as regras do jogo que foram explicitamente expostas para esse fim em sua arquitetura. Por essas razões, um motor de jogo geralmente exige certo conhecimento técnico prévio para ser utilizado de forma eficiente e dedicação de um período maior de tempo para o aprendizado de suas funcionalidades em relação à maioria das ferramentas especialistas.
Durante muito tempo, o acesso ao motor de jogo estava ligado diretamente à aquisição de uma cópia do jogo a que deu origem. Da mesma forma, para jogar um mod produzido com um motor de jogo você deveria possuir uma cópia do jogo instalada em sua máquina. Nos últimos anos, no entanto, temos visto a popularização da venda e licenciamento de motores de jogo “genéricos” – que são capazes de produzir uma grande variedade de gêneros de jogos e oferecem ferramentas robustas para tal – para desenvolvedores amadores e independentes e que produzem arquivos de instalação independentes que podem ser utilizados por qualquer pessoa.
Vale ressaltar, que mesmo tendo acesso ao motor de jogo, um jogador não possui controle total sobre o sistema de jogo: seus componentes e uma relação estrutural básica foram forjados no código que controla os processos e os dados que constituem o próprio motor de jogo e algumas das funcionalidades mais básicas do software. Esses, raramente são oferecidos a seus usuários pelos desenvolvedores do motor de jogo por questões financeiras e estratégicas de proteção de propriedade intelectual. Apesar disso, a possibilidade existe e exemplos antigos e recentes existem, como discutiremos nas seções finais desse capítulo.