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

08/08/2020 às 17:46 #15 Última edição: 08/08/2020 às 17:47 por Felpisio
 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:
Eu só sou um cara que quer criar jogos épicos!

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.

Seguinte, jovem. Dá pra fazer, não vai ficar suave, mas funciona. Este código 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.

08/08/2020 às 19:17 #18 Última edição: 08/08/2020 às 19:24 por Crixus
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
(...)

08/08/2020 às 19:21 #19 Última edição: 08/08/2020 às 19:27 por Felpisio
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!
Eu só sou um cara que quer criar jogos épicos!

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


08/08/2020 às 19:41 #21 Última edição: 08/08/2020 às 19:51 por Felpisio
Vou ver se boto esse sensor...
Caso n consiga eu volto a escrever aqui...
Eu só sou um cara que quer criar jogos épicos!

08/08/2020 às 19:49 #22 Última edição: 08/08/2020 às 20:12 por Crixus
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.

08/08/2020 às 20:14 #23 Última edição: 08/08/2020 às 20:15 por Felpisio
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...
Eu só sou um cara que quer criar jogos épicos!

08/08/2020 às 20:27 #24 Última edição: 08/08/2020 às 20:49 por Crixus
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:


Mas distanciando cada sensor com operações matemáticas (+ ou -):


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

E por fim usar as condições pra saber quando sair do raio de um NPC especifico.

08/08/2020 às 20:59 #25 Última edição: 08/08/2020 às 21:00 por Felpisio
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...
Eu só sou um cara que quer criar jogos épicos!

08/08/2020 às 21:17 #26 Última edição: 08/08/2020 às 21:22 por Crixus
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.

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...
Eu só sou um cara que quer criar jogos épicos!

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.

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.