O TEMA DO FÓRUM ESTÁ EM MANUTENÇÃO. FEEDBACKS AQUI: ACESSAR

Campo de visão do inimigo

Iniciado por Felpisio, 02/08/2020 às 15:52

Citação de: Crixus online 08/08/2020 às 21:24
Por isso volto a dizer, afim de ajudar, talvez você precise pausar o seu projeto, criar algo mais simples pra estudar e descansar a mente disso.
Vou tentar fazer isso amanhã, mas acho q tive uma ideia de oq fazer...
Eu só sou um cara que quer criar jogos épicos!

08/08/2020 às 22:50 #31 Última edição: 09/08/2020 às 19:32 por Crixus
Pra entender o por que eu não posso nem pensar em disponibilizar o sistema que eu fiz:
https://youtu.be/wEH86spTcdI

Ele vai causar muito Lag, é simplesmente um meio de testar o SET EVENT LOCATION, mas que com o mesmo calculo eu poderia criar um sistema que seria enorme, na verdade isso é um sistema de colisão (Termo padrão usado em softwares de desenvolvimento de jogos).

Pra entender:
Spoiler

Esse tipo de sistema não é tão difícil fazer no Game Maker, que seria um "objeto" circular invisível, que ao colidir com algum objeto ou tile diminua o diâmetro até não colidir e fique tentando aumentar, mas esse seria o exemplo mais simples.

Por favor, eu estou explicando a lógica e não dizendo pra usar o Game Maker.  :ok:
[close]

Citação de: Crixus online 08/08/2020 às 22:50
Pra entender o por que eu não posso nem pensar em disponibilizar o sistema que eu fiz:
https://www.youtube.com/embed/wEH86spTcdI
Eu acho que sei uma forma de reduzir o lag...
Ao invés de botar um monte de ID 1 pelo mapa pq n botar pra ele verificar onde não tem nenhum ID no mapa? Ou seja, ID 0...
:=|: N faço ideia se iria funcionar, mas não custa tentar...
Eu só sou um cara que quer criar jogos épicos!

08/08/2020 às 23:21 #33 Última edição: 09/08/2020 às 00:00 por Crixus
Não é isso que gera LAGs e sim a quantidade de processos, o meio foi um teste pra ter certeza de que funcionaria, agora eu teria de passar isso que eu fiz pra um sistema limpo sem os vários eventos no mapa, seria tudo calculo de área simulado, mas como eu disse antes, eu não vou gastar tempo com isso e me frustrar se vier à não ser usado.

O que posso dizer apenas que o Set Event Location vai ser substituído por um único evento em processo paralelo que modifique a coordenada do monstro a cada 2~3 frames até completar as 24 posições equivalente aos eventos do vídeo, mas SEM os eventos, nem vai ser visível.

Se todos os monstros do jogo tiverem a mesma distancia de sensor, que no caso é 6, esse sistema seria menor ainda, sendo que será alterado apenas a coordenada do jogador durante o jogo, de forma espiral de dentro pra fora.

A ideia é essa, caso o sensor fosse de 1 tile de distancia:
CitarVar X-Player = Player X-Map
Var Y-Player = Player Y-Map
# Circular o Jogador
Var Y-Player = Var Y-Player + 1
Call: Event Colision
Wait:2fps
Var X-Player = Var X-Player - 1
Var Y-Player = Var Y-Player - 1
Call: Event Colision
Wait:2fps
Var X-Player = Var X-Player + 1
Var Y-Player = Var Y-Player - 1
Call: Event Colision
Wait:2fps
Var X-Player = Var X-Player + 1
Var Y-Player = Var Y-Player + 1
Call: Event Colision

O evento chamado:
CitarIf X-Player = X-Enemy
   If X-Player = X-Enemy
      Animation: Exclamation
   End
End

Observação, eu sempre me confundo com os FRAMES, então posso ter colocado um tempo muito curto, pode ser que tenha que aumentar.

08/08/2020 às 23:44 #34 Última edição: 08/08/2020 às 23:45 por Felpisio
Citação de: Crixus online 08/08/2020 às 23:21
eu não vou gastar tempo com isso e me frustrar se vier à não ser usado.
Mas e se ele for usado? E se conseguir "dibrar" o lag?
:P
Acho q tive uma ideia...
Eu só sou um cara que quer criar jogos épicos!

Citação de: Felpisio online 08/08/2020 às 23:44Mas e se ele for usado? E se conseguir "dibrar" o lag?
Provavelmente não vai ter LAG, o fato é que eu já tenho mais de 10 anos na área e não pretendo gastar horas trabalhando nisso pra não ter certeza, a lógica do sistema está aí acima, imagino que com distancia de um TILE não ficou difícil entender.

Crixus, vc pode pelo menos deixar um download do teu projeto pra me analisar como vc fez aquilo?  :sera:
Eu só sou um cara que quer criar jogos épicos!

Mas não muda muito pro que você viu acima, além do mais de 24 eventos "Sensores" diminui pra 12, cada sensor vai ter a própria coordenada que vai partir do centro do personagem, mas a demora do tempo de resposta vai aumentar, digamos que ao invés de instantâneo vai ficar com uma variação de 1 à 2 segundos, eu julgo que ficaria mais realista e menos "vídeo game":
https://youtu.be/FqQntaOyIdU
(Este vídeo será excluído depois que eu trocar o movimento por Set Event Location)

Acontece que eu apenas para ter certeza de que realmente funciona, e provavelmente vou usar um pouco de RGSS3 pra confirmar se os Tiles à frente de cada sensor são passáveis, já que ele apresenta uma diferença quanto ao Rm2k/2k3 nas colisões de eventos.

Qual a diferença, é bem provável que eu não precisarei mais usar TAG no terreno, graças ao RGSS3:
$game_map.events[event_id].passable?($game_map.events[event_id].x, $game_map.events[event_id].y, $game_map.events[event_id].direction)


Ok, acho q agr estou entendendo oq vc fez...
Eu só sou um cara que quer criar jogos épicos!

09/08/2020 às 18:51 #39 Última edição: 09/08/2020 às 19:39 por Crixus
Eu fiz 3 versões do sistema, no mesmo projeto, cada uma com um meio de calcular a área, mas somente está última estava funcionando sem nenhum imprevisto, os quadradinhos são eventos de mapa, mas seriam removidos substituindo o charaset por um sem imagem alguma:


A colisão dele seria pela coordenada do personagem durante o [Set Event Location] de cada evento sensor (Um de cada vez, sendo 12 no total) em poucos frame tornando a colisão quase em tempo real.

Eu dividi por páginas pra não ficar rolando até achar onde estivesse cada falha de operação (Matemática) nas coordenadas:
https://servimg.com/view/20244785/17

Dentro dessa ideia o sistema de verificar se não está mais no campo de visão do inimigo ainda não estaria pronto, seria mais fácil usar o sistema do D-Guy pra isso.

Porém ainda não tinha incluído a parte RGSS pra confirmar se poderia passar, o que neste caso já confirmei que não precisará usar mais TAG de terreno.

Só que agora o fim de semana acabou e junto dele o meu tempo, entre outras coisas que já lhe falei por MP.

Demais usuários, caso queiram ver os outros sistemas:
Primeira versão com 24 sensores, usando várias IFs pra verificar as paredes (Através de TAG):
https://centrorpg.com/index.php?topic=24567.msg170284#msg170284
+ Vídeo funcionando.

Segunda versão com 12 sensores, muito funcional, porém os eventos mesmo abaixo do nível do charset colidem com outros eventos, realmente este era quase certo:
https://centrorpg.com/index.php?topic=24567.msg170295#msg170295
+ Vídeo funcionando.

Queria saber como desativar o autosalvar do rpg maker mz, pois eu não quero que do nada o jogo sejaa salvo automaticamente entende?
Obs: tirei a opção salvar do menu.

Citação de: LEGO online 09/08/2021 às 16:10
Queria saber como desativar o autosalvar do rpg maker mz, pois eu não quero que do nada o jogo sejaa salvo automaticamente entende?
Obs: tirei a opção salvar do menu.
Ok, mas o que isso tem a ver com o assunto do tópico? Crie um tópico novo na área correta e te responderemos.  :ok: