Centro RPG Maker

Centro de Suporte => Suporte Geral => Suporte para RPG Maker MV, VX/VX Ace e XP => Tópico iniciado por: Felpisio online 02/08/2020 às 15:52

Título: Campo de visão do inimigo
Enviado por: Felpisio online 02/08/2020 às 15:52
Então...
Estou fazendo um sistema de "Campo de visão" para que quando o inimigo esta mais de 20 de distancia do player ele anda aleatoriamente, quando esta a 6 de distancia ele se aproxima lentamente e se esta a 4 ou 3 de distancia ele vai correndo atras do jogador, quando esta a 1 o jogador morre. Funciona bem... Mas o inimigo fica vendo o jogador atras das paredes, fazendo então o inimigo ficar com a cara olhando para a parede, quero saber se não tem como se livrar desse "bug" fazendo com q quando tem uma parede entre o player e o monstro o monstro n consiga ver o player!  :sera:

(https://imgur.com/kUn94gk.png)

1- Quero que quando o jogador esta fora do campo de visão do inimigo o inimigo apenas anda aleatoriamente pelo mapa a procura do jogador.

2- Quero que quando estiver dentro do campo de visão do inimigo o mesmo persegue o player e ele só pare de perseguir o player quando o player estiver muito longe assim fazendo o inimigo voltar para o movimento aleatório.

3- o monstro não ver através das paredes ou dentro de armários.

O jogo só vai ter 1 inimigo e o jogo se passa dentro de uma mansão, a maioria dos objetivos do jogo vai ser achar ou coletar algumas coisas e fugir do monstro (o inimigo). O jogo vai ter alguns armários em que o jogador pode se esconder dentro também!
Título: Re:Campo de visão do inimigo
Enviado por: Brandt online 02/08/2020 às 17:34
A melhor solução é parar de usar eventos pro que não deveria.

Eu fiz um script com funcionamento similar ao que você quer: https://centrorpg.com/index.php?topic=23820.0

Pode dar uma olhada em como funciona, não vai rolar fazer com eventos a menos que você queira colocar uma cacetada de script call e muito sofrimento.
A ideia é usar uma reta pra determinar onde o campo de visão tem interseção com algum obstaculo no mapa, tipo assim:

(https://encrypted-tbn0.gstatic.com/images?q=tbn%3AANd9GcTyM3SrbjUBCjCeiwyX0bgBhCyeZOdxaPzAyg&usqp=CAU)

Pelo que vi do código, seu campo de visão seria um quadrado (meio estranho que o inimigo veja pelas costas mas beleza), nesse caso até dá pra fazer alguma coisa com um scan, percorrendo as coordenadas do mapa sequencialmente partindo do inimigo e parando quando atingir um obstáculo. Seria mais simples, mas talvez o efeito final deixe um pouco a desejar pra áreas maiores.

De toda forma, sugiro procurar algum script pra isso ou achar alguém que possa fazer pra você. Eventos não foram feitos pra fazer sistemas, só eventos.
Título: Re:Campo de visão do inimigo
Enviado por: Crixus online 02/08/2020 às 18:28
Na verdade isso não é um BUG, já que é um calculo de coordenadas, acredito que seja exatamente o mesmo idealizado pelo D-Guy no jogo Chimera Report (Rm2k em meados de 2001~2003), no jogo as paredes eram mais espessas, garantindo que a visão nunca alcançasse o jogador, mas provavelmente você pegou desta tutorial:
https://forums.rpgmakerweb.com/index.php?threads/proximity-distance-check.79791/

Para criar isso por evento seria mais pratico com ID de terreno, mas demandaria muitas gamibarras e com certeza ai sim seria um BUG, o ideal é usar esse Script do Masked/BRANDT.
Título: Re:Campo de visão do inimigo
Enviado por: Felpisio online 02/08/2020 às 23:29
Citação de: Brandt online 02/08/2020 às 17:34
A melhor solução é parar de usar eventos pro que não deveria.

Eu fiz um script com funcionamento similar ao que você quer: https://centrorpg.com/index.php?topic=23820.0

Pode dar uma olhada em como funciona, não vai rolar fazer com eventos a menos que você queira colocar uma cacetada de script call e muito sofrimento.
A ideia é usar uma reta pra determinar onde o campo de visão tem interseção com algum obstaculo no mapa, tipo assim:

(https://encrypted-tbn0.gstatic.com/images?q=tbn%3AANd9GcTyM3SrbjUBCjCeiwyX0bgBhCyeZOdxaPzAyg&usqp=CAU)

Pelo que vi do código, seu campo de visão seria um quadrado (meio estranho que o inimigo veja pelas costas mas beleza), nesse caso até dá pra fazer alguma coisa com um scan, percorrendo as coordenadas do mapa sequencialmente partindo do inimigo e parando quando atingir um obstáculo. Seria mais simples, mas talvez o efeito final deixe um pouco a desejar pra áreas maiores.

De toda forma, sugiro procurar algum script pra isso ou achar alguém que possa fazer pra você. Eventos não foram feitos pra fazer sistemas, só eventos.

Ok, eu posso usar esse script para uso comercial? Se n puder nem vai rolar...

Citação de: Crixus online 02/08/2020 às 18:28
Na verdade isso não é um BUG, já que é um calculo de coordenadas, acredito que seja exatamente o mesmo idealizado pelo D-Guy no jogo Chimera Report (Rm2k em meados de 2001~2003), no jogo as paredes eram mais espessas, garantindo que a visão nunca alcançasse o jogador, mas provavelmente você pegou desta tutorial:
https://forums.rpgmakerweb.com/index.php?threads/proximity-distance-check.79791/

Para criar isso por evento seria mais pratico com ID de terreno, mas demandaria muitas gamibarras e com certeza ai sim seria um BUG, o ideal é usar esse Script do Masked/BRANDT.

Sei q é um erro de calculo e n um bug, eu precisaria salvar de alguma forma as coordenadas ou i ID das paredes e com isso fazer com q o raio X ou Y fosse interrompido com a parede, agr como eu faço isso? Eu n sei...




Dei uma olhada no script e ele é um bom, funciona bem...
Mas faz com q computadores fracos fiquem com muito lag e eu n estou querendo isso, já estou usando o script do Khas q já é bem pesado por si só, se eu adcionar mais esse que tbm é pesado vai parecer super escroto, vão pensar "um jogo 2D pesado pra caramba..." E vão ignorar meu jogo e não irão comprar ele... Quero q meu jogo seja inovador na inteligencia artificial! Quero algo q ninguém viu até hj! Algo leve e eficaz!
Título: Re:Campo de visão do inimigo
Enviado por: Crixus online 03/08/2020 às 01:44
Olha, eu não disse que é um erro de calculo, ele funciona perfeitamente, porém como eu disse, as paredes tem que ser mais espessas, não tem como uma formula matemática simples interpretar o que é ou o que não é parede.
Tem que ser feito assim como no jogo Chimera Report, eu disse antes.

Vamos ao seu caso, se o inimigo não pode ver o jogador à 6 tiles de distancia a parede deve ter 6x6, como no exemplo abaixo:
(https://i54.servimg.com/u/f54/20/24/47/85/distan10.png)
(https://i54.servimg.com/u/f54/20/24/47/85/distan10.png (https://i54.servimg.com/u/f54/20/24/47/85/distan10.png))

Espero que isso resolva, ainda sim discordo da maneira que você usa o sistema, se for interessar abra o Spoiler se tiver mais que 2 inimigos no mapa com certeza acontecerá LAGs.

Spoiler
Você tem que fazer o calculo acontecer uma única vez em ciclos entre 300 (0,3 Segundos) à 500 milissegundos em um evento a parte dos NPCs inimigos, por exemplo um evento fora da visão do mapa, assim pode desativar ele por Switch:
Variável [X Local PL] Jogador X-Mapa
Variável [Y Local PL] Jogador Y-Mapa
Variável [X Local EVT] Inimigo A X-Mapa
Variável [Y Local EVT] Inimigo A Y-Mapa
Fazer cálculos
IFs o evento esteja a igual/menos de 6 veja o jogador:
- Ativar Switch do Inimigo A que vai para uma página que ele segue e muda a velocidade
IFs o evento esteja a mais de 6 veja o jogador:
- Desativar Switch do Inimigo A.
Esperar 400ms
Variável [X Local PL] Jogador X-Mapa
Variável [Y Local PL] Jogador Y-Mapa
Variável [X Local EVT] Inimigo B X-Mapa
Variável [Y Local EVT] Inimigo B Y-Mapa
Fazer cálculos
IFs o evento esteja a igual/menos de 6 veja o jogador:
- Ativar Switch do Inimigo B que vai para uma página que ele segue e muda a velocidade
IFs o evento esteja a mais de 6 veja o jogador:
- Desativar Switch do Inimigo B.
Esperar 400ms
Variável [X Local PL] Jogador X-Mapa
Variável [Y Local PL] Jogador Y-Mapa
Variável [X Local EVT] Inimigo C X-Mapa
Variável [Y Local EVT] Inimigo C Y-Mapa
Fazer cálculos
IFs o evento esteja a igual/menos de 6 veja o jogador:
- Ativar Switch do Inimigo C que vai para uma página que ele segue e muda a velocidade
IFs o evento esteja a mais de 6 veja o jogador:
- Desativar Switch do Inimigo C.
Esperar 400ms
Variável [X Local PL] Jogador X-Mapa
Variável [Y Local PL] Jogador Y-Mapa
Variável [X Local EVT] Inimigo D X-Mapa
Variável [Y Local EVT] Inimigo D Y-Mapa
Fazer cálculos
IFs o evento esteja a igual/menos de 6 veja o jogador:
- Ativar Switch do Inimigo D que vai para uma página que ele segue e muda a velocidade
IFs o evento esteja a mais de 6 veja o jogador:
- Desativar Switch do Inimigo D.
Esperar 400ms
Variável [X Local PL] Jogador X-Mapa
Variável [Y Local PL] Jogador Y-Mapa
Variável [X Local EVT] Inimigo E X-Mapa
Variável [Y Local EVT] Inimigo E Y-Mapa
Fazer cálculos
IFs o evento esteja a igual/menos de 6 veja o jogador:
- Ativar Switch do Inimigo E que vai para uma página que ele segue e muda a velocidade
IFs o evento esteja a mais de 6 veja o jogador:
- Desativar Switch do Inimigo E.
Esperar 400ms


Por experiência própria, faça no máximo 5 inimigos no mesmo mapa. Eu tenho um notebook da positivo que uso apenas para atender clientes e fiz uns testes com Rpg Maker (De diferentes versões) e pra evitar LAGs tem que saber bem gerenciar/economizar os comandos de eventos.
[close]

Apesar de considerar que você ainda deve usar o Script, LAG vai dar em ambas situações, o VX e o ACE são LAG na raiz do sistema, acontece sem Scripts adicionais pra qualquer máquina com 2GB de RAM e processador mais obsoleto que ainda é muito vendido no mercado como "Para uso doméstico".

Se for questão comercial aí só lendo a licença (link no tópico).
Título: Re:Campo de visão do inimigo
Enviado por: Felpisio online 03/08/2020 às 07:42
Citação de: Crixus online 03/08/2020 às 01:44
Olha, eu não disse que é um erro de calculo, ele funciona perfeitamente, porém como eu disse, as paredes tem que ser mais espessas, não tem como uma formula matemática simples interpretar o que é ou o que não é parede.
Tem que ser feito assim como no jogo Chimera Report, eu disse antes.

Vamos ao seu caso, se o inimigo não pode ver o jogador à 6 tiles de distancia a parede deve ter 6x6, como no exemplo abaixo:
(https://i54.servimg.com/u/f54/20/24/47/85/distan10.png)
(https://i54.servimg.com/u/f54/20/24/47/85/distan10.png (https://i54.servimg.com/u/f54/20/24/47/85/distan10.png))

Espero que isso resolva, ainda sim discordo da maneira que você usa o sistema, se for interessar abra o Spoiler se tiver mais que 2 inimigos no mapa com certeza acontecerá LAGs.

Spoiler
Você tem que fazer o calculo acontecer uma única vez em ciclos entre 300 (0,3 Segundos) à 500 milissegundos em um evento a parte dos NPCs inimigos, por exemplo um evento fora da visão do mapa, assim pode desativar ele por Switch:
Variável [X Local PL] Jogador X-Mapa
Variável [Y Local PL] Jogador Y-Mapa
Variável [X Local EVT] Inimigo A X-Mapa
Variável [Y Local EVT] Inimigo A Y-Mapa
Fazer cálculos
IFs o evento esteja a igual/menos de 6 veja o jogador:
- Ativar Switch do Inimigo A que vai para uma página que ele segue e muda a velocidade
IFs o evento esteja a mais de 6 veja o jogador:
- Desativar Switch do Inimigo A.
Esperar 400ms
Variável [X Local PL] Jogador X-Mapa
Variável [Y Local PL] Jogador Y-Mapa
Variável [X Local EVT] Inimigo B X-Mapa
Variável [Y Local EVT] Inimigo B Y-Mapa
Fazer cálculos
IFs o evento esteja a igual/menos de 6 veja o jogador:
- Ativar Switch do Inimigo B que vai para uma página que ele segue e muda a velocidade
IFs o evento esteja a mais de 6 veja o jogador:
- Desativar Switch do Inimigo B.
Esperar 400ms
Variável [X Local PL] Jogador X-Mapa
Variável [Y Local PL] Jogador Y-Mapa
Variável [X Local EVT] Inimigo C X-Mapa
Variável [Y Local EVT] Inimigo C Y-Mapa
Fazer cálculos
IFs o evento esteja a igual/menos de 6 veja o jogador:
- Ativar Switch do Inimigo C que vai para uma página que ele segue e muda a velocidade
IFs o evento esteja a mais de 6 veja o jogador:
- Desativar Switch do Inimigo C.
Esperar 400ms
Variável [X Local PL] Jogador X-Mapa
Variável [Y Local PL] Jogador Y-Mapa
Variável [X Local EVT] Inimigo D X-Mapa
Variável [Y Local EVT] Inimigo D Y-Mapa
Fazer cálculos
IFs o evento esteja a igual/menos de 6 veja o jogador:
- Ativar Switch do Inimigo D que vai para uma página que ele segue e muda a velocidade
IFs o evento esteja a mais de 6 veja o jogador:
- Desativar Switch do Inimigo D.
Esperar 400ms
Variável [X Local PL] Jogador X-Mapa
Variável [Y Local PL] Jogador Y-Mapa
Variável [X Local EVT] Inimigo E X-Mapa
Variável [Y Local EVT] Inimigo E Y-Mapa
Fazer cálculos
IFs o evento esteja a igual/menos de 6 veja o jogador:
- Ativar Switch do Inimigo E que vai para uma página que ele segue e muda a velocidade
IFs o evento esteja a mais de 6 veja o jogador:
- Desativar Switch do Inimigo E.
Esperar 400ms


Por experiência própria, faça no máximo 5 inimigos no mesmo mapa. Eu tenho um notebook da positivo que uso apenas para atender clientes e fiz uns testes com Rpg Maker (De diferentes versões) e pra evitar LAGs tem que saber bem gerenciar/economizar os comandos de eventos.
[close]

Apesar de considerar que você ainda deve usar o Script, LAG vai dar em ambas situações, o VX e o ACE são LAG na raiz do sistema, acontece sem Scripts adicionais pra qualquer máquina com 2GB de RAM e processador mais obsoleto que ainda é muito vendido no mercado como "Para uso doméstico".

Se for questão comercial aí só lendo a licença (link no tópico).

Então eu tenho 3 escolhas:

1°: Usar o script mas dar todos os creditos ao dono (mesmo ele tendo feito só 2% de todo o projeto)  :fliptable:

2°: Fazer com q o mapa fique mais "gordo" oq é algo q eu não gosto, é como botar o problema de baixo do tapete e fingir q nada de errado ta acontecendo...  :hm:

3°: Crio meu próprio Script para resolver meu problema  :._.:

...
Spoiler
Uni duni te...  :lol:
[close]
Título: Re:Campo de visão do inimigo
Enviado por: Corvo online 03/08/2020 às 07:46
Título: Re:Campo de visão do inimigo
Enviado por: Felpisio online 03/08/2020 às 08:17
Bem, eu to trabalhando nesse projeto a 1 mês, ent acho q eu posso ficar + uns dias olhando como faz esse código...
Título: Re:Campo de visão do inimigo
Enviado por: Brandt online 03/08/2020 às 08:25
CitarOk, eu posso usar esse script para uso comercial? Se n puder nem vai rolar...

Sim, leia o tópico, lá tem os termos de uso (licença).

CitarDei uma olhada no script e ele é um bom, funciona bem...
Mas faz com q computadores fracos fiquem com muito lag e eu n estou querendo isso, já estou usando o script do Khas q já é bem pesado por si só, se eu adcionar mais esse que tbm é pesado vai parecer super escroto, vão pensar "um jogo 2D pesado pra caramba..." E vão ignorar meu jogo e não irão comprar ele... Quero q meu jogo seja inovador na inteligencia artificial! Quero algo q ninguém viu até hj! Algo leve e eficaz!

O script não foi feito pra ser usado, propriamente. Eu fiz mais pra aprender como fazia mesmo, há alguns anos atrás, e não tinha experiência suficiente pra otimizar muito o código. Por isso mesmo não sugeri que você usasse o script, só visse como funciona e talvez procurasse alguém pra fazer um mais performático pra você.
Agora, "inovador na inteligência artificial, leve e eficaz" parece bem longe de algo que você vá conseguir fazer usando eventos, o RTP e presumo que nenhum conhecimento de programação. Se é mesmo seu objetivo, sugiro estudar bastante antes.

Aliás, você comentou três vezes uma seguida da outra, evite fazer isso sem necessidade por favor, você podia muito bem ter respondido tudo num comentário só e editado ele depois.

CitarEntão eu tenho 3 escolhas:

1°: Usar o script mas dar todos os creditos ao dono (mesmo ele tendo feito só 2% de todo o projeto)  :fliptable:

2°: Fazer com q o mapa fique mais "gordo" oq é algo q eu não gosto, é como botar o problema de baixo do tapete e fingir q nada de errado ta acontecendo...  :hm:

3°: Crio meu próprio Script para resolver meu problema  :._.:

1. Sugiro ler de novo os termos de uso, acho que você não entendeu.
2. Honestamente, concordo.
3. Bom, é isso que as pessoas inovadoras em inteligência artificial fazem.

E você esqueceu a quarta opção, que é arranjar alguém que saiba fazer o script de um jeito melhor pra você. Se você pretende fazer algo inovador, não vai chegar muito longe sem aprender a programar ou ter um programador na equipe. Todo mundo conhece os sistemas padrão do RPG Maker, e a esse ponto a maioria dos scripts já virou clichê também.

Dito isso, aqui tem uma solução mais eficiente pro problema do que a que eu fiz, se quiser: https://gamedev.stackexchange.com/questions/47576/more-efficient-way-to-implement-line-of-sight-on-a-2d-grid-with-ray-casting
Mais alguns recursos:

https://legends2k.github.io/2d-fov/design.html
https://www.gamedev.net/forums/topic/623320-efficient-line-of-sight-algorithm/

Boa sorte.
Título: Re:Campo de visão do inimigo
Enviado por: Felpisio online 03/08/2020 às 09:17
Citação de: Brandt online 03/08/2020 às 08:25
Sim, leia o tópico, lá tem os termos de uso (licença).

O script não foi feito pra ser usado, propriamente. Eu fiz mais pra aprender como fazia mesmo, há alguns anos atrás, e não tinha experiência suficiente pra otimizar muito o código. Por isso mesmo não sugeri que você usasse o script, só visse como funciona e talvez procurasse alguém pra fazer um mais performático pra você.
Agora, "inovador na inteligência artificial, leve e eficaz" parece bem longe de algo que você vá conseguir fazer usando eventos, o RTP e presumo que nenhum conhecimento de programação. Se é mesmo seu objetivo, sugiro estudar bastante antes.

Aliás, você comentou três vezes uma seguida da outra, evite fazer isso sem necessidade por favor, você podia muito bem ter respondido tudo num comentário só e editado ele depois.

1. Sugiro ler de novo os termos de uso, acho que você não entendeu.
2. Honestamente, concordo.
3. Bom, é isso que as pessoas inovadoras em inteligência artificial fazem.

E você esqueceu a quarta opção, que é arranjar alguém que saiba fazer o script de um jeito melhor pra você. Se você pretende fazer algo inovador, não vai chegar muito longe sem aprender a programar ou ter um programador na equipe. Todo mundo conhece os sistemas padrão do RPG Maker, e a esse ponto a maioria dos scripts já virou clichê também.

Dito isso, aqui tem uma solução mais eficiente pro problema do que a que eu fiz, se quiser: https://gamedev.stackexchange.com/questions/47576/more-efficient-way-to-implement-line-of-sight-on-a-2d-grid-with-ray-casting
Mais alguns recursos:

https://legends2k.github.io/2d-fov/design.html
https://www.gamedev.net/forums/topic/623320-efficient-line-of-sight-algorithm/

Boa sorte.

Ok, acho que entendi...
Isso me deu uma ideia do q posso fazer...
Gostaria de conversar com vc um pouco, pensei em coisas que seu script pode fazer que pode ajudar a revolucionar alguns jogos em 2D...
Título: Re:Campo de visão do inimigo
Enviado por: Crixus online 03/08/2020 às 23:09
Citação de: Felpisio online 03/08/2020 às 07:42
Então eu tenho 3 escolhas:

1°: Usar o script mas dar todos os créditos ao dono (mesmo ele tendo feito só 2% de todo o projeto)  :fliptable:

2°: Fazer com q o mapa fique mais "gordo" oq é algo q eu não gosto, é como botar o problema de baixo do tapete e fingir q nada de errado ta acontecendo...  :hm:

3°: Crio meu próprio Script para resolver meu problema  :._.:

1 - Imagino que você usou RTP, pode tirar mais porcentagem aí, usou um Script de ABS, mais um pouco. Em todo lugar que usar o Script será mais porcentagem... Assim como eu que usei uma única DLL pra poder ter um sistema de ScreenShot no jogo que realmente salvasse a imagem pro SAVE ter foto, a DLL não pesa quase nada em relação ao meu projeto, mas o fato dela existir abriu varias portas, poderia ser uma única linha, uma única fórmula matemática que ainda sim merece todo crédito e agradecimento.

2 - Se você vai fazer mapas com base do que vemos em trocentos jogos criados com o RmVX/ACE lamento te informar amigo, mas aí é questão de experiência, tente "inovar" na questão MAPEAR e aí sim você poderá aproveitar o sistema independente de ser por Script ou Eventos. Veja os jogos baseados em Metal Gear que usam/simulam sistema "Stealth" (Furtivo):
https://metallicrear.itch.io/metallic-rear/devlog/92119/welcome-to-stealth-parody-gaming
https://golden-box-studios.itch.io/metal-gear-the-stranded-man

3 - Isso vai tomar tempo que você poderia estar usando para outros problemas de produção do seu jogo. Isso provavelmente já foi criado, imagino que um destes seja mais o que você procura:
https://forums.rpgmakerweb.com/index.php?threads/stealth-system.3336/
http://rmrk.net/index.php?topic=48099.0




Citação de: Corvo online 03/08/2020 às 07:46

  • Isso é o mínimo. Citar as pessoas que te ajudaram não é um peso, independentemente se elas criaram um sistema que você está usando ou consertaram um pixel errado em alguma imagem.
  • Mapa maior = Mais coisa pra processar, mais lag.
  • Havia escrito todo um texto sobre o problema, mas já que a opção está aberta, apaguei tudo e deixo apenas o seguinte comentário: Leve, eficaz e inteligência artificial na mesma frase complica. Principalmente com RPG Maker. Acho até que dá pra otimizar estes sistemas. Talvez usando o RGD (https://centrorpg.com/index.php?topic=20465.msg147596#msg147596) para criar uma camada extra onde os sensores serão gerados, ignorando os tiles em si. O "efeito" de visão dele me parece bem apropriado. Boa sorte.
Eita...
1 - Sim, afinal, não só por obrigação mas por gratidão, assim como eu sempre cito o D-Guy criador do Chimera Report. Foi por causa do jogo dele que percebi que o Rm2k não era limitado apenas ao que se via na engine e sim que se podia simular sistemas diferentes, como ABS, Menus, efeitos com pictures pra criar filminhos. Isso em 2004 quando eu consegui o Rm2k/Rm2k3 pelo cd da digerati (Peguei emprestado, eu não tinha dinheiro).
2 - Exatamente, independente do uso de Scripts, imagine se for necessário renderizar um mapa enorme, assim como acontece com o MODE 7 (Eu usava uma máquina com 256Mb de RAM, sofria).
3 - Aquela classe Geometry parece ser bem o necessário pra resolver o problema, mas ainda estou testando.




Citação de: Felpisio online 03/08/2020 às 09:17Gostaria de conversar com vc um pouco, pensei em coisas que seu script pode fazer que pode ajudar a revolucionar alguns jogos em 2D...
Muitos jogos 2D já tem sistema de inteligencia artificial, você quis dizer jogos 2D de Rpg Maker?
Título: Re:Campo de visão do inimigo
Enviado por: Felpisio online 04/08/2020 às 09:23
Citação de: Crixus online 03/08/2020 às 23:09
1 - Imagino que você usou RTP, pode tirar mais porcentagem aí, usou um Script de ABS, mais um pouco. Em todo lugar que usar o Script será mais porcentagem... Assim como eu que usei uma única DLL pra poder ter um sistema de ScreenShot no jogo que realmente salvasse a imagem pro SAVE ter foto, a DLL não pesa quase nada em relação ao meu projeto, mas o fato dela existir abriu varias portas, poderia ser uma única linha, uma única fórmula matemática que ainda sim merece todo crédito e agradecimento.

2 - Se você vai fazer mapas com base do que vemos em trocentos jogos criados com o RmVX/ACE lamento te informar amigo, mas aí é questão de experiência, tente "inovar" na questão MAPEAR e aí sim você poderá aproveitar o sistema independente de ser por Script ou Eventos. Veja os jogos baseados em Metal Gear que usam/simulam sistema "Stealth" (Furtivo):
https://metallicrear.itch.io/metallic-rear/devlog/92119/welcome-to-stealth-parody-gaming
https://golden-box-studios.itch.io/metal-gear-the-stranded-man

3 - Isso vai tomar tempo que você poderia estar usando para outros problemas de produção do seu jogo. Isso provavelmente já foi criado, imagino que um destes seja mais o que você procura:
https://forums.rpgmakerweb.com/index.php?threads/stealth-system.3336/
http://rmrk.net/index.php?topic=48099.0



Eita...
1 - Sim, afinal, não só por obrigação mas por gratidão, assim como eu sempre cito o D-Guy criador do Chimera Report. Foi por causa do jogo dele que percebi que o Rm2k não era limitado apenas ao que se via na engine e sim que se podia simular sistemas diferentes, como ABS, Menus, efeitos com pictures pra criar filminhos. Isso em 2004 quando eu consegui o Rm2k/Rm2k3 pelo cd da digerati (Peguei emprestado, eu não tinha dinheiro).
2 - Exatamente, independente do uso de Scripts, imagine se for necessário renderizar um mapa enorme, assim como acontece com o MODE 7 (Eu usava uma máquina com 256Mb de RAM, sofria).
3 - Aquela classe Geometry parece ser bem o necessário pra resolver o problema, mas ainda estou testando.



Muitos jogos 2D já tem sistema de inteligencia artificial, você quis dizer jogos 2D de Rpg Maker?

Sim meu caro, muitos usam o sistema de campo de visão pra jogos stealth, mas no meu caso eu misturei o stealth com perseguição, fazendo um sistema de "perseguição avançado" e isso sim n foi tão usado no mercado do RPG Maker! (no caso, pra jogos de survival horror em RPG Maker)
Sim, podemos usar o sistema stealth em jogos de terror, mas podemos trazer a agonia ao jogador! Imagina:
Vc esta jogando um jogo de terror, vc ta no escuro com o sistema de luz realista, ou seja, vc n consegue ver oq tem atras da outra parede, vc nesse ambiente escuro passa por algumas salas, até q do nada a tela fica vermelha e vc ouve um grito vindo em sua direção, vc n sabe para onde correr, mas vc corre, cego pela escuridão, sem saber oq esta te perseguindo, vc só corre até achar um armário, vc entra no armário, e escuta aquele maldito som chegar perto, até ver aquela coisa q vc n sabe oq é, te procurando...
Me fala um jogo de terror em RPG Maker q faz algo assim...
Título: Re:Campo de visão do inimigo
Enviado por: Crixus online 04/08/2020 às 10:09
Não precisa usar o CITAR pra responder uma mensagem acima da sua, além do mais ao que parece você só respondeu uma parte de tudo que eu escrevi.

Mas os jogos com sistemas Stealth já tem perseguição por padrão, então ficou meio redundante, poderia explicar melhor?

Observação: Eu me recordo de alguns jogos (Rpg Maker sem Scripts) que usavam desse tipo de sistema e quando um dos inimigos percebiam o jogador avisa os outros próximos, mas acredito que o jogo era alemão/austríaco, por isso não consegui avançar muito devido algum puzzle, infelizmente não me recordo o título.

Aqui está o The Chimera Report (Rpg Maker 2000):
https://youtu.be/YMfuc8mUqjU

Paredes com tamanho mais realista, sistema de perseguição, somente a batalha que depende de menu, isso foi feito em 2002, ou seja, foi antes do que eu imaginei.

Jogos de Survive Horror variam o estilo de Stealth, mas são muito pequenas as diferenças.
Título: Re:Campo de visão do inimigo
Enviado por: Felpisio online 04/08/2020 às 14:17
Algum jogo de RPG Maker já usou isso pra jogos de terror?
Título: Re:Campo de visão do inimigo
Enviado por: Crixus online 04/08/2020 às 19:14
O que estava em alemão era de terror, mas lembrava mais Silent Hill do que R.E., era algo com vários eventos de mapa, seria algo que provavelmente causaria mais lags no VX, não sei por que no Rm2k não causa tanto.

Edit:
Eu não lembro realmente o método usado ou se fui eu tentando replicar por que não conseguia entender o algoritmo do D-Guy, mas lembro que foi assim que eu fiz, mas com ID de terreno.

Segue em Spoiler como funciona:

Spoiler
Sendo o botão vermelho a área que o inimigo não vê e a área verde a visivel se o jogador tocar (Bellow Characters/Abaixo do jogador para dar impressão de ser área do sensor).
(https://i.servimg.com/u/f54/20/24/47/85/th/0110.png) (https://servimg.com/view/20244785/13)|(https://i.servimg.com/u/f54/20/24/47/85/th/0211.png) (https://servimg.com/view/20244785/12)|(https://i.servimg.com/u/f54/20/24/47/85/th/0312.png) (https://servimg.com/view/20244785/11)|(https://i.servimg.com/u/f54/20/24/47/85/th/0411.png) (https://servimg.com/view/20244785/10)

Ao invés do campo de visão ser do jogador como eu fiz no meu jogo, mas na questão da parede eu tive que fazer o contrário por questão de rapidez pra efetuar os testes de colisão.
Eu sei fazer um calculo com coordenadas, mas iria ficar um evento enorme e eu teria que cria pra cada um do próprio monstro/inimigo.
[close]

Bem, fico por aqui, acho que já estou sendo inconveniente, boa sorte, tente ver os links que eu passei nas mensagens anteriores...
Título: Re:Campo de visão do inimigo
Enviado por: Felpisio online 08/08/2020 às 17:46
 Ok, eu tentei usar o script do nosso colega Brandt e funcionou bem na fase teste, mas quando aplicado no projeto não ficou muito bom... (O script não foi feito para um projeto de stealph como o meu).
Estou bem confuso de qual o melhor método para se fazer a inteligencia do meu monstro.
Eu não sei como vc fez o sistema q me mostrou nas imagens da pagina anterior, eu não sei fazer scripts profissionais como o Brandt faz, eu não sei se quebro esse notebook em que estou escrevendo, eu não sei desisto da vida... EU NÃO SEI!  :fliptable:
(E essa nem é a parte mais difícil do meu projeto :._.:).
Eu só queria um sistema de quando o player estivesse num raio X do monstro o mesmo o perseguia e quando o monstro tocasse no player o player morre, mas caso o player se afaste o suficiente do monstro o mesmo esquecia onde o player esta e voltava a fazer sua movimentação aleatória! (incluindo é claro o sistema de ele não ver atras das paredes).
Acho q preciso de um tutorial...  :T.T:
Título: Re:Campo de visão do inimigo
Enviado por: Crixus online 08/08/2020 às 19:01
CitarEu não sei como vc fez o sistema q me mostrou nas imagens da pagina anterior
Bem, você não teria mesmo como saber por que eu apenas expliquei a lógica e não como aplicar, em todo caso eu teria que te ensinar a usar IF/Condições além do que você parece saber, mas não vejo resultado positivo já que você explicou que seu sistema Stealth parece fora do comum, sendo algo mais a uma visão sua do que aos padrões que vimos antes como em Silent Hill ou Resident Evil (Criaturas especificas).

Boa sorte.
Título: Re:Campo de visão do inimigo
Enviado por: Corvo online 08/08/2020 às 19:06
Seguinte, jovem. Dá pra fazer, não vai ficar suave, mas funciona. Este código (https://centrorpg.com/index.php?topic=9235.msg72969#msg72969) faz o seguinte, toda vez em que o jogador estiver dentro do campo de visão do inimigo, a página "D" do evento será ligada. Ou seja, se nessa página ele estiver configurado pra seguir, ele só vai correr atrás do personagem enquanto ele estiver dentro da visão. Na primeira página, ou página padrão, basta configurar a movimentação normal. Porém, de toda forma, se os mapas forem muito grandes com muitos inimigos, vai travar.
Título: Re:Campo de visão do inimigo
Enviado por: Crixus online 08/08/2020 às 19:17
Corvo eu teria passado esse Script, mas o link está indisponível e não dá pra ter certeza se ele é a prova de paredes. O porém é que eles disse que o do Masked funciona, mas dentro do projeto dele não, por que justamente ou ele faz algo errado na programação de eventos.

Edit, achei no outro site dele:
https://dax-soft.weebly.com/ultimate-sensor-event.html




Além do mais passei outras opções que ao que parece não serviram ou alguma outra coisa aconteceu:
Citação de: Crixus online 03/08/2020 às 23:09
(...)
3 - Isso vai tomar tempo que você poderia estar usando para outros problemas de produção do seu jogo. Isso provavelmente já foi criado, imagino que um destes seja mais o que você procura:
https://forums.rpgmakerweb.com/index.php?threads/stealth-system.3336/
http://rmrk.net/index.php?topic=48099.0
(...)
Título: Re:Campo de visão do inimigo
Enviado por: Felpisio online 08/08/2020 às 19:21
Ok, vamos com calma, eu entendi a parte teórica, só q eu preciso da parte pratica, sei usar condições sim, eu só tenho dificuldade com scripts e plugins q o RPG Maker usa! Meu jogo só vai ter 1 inimigo, então acho q o lag vai ser menor...
Sobre aquele "sensor" q me mandaram em link, eu já conheci ele, mas ele é muito difícil de se botar no game e também é necessário baixar mais um monte de coisas pra rodar...
Eu só quero a solução pra o meu problema! N importa se eu sei ou n isso e aquilo, eu quero q me digam como solucionar o problema que estou tendo, que no caso é fazer um campo de visão para o inimigo e com isso fazer com q ele n veja atrás das paredes!
Título: Re:Campo de visão do inimigo
Enviado por: Corvo online 08/08/2020 às 19:37
Citação de: Crixus online 08/08/2020 às 19:17
Corvo, eu teria passado esse Script, mas o link está indisponivel e não dá pra ter certeza se ele é a prova de paredes.

Vish, nem conferi. Dá sim pra configurar as paredes, ele identifica a passabilidade dos tiles. Eu tenho uma versão aqui, mas como nem foi publicada o código não está comentado, recebi do Kvothe (https://centrorpg.com/index.php?action=profile;u=91) para testar. Dito isso, melhor eu não postar sem permissão dele, mas quem precisar pode tentar entrar em contato. Ele sumiu, mas ainda aparece vez ou outra e, se me lembro bem, fornecia licenças disso na gringa.


Citação de: Felpisio online 08/08/2020 às 19:21
[...]
Sobre aquele "sensor" q me mandaram em link, eu já conheci ele, mas ele é muito difícil de se botar no game e também é necessário baixar mais um monte de coisas pra rodar...

Então, por ser uma função que não está nem prevista no código original, acaba dando um trabalhinho pequeno pra configurar mesmo. Apesar de que, se comparado com outros códigos, este é quase plug&play. Por partes, você precisa:

a) Que inimigos tenham um campo de visão;
b) Que este campo de visão não atravesse paredes;
c) E que o comportamento dos inimigos mude caso o jogador esteja dentro deste campo.

Este script faz exatamente isso. O seu inimigo terá um comportamento X, a movimentação normal que você configura em uma página. Ao mesmo tempo, ele terá um campo de visão configurável, que pode ou não atravessar tiles com base na passabilidade destes (ex: paredes, buracos, líquidos, etc). E, uma vez tendo reconhecido o personagem dentro deste campo, o evento no qual o inimigo está terá outra página em funcionamento, ou seja, outro comportamento.

Enfim, como o Crixus sugeriu, você já tem o código do Masked/Brandt em mãos aí. Como, exatamente, você está tentando fazer ele funcionar? Qual a diferença no ambiente dos testes e do seu projeto? Quais erros aparecem (em detalhes, tipo, error xyz bolinha no método espinossauro, linha 14)? O programa vai te fornecer uma mensagem com tudo isso. Se não aparecer na tela, marque essa opção aqui para ver o console durante os testes.

(https://i.imgur.com/MuPqbyV.png)
Título: Re:Campo de visão do inimigo
Enviado por: Felpisio online 08/08/2020 às 19:41
Vou ver se boto esse sensor...
Caso n consiga eu volto a escrever aqui...
Título: Re:Campo de visão do inimigo
Enviado por: Crixus online 08/08/2020 às 19:49
Ok vamos, listar como realmente o seu jogo deve funcionar, levando em consideração que usando o sistema do D-Guy (Sim, pois não vi ninguém antes dele usar, por isso falo que é dele) é possível criar mais condições, mas causaria lag com vários eventos entrando ao mesmo tempo no campo do jogador, vamos listar:

[list]
[*]O sensor deve ser por NPC de aproximação ao invés do personagem.
[*]Terão entre 1 e 10 NPCs em um único mapa por padrão do jogo.
[*]O raio do sensor deve partir do centro do NPC e não mais a frente, o que faria mais lógica com um ser mais humanoide, a não ser que ele tenha mais olhos.
[*]O raio deve ser ignorado nos [i]tiles[/i] (espaços ocupados pelos eventos) que forem paredes, e os que ficarem mais longe ignorados em cascata ao afetar eles.
[*]O sistema precisa ser facilmente aplicável ao projeto, que até o momento só contem um sistema de batalha que pode ser causador dos lags.
[*]A ideia do jogo é um campo de visão das criaturas onde elas percebem a presença do jogador ao verem ele e não ao escutarem os seus passos, caso contrário paredes de 1 [i]tile[/i] de distancia não seriam um problema pra criatura.
[/list]


Agora copie isto, edite pro que realmente você acha estar certo, remova o que eu errei e coloque na postagem principal, assim ficará mais fácil pra quem vier tentar criar ajudar com um Script.

Citação de: Felpisio online 08/08/2020 às 19:41
MEU CONSAGRADO! EU SÓ QUERO QUE ME DIGA COMO VC FEZ ISSO!!!
COMO VC FEZ?!
Como eu disse, é algo lógico por eventos que você disse ter total experiência, visualmente se vê que são eventos usando "Local de Evento" (Estou usando o VXAce em inglês, não sei a tradução), então cada sensor é um evento de mapa, os mais longe são afetados pelos mais próximos em cascata caso a ID de terreno (TAG) seja a posição de um deles.

Sobre o sistema por eventos:
Spoiler
Eu posso aplicar o funcionamento com um evento de mapa, onde o código de evento fica bem grande ou com vários onde cada criatura terá 24 eventos auxiliares, que é o caso da imagem, o problema são os LAGs, eu realmente me aposentei da parte de criar DEMOs pra disponibilizar, então lamento e além disto ainda precisaria ajustar ao imaginar no mínimo 5 criaturas por área, assim como o D-Guy fez, criou um mapa "Padrão" e o replicava pra cada mapa que tivesse monstros pra enfrentar e deletava os inimigos a mais. Entenda que não é por má vontade, mas realmente eu acho que vou ficar upando arquivo várias vezes até acertar o que você quer, a última vez que fiz isso recriei do zero o sistema todo que rodou fluentemente ao invés de algo misturado várias coisas, era um ABS quase idêntico ao do DBZ de Game Boy Advanced, e no fim o projeto foi cancelado nos meses seguintes.
[close]

Eu ainda acredito que o problema possa ser com algum script de terceiros já incluídos ao projeto, por que pelo que contei já foram 4 Scripts diferentes postados aqui e nenhum pareceu sanar o problema.
Título: Re:Campo de visão do inimigo
Enviado por: Felpisio online 08/08/2020 às 20:14
Eu nunca fiquei tão confuso em toda minha vida...
Ok, eu não vou conseguir fazer essa budega sem travar...
Vou ter q fazer o seguinte então...
Estudar os scripts das pessoas q fazem o sistema do sensor não ver através da parede e entender pq ele trava,fazer minha versão, assim chegarei em alguma conclusão...
Título: Re:Campo de visão do inimigo
Enviado por: Crixus online 08/08/2020 às 20:27
Pra ser franco você não pareceu ler minha postagem, igual uma lá pra trás, não vejo motivo pra confusão, em uma parte o Corvo e eu falamos pra você listar cada detalhe de como o jogo deve funcionar, na outra eu explico apenas como eventos que você disse entender bem como funcionam:
(https://i.servimg.com/u/f54/20/24/47/85/th/vxa-se10.png) (https://servimg.com/view/20244785/14)

Mas distanciando cada sensor com operações matemáticas (+ ou -):
(https://i.servimg.com/u/f54/20/24/47/85/vx-set10.png) (https://servimg.com/view/20244785/15)

Está é a maneira mais fácil de entender o sistema, mas a maneira mais fácil pra aplicar um sistema de efeito sonoro da criatura se aproximando, vai que você está usando um sistema de Mode7 ou FPLE:
Spoiler
https://save-point.org/thread-4404.html
https://save-point.org/thread-279.html
[close]

E por fim usar as condições pra saber quando sair do raio de um NPC especifico.
Título: Re:Campo de visão do inimigo
Enviado por: Felpisio online 08/08/2020 às 20:59
Ok, vcs querem uma listagem de oq eu quero fazer, certo?(desculpa se tiver entendido errado) Então aqui esta:

1- Quero que quando o jogador esta fora do campo de visão do inimigo o inimigo apenas anda aleatoriamente pelo mapa a procura do jogador.

2- Quero que quando estiver dentro do campo de visão do inimigo o mesmo persegue o player e ele só pare de perseguir o player quando o player estiver muito longe assim fazendo o inimigo voltar para o movimento aleatório.

3- o monstro não ver através das paredes ou dentro de armários.

O jogo só vai ter 1 inimigo e o jogo se passa dentro de uma mansão, a maioria dos objetivos do jogo vai ser achar ou coletar algumas coisas e fugir do monstro (o inimigo). O jogo vai ter alguns armários em que o jogador pode se esconder dentro também!

Desculpa se parece que não estou dando atenção, mas é muito pelo contrário! Estou dando toda minha atenção a vcs! É q eu to esquentando pra caramba a cabeça pra entender como eu faço isso...
Título: Re:Campo de visão do inimigo
Enviado por: Crixus online 08/08/2020 às 21:17
Desculpe amigo, a visão do armário chega à ser abstrato, já que não imagino como é a simulação de "Armario" no seu jogo. Ainda acredito que seja melhor você realmente descansar bastante, tentar criar um joguinho diferente afim de estudar e descançar cabeça:
Citação de: Crixus online 08/08/2020 às 19:49
(...)
Agora copie isto, edite pro que realmente você acha estar certo, remova o que eu errei e coloque na postagem principal, assim ficará mais fácil pra quem vier tentar criar ajudar com um Script.
(...)

Eu ia detalhar mais sobre o meu sistema que imagino ser útil pra estudos, mas depois das ultimas postagens estou um pouco cansado de escrever e temo escrever à toa, eu quero mesmo te ajudar, mas não quero ter que fazer do zero pra você, e acabar não dando resultado com os demais scripts, isso vai ficar muito frustrante, além do mais talvez você não esteja em condições de aplicar o sistema devido ao tempo que já gastou, deu pra ver isso por que realmente você não viu os demais detalhes nos textos de cada postagem.
Título: Re:Campo de visão do inimigo
Enviado por: Felpisio online 08/08/2020 às 21:20
Citação de: Crixus online 08/08/2020 às 21:17
Desculpe amigo, a visão do armário chega à ser abstrato, já que não imagino como é a simulação de "Armario" no seu jogo.
Sabe jogos como Alien Isolation ou Outlast onde vc consegue entrar dentro de um armário e se esconder do perigo? É tipo isso...
Título: Re:Campo de visão do inimigo
Enviado por: Corvo online 08/08/2020 às 21:23
Citação de: Felpisio online 08/08/2020 às 21:20
Sabe jogos como Alien Isolation ou Outlast onde vc consegue entrar dentro de um armário e se esconder do perigo? É tipo isso...

Entendendo o funcionamento das paredes, você só precisa considerar o tile/posição do "armário" como uma delas. Porém, uma que permita que o jogador interaja. Um exemplo, crie uma parede sólida, isto é, sem passabilidade mesmo. Nela, coloque um evento no qual você permite que o jogador atravesse tiles bloqueados e fique lá dentro. Ao apertar um botão, o jogador sai de lá e retoma as configurações normais (ser bloqueado por paredes).

Assim você tem um esconderijo.
Título: Re:Campo de visão do inimigo
Enviado por: Crixus online 08/08/2020 às 21:24
Citação de: Felpisio online 08/08/2020 às 21:20
Sabe jogos como Alien Isolation ou Outlast onde vc consegue entrar dentro de um armário e se esconder do perigo? É tipo isso...
Isso é óbvio, por isso coloquei a palavra Armario entre ASPAS, por que eu me refiro a ideia, no jogo o armário pode ser um desenho, um tile, um espaço no mapa, eu não sei, a percepção é sua, eu não vi o jogo. 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.
Título: Re:Campo de visão do inimigo
Enviado por: Felpisio online 08/08/2020 às 21:42
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...
Título: Re:Campo de visão do inimigo
Enviado por: 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://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]
Título: Re:Campo de visão do inimigo
Enviado por: Felpisio online 08/08/2020 às 22:59
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...
Título: Re:Campo de visão do inimigo
Enviado por: Crixus online 08/08/2020 às 23:21
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.
Título: Re:Campo de visão do inimigo
Enviado por: Felpisio online 08/08/2020 às 23:44
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...
Título: Re:Campo de visão do inimigo
Enviado por: Crixus online 08/08/2020 às 23:57
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.
Título: Re:Campo de visão do inimigo
Enviado por: Felpisio online 09/08/2020 às 11:11
Crixus, vc pode pelo menos deixar um download do teu projeto pra me analisar como vc fez aquilo?  :sera:
Título: Re:Campo de visão do inimigo
Enviado por: Crixus online 09/08/2020 às 15:17
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)
Título: Re:Campo de visão do inimigo
Enviado por: Felpisio online 09/08/2020 às 15:55
Ok, acho q agr estou entendendo oq vc fez...
Título: Re:Campo de visão do inimigo
Enviado por: Crixus online 09/08/2020 às 18:51
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:
(https://i54.servimg.com/u/f54/20/24/47/85/output10.gif)

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.
Título: Re:Campo de visão do inimigo
Enviado por: 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.
Título: Re:Campo de visão do inimigo
Enviado por: Gabriel online 09/08/2021 às 16:22
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 (https://centrorpg.com/index.php?board=116.0) correta e te responderemos.  :ok: