Análise Splatterhouse 3 (parte 1) | ToPlay Studio
Análise Splatterhouse 3 (parte 1)
Daniel Lacerda 14 de novembro de 2011
Análises, GameDev
Nome do Jogo: Splatterhouse 3
Produtora/Estúdio: Namco
Splatterhouse é uma serie de jogos da Namco onde o personagem principal (Rick) utiliza-se dos poderes sobrenaturais de uma mascara para sair combatendo monstros.
Splatterhouse 3 foi a ultima edição do jogo para o console Mega Drive/Genesis. É uma sequência de Splatterhouse 2 e utiliza quase toda a potencia gráfica do console. Seu clima sombrio e sanguinário somado a uma trabalhada trilha sonora fez com que o jogo fosse um dos primeiros a sofrer censura, sendo classificado para maiores de 13 anos utilizando um sistema próprio de classificação da Sega.
Estilo: Beat'em Up
Taxonomia: Side scronling/Action
Nº de fases: 11
Média de horas de jogo (1h )
Game Designer/Produtor: Sammy Shimotsuma
Splatterhouse 3 acontece 5 anos após os eventos de Splatterhouse 2. Rick tornou-se um homem bem sucedido, comprou uma mansão casou com Jennifer e tiveram um filho, Dave. Tudo está bem até a Mascara alertar Rick sobre uma antiga energia fazendo com que ele utilize a Mascara mais uma vez para combater os monstros que dessa vez invadem sua casa capturando sua esposa e seu filho.
Apesar da distância entre os lançamentos, o jogo tem grandes semelhanças com o Sexta-Feira 13, tanta que o personagem foi sendo modificado entre as versões e finalmente consolidou-se nesta terceira versão do jogo, que foi considerado um dos mais aterrorizantes da época.
O personagem principal ocupa 1/24 avos da tela total e 1/16 avos do cenário. O HUD ocupa 2/6 da tela total.
Quantidade de sprites (Rick): 41 sendo, 3 para personagem parado (respirando?), 1 pegando item (agachando), 4 para ataque (socos), 2 para pulo, 1 caindo (quando atinge o solo), 1 para ataque no ar (voadora), 4 para "roundhouse kick" (especial), 5 para andar, 6 para entrar nas portas (3 subindo e 3 descendo), 1 para agarrar, 2 para cabeçada (estando agarrado), 2 para arremessar (estando agarrado, 1 sprite para levantar e outro para o arremesso), 2 para dano (quando atingido), 1 para quando está caindo, 1 para quando está caído no chão e 5 para levantar-se.
A colisão dentro do jogo é feita por bounding box. A técnica consiste em detectar a intersecção entre retângulos, o que caracteriza uma colisão entre as boxes que marcam a área do personagem.
Rick BoundingBox
Exemplo Bounding Box 01
Em alguns casos o bouning box pode não ser muito apropriado, neste jogo por exemplo, temos a movimentação do personagem principal em três eixos X, Y e Z como podemos observar na figura abaixo.
Exemplo Colisão Boundingbox
Exemplo de Colisão 01
A movimentação no eixo Z (profundidade) na verdade é uma "movimentação limitada" no eixo Y que em conjunto com a imagem do background dá a impressão de um movimento em profundidade. Dito isso podemos continuar a observação e perceber que em um jogo assim teremos um problema.
Os boxes podem colidir sem que eles estejam na mesma coordenada Z (profundidade).
Uma solução bem simples consiste em calcular a distância entre o topo dos sprites, nesse caso entre a criatura e o personagem, caso a diferença entre os topos (já que ambos possuem a mesma altura) seja maior que "H" então não há colisão.
Outra forma poderia ser diminuir o Box de colisão para dano essa opção consumiria um pouco mais de processamento, testando colisão mesmo quando não há nem alcance, o que não é muito interessante para jogos. Outro ponto desfavorável à diminuição do Box é que ficaria mais difícil tratar as colisões para as "agarradas", tendo em vista que teríamos que ter o Box pra colisão por socos e outro Box para agarradas, já que o comportamento da agarrada é diferente da colisão por soco (se batem, se agarram… jogo de terror ou pederastia?).
Exemplo Colisao Boundingbox 2
A técnica de bounding Box se saiu muito bem no jogo, além de não comprometer a jogabilidade, foi eficiente. E com certeza consome muito menos processamento do que testes por colisão por pixels.