RPG tático

Ver o tópico anterior Ver o tópico seguinte Ir em baixo

RPG tático

Mensagem por bootzin em Qua 30 Jul 2014, 13:26

Galera, eu to trabalhando num projeto de um RPG tático, que funciona baseado em turnos, e me veio uma dúvida..
Procurei por tutoriais e engines sobre como fazer o alcance do personagem (movimento e ataque) aparecer quando você clica nele, e quase todos me apresentaram uma única solução: Posicionar objetos "chão" em todas as tiles da room e usar ds map/list/priority pra verificar uma por uma quais tiles estão dentro do alcance do personagem..
Não existe outro meio de se fazer isso? Desse jeito não consome mta memória por ter que fazer um objeto em cada espaço livre e verificar um por um?
As engines não apresentaram problemas de memória, mas elas não eram jogos completos, e não tinha mais nada que pudesse consumir memória além desses códigos, meu medo é que fique muito pesado quando estiver efetivamente dentro de um jogo
Se vocês puderem me ajudar, eu agradeço
E a título de curiosidade, eu montei um sistema que quando eu clico no personagem ele cria objetos em cada um dos espaços que estão dentro do alcance dele, aí quando eu quero mover eu guardo as coordenadas do objeto clicado e movo até elas, o problema é que da maneira que eu fiz, se tiver apenas uma fileira de paredes encostadas no personagem e o alcance dele for de 3, ele consegue andar depois das paredes, onde teoricamente seria impossível de ele chegar, e eu não sei como resolver isso.
Agradeço se vcs puderem me ajudar (:
Fotos:
Spoiler:




bootzin

Número de Mensagens : 136
Idade : 21
Data de inscrição : 28/01/2010
Reputação : 5
Insignia 1 x 0 Insignia 2 x 0 Insignia 3 x 0
Prêmios
   : 0
   : 0
   : 0

Voltar ao Topo Ir em baixo

Re: RPG tático

Mensagem por Zero. em Qua 30 Jul 2014, 14:15

O saim resolveu meu problema com este script a muito tempo atrás :
http://gmbr.forumeiros.com/t22545-movimento-tabuleiro-razao-para-array

Não sei se é assim que você quer, mas o código é aparentemente simples, só que consome um certo processamento quando o alcance é alto.

Zero.

Número de Mensagens : 1295
Idade : 20
Data de inscrição : 19/08/2010
Reputação : 47
Insignia 1 x 0 Insignia 2 x 0 Insignia 3 x 0
Prêmios
   : 1
   : 0
   : 0

Voltar ao Topo Ir em baixo

Re: RPG tático

Mensagem por bootzin em Qua 30 Jul 2014, 14:45

Muito obrigado, FlyAway, era bem isso que eu estava querendo mesmo..
Eu tinha tentado fazer algo como o A* partindo do obj_passo e indo até o player, e se ele não encontrasse um caminho menor do que o movimento do player, ele se destruía, mas acabou consumindo processo demais e levava um ou dois segundos pra aparecer o alcance :/
E vc ficou com a mesma dúvida minha a respeito de movimentação na diagonal.. Vc chegou a achar a resposta? O maior problema pra mim é que o "custo" de se andar na diagonal é levemente maior do que o custo de andar uma casa e menor do que o custo de andar duas..

bootzin

Número de Mensagens : 136
Idade : 21
Data de inscrição : 28/01/2010
Reputação : 5
Insignia 1 x 0 Insignia 2 x 0 Insignia 3 x 0
Prêmios
   : 0
   : 0
   : 0

Voltar ao Topo Ir em baixo

Re: RPG tático

Mensagem por Zero. em Qua 30 Jul 2014, 16:52

na vdd eu parei com o outro projeto, mas infelizmente não achei solução, mas matemáticamente com as diagonais o jogo flui melhor.

Zero.

Número de Mensagens : 1295
Idade : 20
Data de inscrição : 19/08/2010
Reputação : 47
Insignia 1 x 0 Insignia 2 x 0 Insignia 3 x 0
Prêmios
   : 1
   : 0
   : 0

Voltar ao Topo Ir em baixo

Re: RPG tático

Mensagem por Tanker GT em Qua 30 Jul 2014, 18:31

Eu fiz um RPG tático e me deparei com esse problema e ainda usava o game maker lite, então para resolver fiz umas "gambiarras" que até deram certo, agora como eu tenho GMs estou tentando fazer uma nova versão com o código melhorado, porém eu paralisei o projeto para participar do CQ.

Em breve eu vou retomar o projeto e quando terminar a parte de movimentação posso te passar uma engine, estou sem tempo agora mas depois eu posso fazer, o problema é que ainda tem as "gambiarras". O jogo é o que esta em minha assinatura

Tanker GT

Ranking : Nota C
Número de Mensagens : 106
Idade : 20
Data de inscrição : 08/10/2011
Notas recebidas : C
Reputação : 11
Insignia 1 x 0 Insignia 2 x 0 Insignia 3 x 0
Prêmios
   : 1
   : 0
   : 0

Voltar ao Topo Ir em baixo

Re: RPG tático

Mensagem por Zero. em Qua 30 Jul 2014, 19:03

Poste a engine, seria mto bom termos no arsenal, ainda podemos melhorar o código também Smile

Zero.

Número de Mensagens : 1295
Idade : 20
Data de inscrição : 19/08/2010
Reputação : 47
Insignia 1 x 0 Insignia 2 x 0 Insignia 3 x 0
Prêmios
   : 1
   : 0
   : 0

Voltar ao Topo Ir em baixo

Re: RPG tático

Mensagem por bootzin em Qui 31 Jul 2014, 01:32

Então, galera, eu acredito que tenha conseguido o resultado que eu estava esperando.. procurei uma porrada de engine e textos sobre A*, e acabei conseguindo montar algo bem funcional, que eu ainda não achei bugs, então agradeceria as críticas Happy
Meus sinceros agradecimentos ao Saim, ele me ajudou muito a concluir meu projeto, bem como ao Mark, autor desse tópico aqui: AI for TD using mp_grid
Vou postar a engine aqui pra vocês e amanhã posto ela na sessão de engines, pq agr vou dormir
Engine de movimento baseado em turnos por Bootzin
Mais uma vez, agradeço as críticas, digam o que acham Happy


Última edição por bootzin em Qui 31 Jul 2014, 01:38, editado 1 vez(es) (Razão : Corrigir o link)

bootzin

Número de Mensagens : 136
Idade : 21
Data de inscrição : 28/01/2010
Reputação : 5
Insignia 1 x 0 Insignia 2 x 0 Insignia 3 x 0
Prêmios
   : 0
   : 0
   : 0

Voltar ao Topo Ir em baixo

Re: RPG tático

Mensagem por Zero. em Qui 31 Jul 2014, 13:21

Não conseguiu o movimento diagonal tb n ?

Zero.

Número de Mensagens : 1295
Idade : 20
Data de inscrição : 19/08/2010
Reputação : 47
Insignia 1 x 0 Insignia 2 x 0 Insignia 3 x 0
Prêmios
   : 1
   : 0
   : 0

Voltar ao Topo Ir em baixo

Re: RPG tático

Mensagem por bootzin em Qui 31 Jul 2014, 14:33

Consegui sim, só desativei porque estava pensando no meu jogo e achei que funcionaria melhor sem o movimento na diagonal..
Tem uma função no script scr_move que é o que determina o ponto de partida e o destino da instância, nela o último argumento é "allowdiag" cujos valores 0 e 1 determinam se o personagem pode ou não andar na diagonal (0-não;1-sim)..

-----EDIT-----
Na verdade essa função só permite que o personagem se movimente na diagonal, mas a previsão do alcance não se dá na diagonal, então tem lugares que ele conseguiria atingir se movendo na diagonal, mas ele não se move porque a previsão do movimento se dá apenas em vertical e horizontal..
Eu posso tentar corrigir isso, mas não vou mexer nisso agora porque meu jogo só vai permitir horizontal e vertical mesmo, talvez depois eu corrija isso, se vocês tiverem sugestões, eu tento implementar Razz

bootzin

Número de Mensagens : 136
Idade : 21
Data de inscrição : 28/01/2010
Reputação : 5
Insignia 1 x 0 Insignia 2 x 0 Insignia 3 x 0
Prêmios
   : 0
   : 0
   : 0

Voltar ao Topo Ir em baixo

Re: RPG tático

Mensagem por Zero. em Qui 31 Jul 2014, 15:47

Eu vou dar uma olhada e tentar adaptar, outro problema que vi é se uma criatura ocupar mais de 1 quadrado Smile

Zero.

Número de Mensagens : 1295
Idade : 20
Data de inscrição : 19/08/2010
Reputação : 47
Insignia 1 x 0 Insignia 2 x 0 Insignia 3 x 0
Prêmios
   : 1
   : 0
   : 0

Voltar ao Topo Ir em baixo

Re: RPG tático

Mensagem por bootzin em Qui 31 Jul 2014, 16:41

Quanto a isso a solução é até bem simples, é só alterar o tamanho da grid.. Por ex, eu uso a grid 48x48 nesse jogo, se eu tiver um bicho 96x96 é só eu rodar o script com a grid 96 e adaptar o custo do movimento, no caso seria duas vezes mais para o mesmo resultado, entendeu?

bootzin

Número de Mensagens : 136
Idade : 21
Data de inscrição : 28/01/2010
Reputação : 5
Insignia 1 x 0 Insignia 2 x 0 Insignia 3 x 0
Prêmios
   : 0
   : 0
   : 0

Voltar ao Topo Ir em baixo

Re: RPG tático

Mensagem por Tanker GT em Sex 01 Ago 2014, 23:46

Eu baixei sua engine e ela é bem diferente do que eu achava.

Da até vergonha de postar porque minha engine não usa list,ds_map nem grid agora estou na dúvida se era realmente isso que você queria porque minha engine é muito diferente da sua, a minha serve para movimentar um peça respeitando o limite de casas e sem passar por cima de obstáculos, se não era isso que você queria desconsidere.

http://www.mediafire.com/download/sp0c79aa32tblrk/Engine+Turnos.gmz

Depois fale mais sobre os projetos de vocês, esse estilo de jogo é um dos meus favoritos  Happy 

Tanker GT

Ranking : Nota C
Número de Mensagens : 106
Idade : 20
Data de inscrição : 08/10/2011
Notas recebidas : C
Reputação : 11
Insignia 1 x 0 Insignia 2 x 0 Insignia 3 x 0
Prêmios
   : 1
   : 0
   : 0

Voltar ao Topo Ir em baixo

Re: RPG tático

Mensagem por Conteúdo patrocinado Hoje à(s) 22:16


Conteúdo patrocinado


Voltar ao Topo Ir em baixo

Ver o tópico anterior Ver o tópico seguinte Voltar ao Topo

- Tópicos similares

 
Permissão deste fórum:
Você não pode responder aos tópicos neste fórum