Conectar-se
Quem está conectado
19 usuários online :: Nenhum usuário registrado, Nenhum Invisível e 19 Visitantes

Nenhum

Ver toda a lista


Compartilhe
Ver o tópico anteriorIr em baixoVer o tópico seguinte
avatar
Data de inscrição : 28/01/2010
Número de Mensagens : 136
Insígnias de JAM :

Insignia 1x 0 Insignia 2x 0 Insignia 3x 0
Reputação : 5

Prêmios
   : 0
   : 0
   : 0
Ver perfil do usuário

RPG tático

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:



avatar
Data de inscrição : 19/08/2010
Número de Mensagens : 1299
Insígnias de JAM :

Insignia 1x 0 Insignia 2x 0 Insignia 3x 0
Reputação : 47

Prêmios
   : 1
   : 0
   : 0
Ver perfil do usuário

Re: RPG tático

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.
avatar
Data de inscrição : 28/01/2010
Número de Mensagens : 136
Insígnias de JAM :

Insignia 1x 0 Insignia 2x 0 Insignia 3x 0
Reputação : 5

Prêmios
   : 0
   : 0
   : 0
Ver perfil do usuário

Re: RPG tático

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..
avatar
Data de inscrição : 19/08/2010
Número de Mensagens : 1299
Insígnias de JAM :

Insignia 1x 0 Insignia 2x 0 Insignia 3x 0
Reputação : 47

Prêmios
   : 1
   : 0
   : 0
Ver perfil do usuário

Re: RPG tático

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.
avatar
Ranking : Nota C
Notas recebidas : C
Data de inscrição : 08/10/2011
Número de Mensagens : 106
Insígnias de JAM :

Insignia 1x 0 Insignia 2x 0 Insignia 3x 0
Reputação : 11

Prêmios
   : 1
   : 0
   : 0
Ver perfil do usuário

Re: RPG tático

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
avatar
Data de inscrição : 19/08/2010
Número de Mensagens : 1299
Insígnias de JAM :

Insignia 1x 0 Insignia 2x 0 Insignia 3x 0
Reputação : 47

Prêmios
   : 1
   : 0
   : 0
Ver perfil do usuário

Re: RPG tático

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
avatar
Data de inscrição : 28/01/2010
Número de Mensagens : 136
Insígnias de JAM :

Insignia 1x 0 Insignia 2x 0 Insignia 3x 0
Reputação : 5

Prêmios
   : 0
   : 0
   : 0
Ver perfil do usuário

Re: RPG tático

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)
avatar
Data de inscrição : 19/08/2010
Número de Mensagens : 1299
Insígnias de JAM :

Insignia 1x 0 Insignia 2x 0 Insignia 3x 0
Reputação : 47

Prêmios
   : 1
   : 0
   : 0
Ver perfil do usuário

Re: RPG tático

em Qui 31 Jul 2014, 13:21
Não conseguiu o movimento diagonal tb n ?
avatar
Data de inscrição : 28/01/2010
Número de Mensagens : 136
Insígnias de JAM :

Insignia 1x 0 Insignia 2x 0 Insignia 3x 0
Reputação : 5

Prêmios
   : 0
   : 0
   : 0
Ver perfil do usuário

Re: RPG tático

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
avatar
Data de inscrição : 19/08/2010
Número de Mensagens : 1299
Insígnias de JAM :

Insignia 1x 0 Insignia 2x 0 Insignia 3x 0
Reputação : 47

Prêmios
   : 1
   : 0
   : 0
Ver perfil do usuário

Re: RPG tático

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
avatar
Data de inscrição : 28/01/2010
Número de Mensagens : 136
Insígnias de JAM :

Insignia 1x 0 Insignia 2x 0 Insignia 3x 0
Reputação : 5

Prêmios
   : 0
   : 0
   : 0
Ver perfil do usuário

Re: RPG tático

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?
avatar
Ranking : Nota C
Notas recebidas : C
Data de inscrição : 08/10/2011
Número de Mensagens : 106
Insígnias de JAM :

Insignia 1x 0 Insignia 2x 0 Insignia 3x 0
Reputação : 11

Prêmios
   : 1
   : 0
   : 0
Ver perfil do usuário

Re: RPG tático

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.

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 
Conteúdo patrocinado

Re: RPG tático

Ver o tópico anteriorVoltar ao TopoVer o tópico seguinte
Permissão deste fórum:
Você não pode responder aos tópicos neste fórum