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
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
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
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.
No Comments