Elder Scrolls III: Morrowind
Automated O Jogo
Colin Fahey
1. Introdução
2002.05
Eu nunca jogou uma fantasia role-playing Game (RPG) sobre a PC até de um amigo meu, Greg Moulton, introduziu-me a “The Elder Scrolls III: Morrowind”. Este vídeo jogo foi muito popular no meio de 2002. É um jogo espetacular. Eu gostava de jogar o jogo apesar da minha falta de interesse geral na fantasia gênero.
Neste vídeo game, um personagem tem quantidades de habilidade em vários tipos de actividades. Tal como na vida real, um personagem pode aumentar a habilidade em uma atividade que pratica a atividade. Por exemplo, um personagem pode reiteradamente expressos feitiços mágicos para melhorar a capacidade de lançar feitiços mágicos. O personagem pode simplesmente repousar em um local isolado e feitiços mágicos reiteradamente expressos e, assim, melhorar a fundição feitiços mágicos. Além disso, o personagem pode simplesmente repousar em um local isolado e de salto, repetidamente, ou correr em círculos, para melhorar o personagem da habilidade atlética.
Tedioso praticante pode ser feita mais fácil para o jogador por computador usando automação. Assim, um jogador “pode” praticar actividades sem a necessidade de se estar perto do computador! Meu amigo e eu fomos tendo Sam Robertson jogar o jogo vira uma noite, e ele me inspirou a montar espontaneamente peças electrónicas e de software para automatizar a jogar. Depois de aproximadamente uma hora, fomos assistir ao jogo ser jogado com o computador em si.

Morrowind: Ao lado de uma cama, pronto para lançar um feitiço.
Melhorar o caráter da capacidade de lançar feitiços mágicos, em uma categoria específica de feitiços mágicos, tais como a "destruição" categoria de feitiços mágicos, pode ser atingido por vazamento repetidamente qualquer feitiço mágico específicas dentro da categoria específica de feitiços mágicos.
Especificamente, temos de pressionar o "botão esquerdo do mouse" para lançar o feitiço mágico. Todos os poucos segundos que podemos lançar o feitiço mágico novamente. Eventualmente nós vamos ficar sem “Magicka”, uma espécie de energia, e precisamos de descanso antes de fundição mais feitiços mágicos.
Para descansar, temos de pressionar a “tecla espaço” ao mesmo tempo que estamos, na proximidade de uma cama, assim, “usando” a cama. Também precisamos de despedir uma caixa de mensagem que aparece e especifique a duração do período de repouso.
Nós podemos automatizar todo o processo.
Um jogador pode usar a “consola” de jogos a enganar-nos uma forma mais directa. Por exemplo, um jogador pode simplesmente digitar em um comando para solicitar a criação de qualquer material ou objeto a aquisição de qualquer atributo pessoal ou quantidade de habilidade. No entanto, meu objetivo era o de ser mais “honesto” na minha batota! Abastecimento de entrada teclado e mouse para jogar o jogo parece mais honestos do que utilizar um mecanismo fora do contexto do jogo (ou seja, o console) para manipular o estado do jogo.

Um segundo computador, com o meu programa e Visual C++
Eu escrevi um programa simples para emitir comandos para a porta serial. Estes comandos e envolver desengatará relés (essencialmente os “botões)” para controlar a entrada para o computador que está executando o Morrowind vídeo game. O programa tem tempo atrasos, que correspondem aos períodos de atraso típico de um homem no mouse e teclado. Além disso, o programa tem lógica diferente de lidar com os diferentes tipos de tarefas (feitiço vazamento, para repouso) em que deve acionar os outros PC.

Relay bordo controlada pela porta serial (RS-232)
Esta placa aceita comandos mais de uma linha série (RS-232). A comunicação parâmetros são os seguintes: 9600 baud, 8 bits dados, 1 bit de paragem, sem paridade. Comandos podem controlar a 8 relés no conselho de administração. Um comando pode transformar qualquer relé ligado ou desligado.

Botão esquerdo do mouse, ligado a um relé através de grampos
I abriu o mouse e acompanha garras jacaré para os terminais de o botão esquerdo do mouse sobre a minúscula placa de circuito no interior do mouse.
Desta forma, a bordo de relé pode controlar o estado do botão esquerdo do mouse.

Inaugurado teclado, teclas removido, folha com vestígios
Quando você abre uma moderna PC teclado, trata-se apenas três folhas de papel-fino, flexível de plástico. É um sanduíche, com o topo e os cobertos por camadas metálicas caminhos que representam a organização dos principais botões. O do meio folha de plástico tem buracos onde estão localizadas as principais botões, mas de outra forma isola o topo folha a partir do fundo folha.
De qualquer modo, é fácil de localizar a barra de espaço botão caminhos.

Close-up de ligação a barra de espaço circuito caminhos.
Anexando garras jacaré para o par de pistas que, quando combinados, conduzem a “barra” de “espaço” para teclado mensagem, era fácil.
Desta forma, a bordo de relé pode essencialmente “prima” a barra de espaço do comando.

Morrowind: Ao lado de uma cama, pronto para lançar um feitiço. (ver # 2)
Nós podemos pressionar o botão esquerdo do mouse para lançar feitiços de novo e de novo. Com um feitiço realmente “barato” (“Magicka” baixo custo), nós podemos expressos pelo menos 30 vezes antes que precisamos de repouso. Este facto é essencialmente interna do simples para o nosso pedido C sobre os outros PC.

Morrowind: “Usando a cama,” descanso duração caixa de diálogo.
Após o vazamento um feitiço de 30 vezes, o programa assume C precisamos de descanso, e que parte do princípio de que estamos próximos de uma cama. Por conseguinte, as questões C programa uma porta serial comando que aciona um relé sobre o relé bordo que, no essencial, “prensas” na barra de espaços no teclado-chave associadas ao Morrowind vídeo game computador.
Assim, “nós” usamos a cama, e esta caixa de diálogo exibida, perguntando quanto tempo que gostaríamos de descanso. O C programa assume este diálogo aparece na tela, e também assume que o cursor do mouse sobre o botão apropriado cabe dentro da caixa de diálogo (que é uma condição que deve ser criado, apenas uma vez, de forma antecipada) e prossegue para acionar um botão esquerdo do mouse para selecionar a opção desejada.
O repouso começa e termina automaticamente, e estamos prontos para lançar o feitiço 30 vezes mais!
Todos os 100 moldes (ou assim parece), uma mensagem aparece na tela indicando que a nossa habilidade nesta área tem vindo a melhorar em 1% (essencialmente).

Morrowind: Às vezes nós avançar em nível!
Se nós melhorar qualquer habilidade em 10%, nós avançar para um novo “nível” de realização do jogo. Portanto, uma vez que cada 1% de habilidade prática leva cerca de 100 fundições, nós antecipadamente todos os níveis 1000 lança, e temos de repouso cerca de 30 vezes durante o processo! Mas, graças à automação, podemos melhorar a nossa personagem enquanto nós dormir ... literalmente!
Eu e meu amigo Sam Robertson discutida a forma de lidar com o “avanço nível” caixa de diálogo. Precisamos de um pouco mais de controle do mouse para automatizar a seleção de caráter atributo aumenta. Ele pode ser feito, mas é complicado porque envolve “mover” o cursor do rato em torno via automação.