Ontem nós falamos um pouco e apresentamos um projeto desenvolvido no RMXP, inspirado no famoso FPS Doom, o Doom – At The Gates Of Hell. Hoje vamos falar e apresentar a engine que o seu criador usou para desenvolver as partes que tem perspectiva em primeira pessoa, o FPLE: First Person Labyrinth Explorer.
A engine foi criada pelo MCG e está, aqui, em sua versão 1.5. Esta visão em primeira pessoa que ela oferece, emula umas parecidas como games como o Etrian Odyssey (Nintendo DS), Class of Heroes (Sony PSP), Might & Magic 2 (Mega Drive) e a parte de dungeons do Phantasy Star (Master System.
O script é bastante complexo e ainda requer um DLL. Convém baixar a demo e olhar o(s) script(s) e fazer seu projeto por cima dele.
No editor do RMXP, a primeira camada representa o piso, a segunda os muros e a terceira o teto. Um tileset do FPLE tem três linhas com 8 tiles, cada linha tem um arquivo correspondente de texturas. A primeira linha do tileset é usada para o piso, a segunda para os muros e a terceira para o teto.
As passagens tem que ser definidas para estes valores:
Os três arquivos das texturas que você tem que criar tem que ter os nomes de tileset_name_Ground
, tileset_name_Wall
e tileset_name_Ceiling
(altura = 8 * largura). Os três tem que ter as mesmas dimensões por tileset.
Você pode obter a qualidade máxima utilizando arquivos de 640*5120px (a demo tem texturas com largura de 480px).
Para ativar o modo FPLE para um mapa, adicione [FPLE] em seu nome.
Os personagens de eventos são exibidos verticalmente, como muros, centralizados e sempre de frente para o jogador, por padrão.
Usando o comando de evento “Comment…” você pode modificar a forma de renderização:
A resolução afeta qualidade de renderização apenas durante os movimentos. Você pode ajudar o valor na classe Game_System
(fple_resolution
).
As superfícies são renderizadas em uma distância fixa, por padrão de 6 quadrados. Você pode ajustar o padrão valor na classe Game_System
(fple_view_distance
) ou usar o comando de evento: $game_temp.set_view(valor)
. Use valores pequenos para melhorar a performance.
Para prevenir que as superfícies fiquem pipocando, uma distância de luz especifica em quantos quadrados a opacidade das superfícies vai ser nula. Este fading trabalha com OPACITY: Sem panorama, quando o background é negro, as superfícies vão ser escuras e escuras com a distância. Esta distância de fading é padronizada em 5 quadrados. Você pode ajustar o valor padrão na classe Game_System (fple_light_distance)
ou usar o comando de evento: $game_temp.set_light(value)
Existem dois outros comandos de eventos que modificam progressivamente esta distância (+ ou – 1):
$game_temp.increase_light
$game_temp.decrease_light
Este efeito de fading pode ser desativado com o valor de distância definido como 0.
Saiba mais sobre a utilização do script no tópico do fórum onde o MCG lançou a engine.
Observação: se você gostou deste post ou ele lhe foi útil de alguma forma, por favor considere apoiar financeiramente a Gaming Room. Fico feliz só de ajudar, mas a contribuição do visitante é muito importante para que este site continua existindo e para que eu possa continuar provendo este tipo de conteúdo e melhorar cada vez mais. Acesse aqui e saiba como. Obrigado!