Glossário
Os termos técnicos destas páginas, explicados em linguagem simples. As ligações no texto de cada página trazem-te até aqui.
O jogo
- Dispositivos de jogo (props)
- Os aparelhos eletrónicos de um jogo: caixas para capturar, bombas para armar e desarmar, terminais de hacking, alvos onde acertar. Na Atalaia, qualquer aparelho pode servir: uma caixa feita de propósito, um telemóvel ou uma pequena placa.
- Field Box e Satélite
- Os dispositivos de referência da Atalaia, montados à volta de um ESP32 com peças fáceis de comprar. A Field Box é a principal, com botões arcade grandes, teclado, ecrã, luzes, altifalante e leitor NFC numa caixa estanque, por cerca de 70–110 € em peças; o Satélite é uma caixa mais pequena para um ponto secundário, por cerca de 30–40 €. Os primeiros protótipos da Field Box chegam na fase 1.
- Milsim
- Abreviatura de military simulation, simulação militar: jogos longos, muitas vezes de um fim de semana inteiro, com missões, cadeia de comando e regras realistas. É o maior teste para a Atalaia: 10 a 20 caixas e satélites espalhados por uma área grande.
- CQB
- Close quarters battle, combate a curta distância: jogos dentro de casas, palacetes, armazéns e outros espaços apertados, normalmente com menos de uns 150 m de um lado ao outro. Como tudo é perto e rápido, o perfil CQB da Atalaia usa tempos de captura e de bomba mais curtos e põe as caixas numa planta do espaço em vez de usar GPS.
- Cronografagem e joules
- O cronógrafo mede a velocidade a que uma réplica dispara uma BB. Da velocidade e do peso da BB sai a energia em joules, que os campos limitam por tipo de réplica: uma BB de 0,20 g a 100 m/s (cerca de 328 fps) leva 1 joule. A Atalaia vai guardar as medições de cada réplica, para os marshals poderem fazer verificações aleatórias durante o dia; qualquer penalização é sempre decidida por uma pessoa.
Hardware
- Microcontrolador
- Um computador completo e minúsculo num só chip, feito para correr um único programa. Arranca num instante, gasta muito pouca bateria e é barato, por isso é o cérebro habitual de um dispositivo de jogo eletrónico. As placas ESP32 e Arduino são placas de microcontrolador.
- ESP32
- Um microcontrolador barato e muito popular, com Wi-Fi e Bluetooth incorporados; muitas placas trazem também um rádio LoRa. É o cérebro da Field Box, do Satélite e do módulo de E/S, e aguenta um dispositivo em jogo de um a três dias com uma bateria. As placas que já tens também servem, mesmo sem memória extra (PSRAM), com algumas limitações.
- Placa tipo Arduino, nó simples
- Placas de microcontrolador simples e muito baratas, ao estilo do Arduino, como as de chips AVR ou RP2040. São pequenas demais para correr modos de jogo, por isso na Atalaia funcionam como nós simples: emprestam os botões, as luzes ou os sensores a uma caixa próxima ou ao controlador de campo, que corre as regras por elas.
- Raspberry Pi
- Um computador pequeno e barato, mais ou menos do tamanho de um cartão de crédito, que corre Linux. Com uma placa de rádio LoRa, vai ser o controlador de campo habitual (cerca de 80–150 € a montagem completa), e também pode servir de dispositivo com ecrã grande ou câmara.
- Dispositivo Android e módulo de E/S
- A app da Atalaia vai transformar um telemóvel ou tablet Android, novo ou um que esteja na gaveta, de 2017 em diante, num dispositivo de jogo: um terminal de hacking, um mapa, um leitor de códigos. Os telemóveis não têm rádio LoRa e os ecrãs táteis custam a usar com luvas, por isso uma pequena caixa ESP32, o módulo de E/S (entrada e saída), vai ligar-se por cabo ou Bluetooth para juntar o rádio, botões grandes, luzes e uma sirene. Ambos chegam na fase 3.
- Firmware e gravar firmware
- O firmware é o programa que vem dentro de um aparelho e arranca quando o ligas. Gravar firmware (flashing, em inglês) é escrever uma versão nova desse programa no aparelho, normalmente por um cabo USB. As caixas da Atalaia só precisam de cabo da primeira vez: depois, os modos novos chegam como scripts e as atualizações vêm do controlador de campo por Wi-Fi ou Bluetooth, e desfazem-se sozinhas se a versão nova não arrancar.
Rádio e ligações
- LoRa
- De long range, longo alcance: um rádio que envia mensagens pequenas para longe gastando muito pouca energia, sem cartão SIM, rede móvel ou assinatura. Num campo típico chega a cerca de 0,5–2 km e atravessa paredes grossas melhor do que o Wi-Fi. O senão: as mensagens têm de ser curtas e cada aparelho só pode emitir durante uma pequena parte do tempo. A Atalaia usa por omissão 869,525 MHz, na única sub-banda EU868 que permite 10% de ciclo de trabalho e 500 mW, o que dá a cada caixa até 6 minutos de emissão por hora — suficiente para eventos, pontuações e balizas de sincronização de tempo, com margem de sobra. Um campo pode escolher outro canal, que permite 1% do tempo ou menos e 25 mW. As caixas só enviam o que muda, como «o vermelho capturou a B».
- Rede mesh
- Uma rede em que os aparelhos passam as mensagens uns aos outros, por isso uma caixa demasiado longe da base é ouvida através das que estão no meio. A Atalaia só repete cada mensagem um par de vezes, para o rádio não entupir, e a organização pode pôr caixas extra a servir de repetidores em terrenos difíceis.
- Skirmesh-RF
- O protocolo de rádio da própria Atalaia: o formato combinado em que as caixas, o controlador e as apps trocam mensagens, seja por LoRa, Wi-Fi ou Bluetooth. Está documentado publicamente, por isso qualquer pessoa pode construir um aparelho que entre no jogo, e cada mensagem é assinada com uma chave própria daquele jogo, para que ninguém consiga simplesmente forjar uma captura com um rádio. O código que empacota e verifica estas mensagens, o codec, já existe.
- Wi-Fi, BLE, NFC e códigos QR
- As ligações de curto alcance do dia a dia, cada uma com a sua função. O Wi-Fi (cerca de 50–150 m) leva o que é pesado: a consola da organização, a app de jogador, modos novos e atualizações; o BLE, ou Bluetooth Low Energy (10–30 m), liga um telemóvel ao seu módulo e emparelha aparelhos. O NFC é encostar e ler, como um cartão contactless, para etiquetas de equipa, pulseiras e cartões de entrada no jogo, e os códigos QR leem-se com a câmara do telemóvel para entrar num jogo ou introduzir um código.
- API: MQTT, REST e WebSocket
- Uma API é uma forma documentada de outros programas lerem um jogo e, com autorização, o controlarem. Com ela, um clube vai poder ligar um marcador LED grande, mostrar a pontuação em direto numa transmissão, receber alertas no Discord ou no Telegram, ou ter um relé que dispara fumo e sirenes quando a bomba rebenta. MQTT, REST e WebSocket são três maneiras padrão de lá chegar, por isso funcionam com ferramentas comuns. O controlador de campo já a tem desde a fase 2, com uma página de marcador pronta a usar; foi testada num computador e ainda não num campo.
- ATAK
- O Android Team Awareness Kit: uma app de mapas feita para os militares, com uma versão civil gratuita que muitas equipas de milsim usam para ver os colegas num mapa partilhado. O controlador de campo da Atalaia vai poder mostrar as caixas nesses mapas, e que equipa tem cada uma (fase 4).
Software
- Funciona sem internet (local-first)
- Tudo o que um jogo precisa corre no próprio campo, nas caixas e no controlador de campo, por isso funciona sem internet nem rede móvel. Quando há internet, só acrescenta extras, como contas e o histórico dos jogos. Uma caixa que perca a ligação continua a jogar e a contar pontos, e põe-se em dia quando a ligação volta.
- Núcleo partilhado (C11)
- O coração da Atalaia: um único programa, escrito na linguagem de programação C (na versão de 2011, daí C11), que todos os aparelhos que correm modos de jogo usam. Trata dos eventos, das pontuações e das mensagens de rádio e corre os modos de jogo em segurança; cada tipo de hardware só lhe junta uma camada fina, com os drivers que fazem funcionar os botões, o ecrã e o rádio. Já existe hoje.
- Lua e scripts de modos de jogo
- Um modo de jogo é um script: um pequeno ficheiro de texto com regras, como «manter premido 5 segundos para capturar», escrito em Lua, uma linguagem de programação pequena, muito conhecida dos mods de videojogos. Os scripts correm numa sandbox, um espaço fechado sem acesso a ficheiros nem à rede, por isso um modo partilhado não pode estragar um aparelho. A organização nunca precisa de mexer em Lua: escolhe um modo e preenche as definições, e um editor visual, por blocos, chega na fase 5.
- Simulador
- Um programa que joga um modo de jogo com caixas virtuais no browser: carregas nos botões das equipas no ecrã e vês o ecrã de cada caixa e o registo de eventos. Corre num computador normal e já existe, por isso qualquer pessoa pode experimentar o Domínio e a Bomba antes de haver hardware.
- Controlador de campo
- A base do jogo: um pequeno computador, normalmente um Raspberry Pi ou um aparelho Android, que ouve todas as caixas pelo rádio, corre as regras que envolvem várias caixas, guarda a pontuação oficial e serve a consola da organização aos telemóveis. Se falhar, as caixas continuam a jogar e outro aparelho capaz toma o lugar, e uma caixa sozinha também consegue correr um jogo sem ele. Já está feito (fase 2) e testado num computador, ainda não num campo.
- Servidor do clube
- Um computador opcional, no campo ou alugado na internet, que guarda o que dura para lá de um jogo: contas de jogadores, histórico, o registo de cronografagem e os serviços por trás da app de jogador. Nenhum jogo fica à espera dele. Chega na fase 4, e o espaço da comunidade prevê servidores alojados, a preço de custo, para clubes sem apoio informático.
Licenças
- Código aberto e software livre
- O código-fonte, a receita legível de um programa, é público, e qualquer pessoa o pode usar, estudar, alterar e partilhar, mesmo para fins comerciais. «Livre» quer dizer liberdade, não preço: os campos podem cobrar entrada e os makers podem vender caixas.
- Copyleft: GPL e AGPL
- A regra que mantém a Atalaia aberta: usá-la tal como está não te obriga a nada, mas quem passar a outros uma versão alterada tem de partilhar o código-fonte com a mesma licença. A GPL, para o núcleo, o firmware, a app e os modos, aplica-se quando dás ou vendes cópias; a AGPL, para o controlador de campo e o servidor do clube, aplica-se também quando pões uma versão alterada a funcionar para outras pessoas através de uma rede. O hardware (CERN-OHL-S) e a documentação (CC BY-SA) seguem a mesma ideia.