Produção de cenários complexos (parte 2/2)

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

Qualidade Produção de cenários complexos (parte 2/2)

Mensagem por Anderson3d em Ter 12 Abr 2011, 03:15

Agora que lancei a versão 0.2 do SP (Versão 0.2 do Super Policial) posso dar continuidade aos meus tutoriais.

Depois de mostrar como criar um cenário complexo usando objetos (Parte 1) vou dar sequência e continuar os estudos. Vimos que o problema desta técnica é o uso excessivo de memória e processador, mas tenho a solução.
Vocês lembram do jogo road rash pro 3DO?

A característica peculiar desse jogo é que ao jogar vc vê o cenário se "montar" na tela. ou seja, dá pra perceber que o processador só mostra o que esta se aproximando do player. o resto deve ser escondido para economizar memória. Aqui faremos a mesma coisa.

Temos duas possibilidades:
1-Seu jogo usa o player com um único objeto;
2-Seu jogo usa o player como um objeto principal e outros objetos o completa, formando um objeto complexo (ex: andando, pulando é um objeto, atacando é outro objeto).

No caso 1, para o GM perceber se o player está na tela basta colocar o seguinte código no evento STEP dos objetos que compõem o cenário:
Código:
if distance_to_object(obj_player) > 1100 {visible =false} else {visible = true}
Logicamente, de acordo com a resolução do seu jogo vc vai precisar mudar o 1100 para outro valor, a fim de que o GM mostre na tela somente o que interessa, e o resto fora dela fique invisível.

No caso 2 precisaremos de um helper. Eu criei um objeto chamado obj_cam (câmera). Ele sempre segue o player seja com que objeto este esteja sendo representado.
para que o obj_cam siga o player basta colocar o seguinte código no seu evento STEP:
Código:

x=global.x
y=global.y
No STEP de todos os objetos que formam o player coloca-se:
Código:

global.x = x
global.y = y
Ou seja, agora o obj_cam sempre estará no lugar do player. Lembre-se de desmarcar visible no obj_cam para que ele nunca aparece na tela, pois ele é somente referência para o cenário.
E no STEP dos objetos que compõem o cenário coloca-se:
Código:
if distance_to_object(obj_cam) > 1100 {visible =false} else {visible = true}
Ok, criamos um sistema que irá mostrar na tela somente o que importa, e o resto será escondido. Vamos ver como fica na prática:

Bom, o vídeo não ficou de ótima qualidade pq usei uma câmera fotográfica e meu note book não suporta uma room de 12000x12000 em HD nessa resolução. Mas deu pra perceber a lógica deste estudo.

Bom, minha deixa desse mês foi isso, espero ter ajudado ao pessoal que diz que o GM é lento e não processa room enormes. Ele processa sim, mas tem que usar técnicas um pouco mais avançadas. formado
Abração!

obs:
1- Quem gostou posta alguma coisa aew. cheers
2- Vou voltar ao SP na versão 0.3, quando terminar ensinarei a criar efeitos randômicos de uma forma mais interessante, onde personagens fazem ações inusitadas baseados num único comando do GM que é muito pouco explorado mas que faz milagres.

Anderson3d

Ranking : Nota A
Número de Mensagens : 1479
Idade : 33
Data de inscrição : 15/02/2009
Notas recebidas : A - A
Reputação : 9
Insignia 1 x 0 Insignia 2 x 0 Insignia 3 x 0
Prêmios
   : 1
   : 0
   : 1

http://www.indiegamebr.com

Voltar ao Topo Ir em baixo

Qualidade Re: Produção de cenários complexos (parte 2/2)

Mensagem por Grotle em Ter 12 Abr 2011, 11:26

Muito bom o tuto cara, vai ajudar bastante!
Logo depois do CQ #006 vou iniciar um grande projeto em que vou ter que usar essa técnica da câmera, devido ao tamanho dos gráficos e da room.

Anderson3d escreveu:2- Vou voltar ao SP na versão 0.3, quando terminar ensinarei a criar efeitos randômicos de uma forma mais interessante, onde personagens fazem ações inusitadas baseados num único comando do GM que é muito pouco explorado mas que faz milagres.
Estou louco pra saber que efeitos são esses!

Flws!

Grotle

Ranking : Nota B
Número de Mensagens : 559
Idade : 21
Data de inscrição : 28/02/2010
Notas recebidas : B-B
Reputação : 12
Insignia 1 x 0 Insignia 2 x 0 Insignia 3 x 0
Prêmios
   : 0
   : 0
   : 0

http://gsogaming.blogspot.com/

Voltar ao Topo Ir em baixo

Qualidade Re: Produção de cenários complexos (parte 2/2)

Mensagem por Licht em Ter 12 Abr 2011, 11:36

Cara! Quando eu li o tutorial me toquei geral! Essa parada do Visible é muito bowa! Nunca tinha me tocado nisso oO Mas também pode-se atribuir um parent à esses objetos do cenário e colocar o código nele que economiza tempo o/

Valeu! Belo tutorial! lol!

PS.: VIVA OS ÍCONES! santa

Licht

Ranking : Sem avaliações
Número de Mensagens : 1217
Idade : 18
Data de inscrição : 26/04/2010
Reputação : 34
Insignia 1 x 0 Insignia 2 x 0 Insignia 3 x 0
Prêmios
   : 0
   : 1
   : 0

http://lightsoftworks.blogspot.com/

Voltar ao Topo Ir em baixo

Qualidade Re: Produção de cenários complexos (parte 2/2)

Mensagem por Anderson3d em Ter 12 Abr 2011, 12:28

Grotle escreveu:Muito bom o tuto cara, vai ajudar bastante!
Logo depois do CQ #006 vou iniciar um grande projeto em que vou ter que usar essa técnica da câmera, devido ao tamanho dos gráficos e da room.

Anderson3d escreveu:2- Vou voltar ao SP na versão 0.3, quando terminar ensinarei a criar efeitos randômicos de uma forma mais interessante, onde personagens fazem ações inusitadas baseados num único comando do GM que é muito pouco explorado mas que faz milagres.
Estou louco pra saber que efeitos são esses!

Flws!
Aew Grotle blz? Fica de olho que esse será meu próximo tutorial. Mas tenhos meus projetos por isso vou de pouco em pouco hehehe... Lembre-se, jogos com muitos objetos e room enormes devem usar o formato gif nas imagens. PNG é mais qualidade, porém, mais uso do pc e em fases enormes trava tudo dependendo do pc.

Lucas Lunar escreveu:Cara! Quando eu li o tutorial me toquei geral! Essa parada do Visible é muito bowa! Nunca tinha me tocado nisso oO Mas também pode-se atribuir um parent à esses objetos do cenário e colocar o código nele que economiza tempo o/

Valeu! Belo tutorial! lol!

PS.: VIVA OS ÍCONES! santa
Olá Lucas! Lembre-se de uma coisa. O parent deve ser usado quando objetos tem as mesmas características. Nesse caso algumas partes do cenário serão sólidas e outras não, algumas vão interagir com o player e outras não, então, deve se ficar de olho. Abraço!

Anderson3d

Ranking : Nota A
Número de Mensagens : 1479
Idade : 33
Data de inscrição : 15/02/2009
Notas recebidas : A - A
Reputação : 9
Insignia 1 x 0 Insignia 2 x 0 Insignia 3 x 0
Prêmios
   : 1
   : 0
   : 1

http://www.indiegamebr.com

Voltar ao Topo Ir em baixo

Qualidade Re: Produção de cenários complexos (parte 2/2)

Mensagem por Licht em Ter 12 Abr 2011, 12:37

Mas tipo, mesmo o objeto "pai" (o que é o parent do resto) tendo qualquer evento, os objetos "filhos" (o resto que tem como parent o objeto pai) vão execultar os eventos do objeto pai mas também execultarão os eventos que seram atribuídos somente à eles (e o objeto pai não vai execultá-los). e, as propriedades que ficam naquela parte esquerda dos objetos [quando se está programando (tipo solid, visible, mask, etc...)] Só podem ser definidas individualmente para cada objeto, ou seja, não adianta o objeto pai ter aquilo, isso não fará diferênça nos objetos filhos, apenas os eventos. (espero que dê pra entender tudo isso XD)

Mas valeu o/

PS.: VIVAS O ÍCONES!! santa

Licht

Ranking : Sem avaliações
Número de Mensagens : 1217
Idade : 18
Data de inscrição : 26/04/2010
Reputação : 34
Insignia 1 x 0 Insignia 2 x 0 Insignia 3 x 0
Prêmios
   : 0
   : 1
   : 0

http://lightsoftworks.blogspot.com/

Voltar ao Topo Ir em baixo

Qualidade Re: Produção de cenários complexos (parte 2/2)

Mensagem por Turista86 em Ter 19 Abr 2011, 19:57

Cara,

muito bom, os dois tutos...

Este aqui vai ajudar muita gente que sente o jogo pesando em fases enormes, como eu...

Sou fã de jogos top-view, onde cada pedacinho pode ter um segredo escondido, e esse tuto ajuda a agilizar o jogo.

Valeu!

Turista86

Número de Mensagens : 19
Data de inscrição : 10/10/2008
Reputação : 1
Insignia 1 x 0 Insignia 2 x 0 Insignia 3 x 0
Prêmios
   :
   :
   :

Voltar ao Topo Ir em baixo

Qualidade Re: Produção de cenários complexos (parte 2/2)

Mensagem por Anderson3d em Ter 19 Abr 2011, 23:14

Ok turista obrigado pelo apoio hehehe!
No próximo tutorial ensinarei aquilo que vc falou no tópico do SP ok?
Vlw! cheers

Anderson3d

Ranking : Nota A
Número de Mensagens : 1479
Idade : 33
Data de inscrição : 15/02/2009
Notas recebidas : A - A
Reputação : 9
Insignia 1 x 0 Insignia 2 x 0 Insignia 3 x 0
Prêmios
   : 1
   : 0
   : 1

http://www.indiegamebr.com

Voltar ao Topo Ir em baixo

Qualidade Re: Produção de cenários complexos (parte 2/2)

Mensagem por Turista86 em Qua 20 Abr 2011, 01:00

Falou!
Diálogo com show_message é muito feiooo
hahahahahahaah

Abraços!

Turista86

Número de Mensagens : 19
Data de inscrição : 10/10/2008
Reputação : 1
Insignia 1 x 0 Insignia 2 x 0 Insignia 3 x 0
Prêmios
   :
   :
   :

Voltar ao Topo Ir em baixo

Qualidade Re: Produção de cenários complexos (parte 2/2)

Mensagem por Joton em Qua 20 Abr 2011, 01:15

Valew pelo tutorial, você me fez agora fica esperto com isso de só mostra o necessário, pois pretendo depois das férias de junho cair de cabeça no GML, não vou esquecer isso mais la! yes Cool

Anderson3d:A característica peculiar desse jogo é que ao jogar vc vê o cenário se "montar" na tela. ou seja, dá pra perceber que o processador só mostra o que esta se aproximando do player. o resto deve ser escondido para economizar memória. Aqui faremos a mesma coisa.

Lembrei também do driver do psx onde acontecia a mesma coisa, tinha um plano de fundo embaçado e os prédios apareciam em determinada distância




Joton

Ranking : Nota B
Número de Mensagens : 836
Idade : 28
Data de inscrição : 25/07/2010
Notas recebidas : A+B+C
Reputação : 5
Insignia 1 x 0 Insignia 2 x 0 Insignia 3 x 0
Prêmios
   : 2
   : 0
   : 0

http://jotonsn.blogspot.com/

Voltar ao Topo Ir em baixo

Qualidade Re: Produção de cenários complexos (parte 2/2)

Mensagem por Conteúdo patrocinado Hoje à(s) 15:42


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