Asteroids Wars
História
Durante o desenvolvimento do Script System, chegamos a conclusão de que para propriamente testar o sistema e os módulos da UGDK deveríamos fazer um pequeno jogo de testes, que usasse todas as funcionalidades da UGDK para testar tanto as funcionalidades como o Script System e os módulos de script. Assim começou o desenvolvimento do Asteroids Wars, que em apenas um final de semana já era um jogo jogável, usando boa parte das funcionalidades da UGDK.
Feito inteiramente em Python, com a única exceção sendo o pequeno arquivo C++ (.cc) contendo o main() que inicia a Engine da UGDK e então inicia os scripts do jogo, ele foi sendo desenvolvido junto com a UGDK e o Script System. Inicialmente o jogo estava localizado dentro de uma pasta "examples" no repositório da UGDK.
Ao longo do seu desenvolvimento, o que era pra ser um joguinho simples, uma mera plataforma para testar o Script System, se tornou em um jogo arcade cada vez mais complexo e divertido de jogar, com novas funcionalidades e jogabilidade melhorada e mais definida. Finalmente, depois de alguns meses de desenvolvimento, nos tocamos que o Asteroids Wars já era um jogo por si só e não mais uma plataforma para testar o Script System, e então movemos ele para seu próprio repositório no USPGameDev e definimos o que deveria ser feito para "terminar" o jogo para um Beta Release, que inicialmente queríamos que fosse em Agosto.
Gameplay
Tem sua nave, seus tiros, power ups que você pode pegar, planetas e, claro, asteróides. WIP
Power Ups
Repair Packs
Pacotes de reparo são os power-ups mais comuns de aparecerem, e eles servem apenas para arrumar sua nave, afetando recuperação de vida e energia.
- Life Boost
- Regenera instantâneamente 50 pontos de vida de sua nave.
- Life Regen
- Adiciona à sua nave a habilidade de regenerar 10 pontos de vida por segundo, durante 1 minuto. Eles tem efeito cumulativo.
- Life Max Increase
- Aumenta permanentemente seu máximo de vida por 25 pontos.
- Energy Boost
- Regenera instantâneamente 50 pontos de energia de sua nave.
- Energy Regen
- Adiciona à sua nave a habilidade de regenerar 10 pontos de energia por segundo, durante 1 minuto. Também aumenta permanentemente a taxa básica de regeneração de energia da nave em 0.1 pontos por segundo, ao pegar o power-up. Eles tem efeito cumulativo.
- Energy Max Increase
- Aumenta permanentemente seu máximo de energia por 25 pontos.
Pulse Packs
Pacotes de pulso são power-ups raros que afetam diretamente a eficiência da arma básica da nave, o Pulse.
- Power Boost
- Aumenta o dano básico causado por cada Pulse em 5 pontos. Também afeta as armas secundárias de formas diferente, mas em geral fazendo-as dar mais dano ou serem mais fortes.
- Multiplicity Boost
- Aumenta a capacidade de tiros múltiplos da sua nave em 1, até um máximo de 14. Também afeta as armas secundárias de formas diferente, mas em geral fazendo-as dar mais tiros. Cuidado que isto aumenta o gasto de energia da sua arma.
- Homing Boost
- Aumenta a capacidade de tracking dos pulsos, fazendo-os mudar sua trajetória para acertar o asteróide mais próximo. Cada pacote desses aumenta o valor de tracking em 0.1, e o valor vai de 0 até 1. Quanto mais alto, maior é a capacidade dos tiros de alterarem sua trajetória. Cuidado que isso aumenta o gasto de energia da sua arma.
Passive Packs
Pacotes passivos dão certas habilidades passivas variadas para a sua nave, geralmente voltadas à proteção da mesma. Todos os pacotes passivos não tem efeito cumulativo - ao pegar um desses power-ups ele irá substituir o mesmo power-up já existente na nave, caso exista. Ou seja, se você pegar um Satellites enquanto você já tem satélites, os antigos serão destruidos e novos serão criados, como se você tivesse acabado de pegar o power-up sem ter nada antes.
- Satellites
- Cria 2 satélites que ficam orbitando a sua nave a uma curta distância. Cada satélite opera independentemente, tendo a sua quantidade de vida e atirando no asteróide mais próximo, tentando prever o movimento do asteróide para não errar o tiro.
- Force Shield
- Cria um escudo circular ao redor da nave, protegendo-a de colisões e dano. O escudo tem inicialmente 300 pontos de vida, e a capacidade dele vai aumentando com o aumento da vida máxima da nave. A vida atual do escudo é mostrada por uma barra vertical branca à direita da nave.
- Item Attractor
- Por 1 minuto, sua nave irá atrair power-ups para ela.
- Matter Absorption
- Cria um escudo circular ao redor da nave que dura 30 segundos, e enquanto ele estiver funcionando, esse escudo irá defender a nave totalmente de colisões com asteróides e tiros inimigos, e irá absorver parte da vida do asteróide para reparar a vida da nave, e absorver parte da energia dos tiros inimigos para recuperar a energia da nave. A duração restante do escudo é mostrada por uma barra vertical roxa à esquerda da nave.
Active Packs
Pacotes ativos são pacotes de armas secundárias. Eles trocam a sua arma secundária por outra (possivelmente a mesma) ao serem pegos. Veja a seção de armas.
Instant Packs
Pacotes Instant são pacotes que criam algum efeito na hora. São parecidos com os pacotes passivos, mas os efeitos são todos de cárater ofensivo e de efeito instantâneo ou temporário.
- Explosion
- Ao ser pego, cria uma onda de destruição que se propaga por 2 segundos, dando uma quantidade de dano alta no impacto, e uma quantidade de dano baixa por segundo nos inimigos dentro da onda.
- Freeze
- Faz todos os asteróides e projéteis inimigos atualmente na tela (no momento que o powerup é pego) congelarem no tempo por 10 segundos.
- Slowdown
- Faz todos os asteróides e projéteis inimigos atualmente na tela (no momento que o powerup é pego) ficarem mais lerdos, levando 4 vezes mais para fazer qualquer coisa, por 10 segundos.
- Fractal Shot
- Ao ser pego, atira um projétil na direção da nave. Esse projétil ao impactar em um alvo irá gerar entre 2 a 5 projéteis iguais, que são lançados em direções aleatórias. A cadeia de projéteis que impactam e geram novos pode ter no total de 2 a 5 niveis.
- Fracture
- No momento que é pego, faz todos os asteróides na tela quebrarem (se possível) em asteróides menores, como se tivessem sido destruídos.
Armas
Em qualquer momento, sua nave pode ter 2 armas. A arma básica, sempre disponível para uso com o botão esquerdo do mouse, e uma arma secundária que é ativada com o botão direito do mouse.
Pulse
A arma básica da nave, sempre disponível para uso com o botão esquerdo do mouse. Atira projéteis básicos à frente, gastando pouca energia. Se o botão de tiro for segurado, a arma irá carregar o tiro até um limite. Carregando o tiro faz ele dar mais dano mas gastar mais energia. A barra amarela em cima da nave mostra o quão carregado o tiro está. Os powerups Pulse Packs aumentam bem a eficiência dessa arma.
Anti Grav Shield
Arma secundária que enquanto estiver ativada (botão apertado), gera um campo de anti-gravidade ao redor da nave, empurrando para longe asteróides e projéteis. Gasta 25 de energia por segundo continuamente enquanto estiver ativada.
Laser
Atira um laser para a frente da nave, até o limite do mapa. O laser gasta 40 de energia por segundo enquanto estiver ativado, e dá 200 de dano por segundo nos alvos que ele atinge. Power Boost packs aumentam o dano que o laser inflige, e Multiplicity Boost packs aumentam tanto o dano como a largura do laser.
Shock Bomb
Atira um projétil que explode ao atingir um alvo, criando uma onda de dano. O gasto básico de energia é 50 e a onda dá 80 de dano no impacto, e continua danificando continuamente os inimigos dentro da onda.
Power Boost packs aumentam o dano da onda (tanto no impacto como continuamente), e Multiplicity Boost packs fazem a arma atirar mais de uma shock bomb ao mesmo tempo, no total atirando metade do número de multiplicity. Porém atirar mais shock bombs aumenta o gasto de energia, e caso a nave não tenha energia para atirar, a arma tentará atirar menos shock bombs até ter energia suficiente para atirar.
Blackhole
Cria um buraco negro no ponto onde o mouse estava quando a arma foi inicialmente ativada. O buraco negro ficará ativado enquanto a arma estiver ativada. A arma gasta 50 de energia ao ser ativada, e depois gasta essa mesma quantidade de energia por segundo para permanecer ativada.
O buraco negro gera um campo gravitacional que puxa violentamente asteróides e projéteis para ele, e ele destrói esses objetos quando eles atingem o buraco. Ele também danifica continuamente qualquer planeta no mapa.
Hyperspace
Teleporta a nave para onde o mouse está quando a arma for ativada, gastando 35 de energia. Após o uso, o hyperspace necessita de 1.5 segundos para poder ser usado novamente.
Quando sua nave teleporta, ela cria uma onda de distorção aonde ela estava, que puxa objetos e danifica eles. Ao chegar no destino, ela cria outra onda de choque que empurra objetos para longe e causa dano (menos que a onda de distorção da partida). Essa onda de choque ao chegar no destino é muito útil para "limpar" o espaço ao redor da nave, mas tome cuidado que isso pode não ser suficiente para prevenir uma colisão com um asteróide se você se teleportar para um ponto muito próximo (ou dentro) de um asteróide.
Power Boost packs aumentam o dano da onda (tanto no impacto como continuamente), e Multiplicity Boost packs fazem com que o hyperspace possa dar vários "pulos" em rápida sucessão (0.5 segundos para ativar o próximo pulo) sem gasto de energia adicional, e cada pulo cria as ondas de choque na partida e no destino.