[AJUDA?] Room 2000x2000 lagando

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

[AJUDA?] Room 2000x2000 lagando

Mensagem por bimorx em Qua 06 Mar 2013, 17:41

Galera outra vez preciso da ajuda de vcs, n consegui de forma alguma isso ¬¬
bem, meu projeto é estilo Terraria, e certamente terei mundos enormes, talvez maiores q 2000x2000, mas LAGA DE MAIS, eu ja tentei desativar instancias q não estão na VIEW, melhorou MUITO POUCO, continua muito travado o game, injogavel :/ - e tambem esse esquema de desativar quem não ta na view ta bugando os inimigos, pois os blocos em baixo deles são desativados e, antes dos inimigos serem desativados, eles sofrem 1ms de gravidade e consequentemente entram pra dentro da terra e ficam presos, e quanto mais eu saio e entro pra area onde eles estão mais afundam O.o

Alguém sabe alguma forma de armazenar um mundo ENORME sem perda de fps e, se possivel, sem bugar minha I.A =(

desde já, grato! VLWWW GMBR!

bimorx

Número de Mensagens : 153
Idade : 21
Data de inscrição : 24/01/2010
Reputação : 0
Insignia 1 x 0 Insignia 2 x 0 Insignia 3 x 0

Voltar ao Topo Ir em baixo

Re: [AJUDA?] Room 2000x2000 lagando

Mensagem por Mário Valney em Qua 06 Mar 2013, 17:59

Acredito que LAGA seja "DAR LEG"... né?

Poderia postar o jogo numa versão DEMO para podermos dar uma olhada?
Nunca tive problemas, nem ouvi falar de algo semelhante (pesquisei aqui no Google e não achei nada).
A maior room que já fiz tinha 12375 x 768.

Mário Valney

Ranking : Nota A
Número de Mensagens : 203
Idade : 24
Data de inscrição : 16/11/2009
Notas recebidas : A
Reputação : 0
Insignia 1 x 0 Insignia 2 x 0 Insignia 3 x 0
Prêmios
   :
   :
   :

http://www.areaonze.com

Voltar ao Topo Ir em baixo

Re: [AJUDA?] Room 2000x2000 lagando

Mensagem por RafaelCazarotto em Qua 06 Mar 2013, 18:52

pra mim nao deu problema, o cornelio tem as room 1000x16000 e não da leg no meu pc, talvez possa ser as views,ou o numero de instancias ativadas ao mesmo tempo

RafaelCazarotto

Ranking : Nota C
Número de Mensagens : 564
Idade : 19
Data de inscrição : 15/03/2012
Notas recebidas : D-D-D-C-C-B
Reputação : 13
Insignia 1 x 0 Insignia 2 x 0 Insignia 3 x 0
Prêmios
   : 1
   : 0
   : 1

Voltar ao Topo Ir em baixo

Re: [AJUDA?] Room 2000x2000 lagando

Mensagem por bimorx em Qui 07 Mar 2013, 01:19

Bom, deixa eu explicar: haverá uma tela de loading enquanto a room é gerada, mas deixei sem ela pra vcs verem oq acontece na criação dela.
Comandos:
A e D = Anda
Spaço = Pula
Scroll Up ou Down = muda da espada pra marreta de pedra
Shift + Scroll up ou Down = muda o material usado para colocar no mundo, pois é estilo minecraft/terraria, então terá possbilidade de construir e destruir o mundo, para destruir basta clickar em algum local, se estiver proximo ao player será destruido, e tbm só constroi perto do player, isso ainda vou regular pois o limite ta muiiiito proximo do player, isso irei ampliar. Bem essa demo fiz mesmo só pra vcs verem oq ta acontecendo na criação da room, e o "LAG" q fica durante o jogo, demora um pouco sim a gerar, depois o jogo começa normalmente.

ai vai o link:


http://www.4shared.com/file/BJvRziyt/projeto_ainda_sem_nome_v03.html?

bimorx

Número de Mensagens : 153
Idade : 21
Data de inscrição : 24/01/2010
Reputação : 0
Insignia 1 x 0 Insignia 2 x 0 Insignia 3 x 0

Voltar ao Topo Ir em baixo

Re: [AJUDA?] Room 2000x2000 lagando

Mensagem por Mário Valney em Qui 07 Mar 2013, 01:27

(Olha... uma dica: coloca cores pre-definidas...
O pessoal não terá paciência para escolher na base do RGB.. rsrsrs)


Cara... verdade... Aqui legou e foi a primeira vez que eu vi algo do tipo...
Mas me diga: cada bloquinho pequeno é um OBJ?
Deve ser por isso... tem quantos objetos aí? 2.000? rs


Mário Valney

Ranking : Nota A
Número de Mensagens : 203
Idade : 24
Data de inscrição : 16/11/2009
Notas recebidas : A
Reputação : 0
Insignia 1 x 0 Insignia 2 x 0 Insignia 3 x 0
Prêmios
   :
   :
   :

http://www.areaonze.com

Voltar ao Topo Ir em baixo

Re: [AJUDA?] Room 2000x2000 lagando

Mensagem por Dr.XGB em Qui 07 Mar 2013, 05:02

Então, eu também acredito que seja o fato da room se encontrar com uma saturação de objetos. Se for realmente isso, desenhe as fases com tilesets ao invés de objetos.

Dr.XGB

Ranking : Nota B
Número de Mensagens : 54
Idade : 25
Data de inscrição : 22/02/2013
Notas recebidas : B
Reputação : 2
Insignia 1 x 0 Insignia 2 x 0 Insignia 3 x 0
Prêmios
   : 0
   : 1
   : 0

Voltar ao Topo Ir em baixo

Re: [AJUDA?] Room 2000x2000 lagando

Mensagem por bimorx em Qui 07 Mar 2013, 10:34

(Olha... uma dica: coloca cores pre-definidas...
O pessoal não terá paciência para escolher na base do RGB.. rsrsrs)

Sim eu sei disso, porém há sim uma cor pré definida, na criação de personagens colocarei um menu "EDITAR CORES" ou algo do tipo, caso a pessoa queira, ela poderá alterar cores e tbm colocarei cabelo para customização, mas se a pessoa não tiver paciência dará um PLAY e começará o jogo imediatamente.

Então, eu também acredito que seja o fato da room se encontrar com uma saturação de objetos. Se for realmente isso, desenhe as fases com tilesets ao invés de objetos.

Olha, a room é gerada aleatoriamente, e eu preciso q esses blocos tenham "vida", pois há uma serie de codigos neles, como: quebrar e gerar item para o player, pegar luz do sol mais clara ou escura ou sem luz, gerar ou não arvores e monstros, ter ou não grama na superficie, etc.

alguém tem alguma solução??? VLW!

bimorx

Número de Mensagens : 153
Idade : 21
Data de inscrição : 24/01/2010
Reputação : 0
Insignia 1 x 0 Insignia 2 x 0 Insignia 3 x 0

Voltar ao Topo Ir em baixo

Re: [AJUDA?] Room 2000x2000 lagando

Mensagem por Mário Valney em Qui 07 Mar 2013, 13:03

A única ajuda que posso dar é indicar esse tópico:
http://gmbr.forumeiros.com/t25957-tutorial-otimizando-seus-jogos-de-game-maker

Realmente nunca tinha visto um problema desses...

Mário Valney

Ranking : Nota A
Número de Mensagens : 203
Idade : 24
Data de inscrição : 16/11/2009
Notas recebidas : A
Reputação : 0
Insignia 1 x 0 Insignia 2 x 0 Insignia 3 x 0
Prêmios
   :
   :
   :

http://www.areaonze.com

Voltar ao Topo Ir em baixo

Re: [AJUDA?] Room 2000x2000 lagando

Mensagem por cascavelo em Qui 07 Mar 2013, 13:51

Amigo, baixei aqui e isto aí é erro de programação mesmo, tem alguma função no seu jogo gerando um loop muito longo. Alguma função "for" por exemplo.
Dá uma geral no seu código de geração de terrenos, tem alguma função aí se repetindo mais do que deveria.
Se você não achar o problema, vai ter que passar seu código pra alguém mais experiente lhe ajudar.



cascavelo

Ranking : Nota A
Número de Mensagens : 1011
Idade : 46
Data de inscrição : 08/12/2011
Notas recebidas : A - A - A - A - A -A -C
Reputação : 71
Insignia 1 x 0 Insignia 2 x 0 Insignia 3 x 0
Prêmios
   : 1
   : 2
   : 1

Voltar ao Topo Ir em baixo

Re: [AJUDA?] Room 2000x2000 lagando

Mensagem por bimorx em Qui 07 Mar 2013, 13:54

o gerador eu acho q não é, sim eu usei 3 FOR's, no meu obj gerador, mas assim q terminam os fors ele se destroi então não tem como ele ta interagindo mais. uma coisa q notei, se eu limpar o step dos blocos de terra e pedra, aumenta bastante o fps, mas não posso fazer isso :/ (obs: step ou draw)

bimorx

Número de Mensagens : 153
Idade : 21
Data de inscrição : 24/01/2010
Reputação : 0
Insignia 1 x 0 Insignia 2 x 0 Insignia 3 x 0

Voltar ao Topo Ir em baixo

Re: [AJUDA?] Room 2000x2000 lagando

Mensagem por theguitarmester em Qui 07 Mar 2013, 13:59

Vou ver o que posso fazer.

a testar a Engine....


________________________editado

Opa! pense que era a engine!

PassE a engine, talves eu consiga resolvê-lo.

theguitarmester

Ranking : Sem avaliações
Número de Mensagens : 1908
Idade : 21
Data de inscrição : 28/02/2012
Notas recebidas : B
Reputação : 80
Insignia 1 x 0 Insignia 2 x 0 Insignia 3 x 1
Prêmios
   : 2
   : 2
   : 1

http://guitarmester.no.comunidades.net/index.php?pagina=19362978

Voltar ao Topo Ir em baixo

Re: [AJUDA?] Room 2000x2000 lagando

Mensagem por bimorx em Qui 07 Mar 2013, 23:19

A engine base q to usando é essa aqui:

http://www.4shared.com/file/j9-11VMk/engine_gerador_de_blocos.html?

no jogo apenas mudei os graficos e, quando a room ta muito grande, coloquei num objeto controlador o seguinte:

Código:
    instance_activate_all();
    instance_deactivate_region(view_xview[0],view_yview[0],view_wview[0],view_hview[0]+128,false,true);

bimorx

Número de Mensagens : 153
Idade : 21
Data de inscrição : 24/01/2010
Reputação : 0
Insignia 1 x 0 Insignia 2 x 0 Insignia 3 x 0

Voltar ao Topo Ir em baixo

Re: [AJUDA?] Room 2000x2000 lagando

Mensagem por L0l-King em Sex 08 Mar 2013, 12:43

Não seria o contrário?
Desativar todas e ativar somente o que está dentro da view?

L0l-King

Número de Mensagens : 148
Idade : 23
Data de inscrição : 04/04/2010
Reputação : 1
Insignia 1 x 0 Insignia 2 x 0 Insignia 3 x 0
Prêmios
   : 0
   : 0
   : 0

Voltar ao Topo Ir em baixo

Re: [AJUDA?] Room 2000x2000 lagando

Mensagem por bimorx em Sex 08 Mar 2013, 16:32

seria como trocar 6 por meia duzia, ja tentei =(

bimorx

Número de Mensagens : 153
Idade : 21
Data de inscrição : 24/01/2010
Reputação : 0
Insignia 1 x 0 Insignia 2 x 0 Insignia 3 x 0

Voltar ao Topo Ir em baixo

Re: [AJUDA?] Room 2000x2000 lagando

Mensagem por RafaelCazarotto em Sex 08 Mar 2013, 17:30

no jogo apenas mudei os graficos e, quando a room ta muito grande, coloquei num objeto controlador o seguinte:

CÓDIGO:
instance_activate_all();
instance_deactivate_region(view_xview[0],view_yview[0],view_wview[0],view_hview[0]+128,false,true);
cara acho que ta ao contrario mesmo, tipo olha a logica disso, ele desativa a regiao de dentro da view, e ativa todas, o certo seria tipo colocar o instance_active_region assim ele ativaria uma certa regiao e nao toda a room, e almenta os valores do desative, tipo +64 -64 algo assim, xD



RafaelCazarotto

Ranking : Nota C
Número de Mensagens : 564
Idade : 19
Data de inscrição : 15/03/2012
Notas recebidas : D-D-D-C-C-B
Reputação : 13
Insignia 1 x 0 Insignia 2 x 0 Insignia 3 x 0
Prêmios
   : 1
   : 0
   : 1

Voltar ao Topo Ir em baixo

Re: [AJUDA?] Room 2000x2000 lagando

Mensagem por bimorx em Sab 09 Mar 2013, 00:27

olha eu já tentei inverter isso, mas da no mesmo =(

e não desativa quem ta na room, desativa quem ta FORA da room, depois da quarta virgula vem o FALSE, ele é do INSIDE nesse comando, ou seja, oq NÃO estiver dentro será desativado

bimorx

Número de Mensagens : 153
Idade : 21
Data de inscrição : 24/01/2010
Reputação : 0
Insignia 1 x 0 Insignia 2 x 0 Insignia 3 x 0

Voltar ao Topo Ir em baixo

Re: [AJUDA?] Room 2000x2000 lagando

Mensagem por L0l-King em Sab 09 Mar 2013, 01:04

bimorx escreveu:A engine base q to usando é essa aqui:

http://www.4shared.com/file/j9-11VMk/engine_gerador_de_blocos.html?

no jogo apenas mudei os graficos e, quando a room ta muito grande, coloquei num objeto controlador o seguinte:

Código:
    instance_activate_all();
    instance_deactivate_region(view_xview[0],view_yview[0],view_wview[0],view_hview[0]+128,false,true);

instance_activate_all();

É disso que estamos falando, você está ativando todos e ativando dnv no region.

L0l-King

Número de Mensagens : 148
Idade : 23
Data de inscrição : 04/04/2010
Reputação : 1
Insignia 1 x 0 Insignia 2 x 0 Insignia 3 x 0
Prêmios
   : 0
   : 0
   : 0

Voltar ao Topo Ir em baixo

Re: [AJUDA?] Room 2000x2000 lagando

Mensagem por bimorx em Sab 09 Mar 2013, 17:57

bem, mais uma vez eu tentei desativar_all(notme) e ativar só oq ta dentro da room, tive o mesmo resultado, nada mudou.

eu andei pesquisando um pouco na internet, e vi muitos exemplos de minecrafts feitos no gm, e os autores usam Grid, Surface e Array, pois eles dizem mesmo que rodar muitas instancias de uma vez tornaria o jogo lento =(

alguem tem alguma ideia de grid? surfaces acho q entendeo um pouco... array nunca vi =(

bimorx

Número de Mensagens : 153
Idade : 21
Data de inscrição : 24/01/2010
Reputação : 0
Insignia 1 x 0 Insignia 2 x 0 Insignia 3 x 0

Voltar ao Topo Ir em baixo

Re: [AJUDA?] Room 2000x2000 lagando

Mensagem por L0l-King em Sab 09 Mar 2013, 18:31

Grid é nada mais que uma array bidimensional que só carrega informação booleana.

[0][1][1][0]
[1][1][1][1]
[1][1][1][1]
[1][1][1][0]

Esse é um exemplo de Array bidimensional, ou uma Grid.
Olhando assim parece uma tabela de Excel, e não deixa de ser. O que acontece é que pra cada célula ela representa na vida real(ou no teu jogo) uma colisão retangular de por exemplo 32x32 ou 16x16.
No teu caso você poder outros números pra identificar o que tem ali, como 0 é nada, 1 é grama, 2 é água e por aí vai.

Acredito que isso resolve o seu problema, porque aí você teria uma imagem bem grande que aí dependeria da capacidade do computador e apenas uma instância controlando toda a colisão com o mapa.

L0l-King

Número de Mensagens : 148
Idade : 23
Data de inscrição : 04/04/2010
Reputação : 1
Insignia 1 x 0 Insignia 2 x 0 Insignia 3 x 0
Prêmios
   : 0
   : 0
   : 0

Voltar ao Topo Ir em baixo

Re: [AJUDA?] Room 2000x2000 lagando

Mensagem por willcraft2 em Sab 09 Mar 2013, 19:02

Toma esse tópico aqui:
http://gmbr.forumeiros.com/t25957-tutorial-otimizando-seus-jogos-de-game-maker

E GENTE NÃO FALA LEG, LEG É PERNA EM INGLÊS, FALEM LAG COM A
TODO MUNDO FALA LEG N SEI PQ. :/

willcraft2

Ranking : Nota D
Número de Mensagens : 682
Idade : 16
Data de inscrição : 06/04/2012
Notas recebidas : D + D
Reputação : 42
Insignia 1 x 0 Insignia 2 x 0 Insignia 3 x 0
Prêmios
   : 0
   : 0
   : 0

Voltar ao Topo Ir em baixo

Re: [AJUDA?] Room 2000x2000 lagando

Mensagem por bimorx em Sab 09 Mar 2013, 19:22

E GENTE NÃO FALA LEG, LEG É PERNA EM INGLÊS, FALEM LAG COM A
TODO MUNDO FALA LEG N SEI PQ. :/

kkkkkkkkkkkkkkkkkkk, concordo, mas eu sempre falo LAG xD

...

bem, sim Lol-King, seria um modo muito mais trabalhoso porem com maior desempenho e jogabilidade, eu to fritando a cabeça em alguns topicos e videos no youtube, mas não faço a minima ideia de como aplicar mesmo grid em meu projeto, pois o player deveria reconhecer alguns objetos em volta dele mesmo para poder colidir e etc.. mas como checar "if distance_to_image(surface) < ## " ou algo do tipo... n tem como O.o a menos q eu usasse algo chamado get_pixel ou algo assim, mas isso ainda n conheço, to apenas tentando entender grid pra aplicar, mas se for preciso vou tentar entender o get_pixel D:

---
e Wallcraft, eu ja vi este topico :/ oq ele diz realmente ajuda bastante na programação em geral, porém não reduziu o lag do meu jogo, eu tenho 30 fps enquanto estou na superficie, quanto mais eu cavo pra baixo (mais instancias aparecem na tela) o fps cai pra 20, 16, 10, e vai só caindo quanto mais fundo, menos fps =(

bimorx

Número de Mensagens : 153
Idade : 21
Data de inscrição : 24/01/2010
Reputação : 0
Insignia 1 x 0 Insignia 2 x 0 Insignia 3 x 0

Voltar ao Topo Ir em baixo

Re: [AJUDA?] Room 2000x2000 lagando

Mensagem por L0l-King em Sab 09 Mar 2013, 22:04

Mas no caso você não usaria surface pra colidir.

Como no meu exemplo anterior, pra por exemplo verificar o primeiro zero vc usaria
Código:
grid[0,0]
, isso retornaria o primeiro zero.
Aplicando o conceito in-game para descubrir qual o valor daquela posição dentro da grid você faria o seguinte:
*Pega uma coordenada x e y
*Divide, cada um, x e y pelo tamanho de cada tileset (se é 32x32, divida por 32), e o resultado da divisão você aplica um floor.

Código:

grid[floor(x/32),floor(y/32)]

Se você quiser eu te passo um vídeo em inglês da matemática por traz deste conceito(aplicada no flash, mas o kra desenha explica muito bem Very Happy).

L0l-King

Número de Mensagens : 148
Idade : 23
Data de inscrição : 04/04/2010
Reputação : 1
Insignia 1 x 0 Insignia 2 x 0 Insignia 3 x 0
Prêmios
   : 0
   : 0
   : 0

Voltar ao Topo Ir em baixo

Re: [AJUDA?] Room 2000x2000 lagando

Mensagem por Crovux em Dom 10 Mar 2013, 09:06

ja pensou em enverter? tipo
Código:
instance_deactivate_all();
    instance_activate_region(view_xview[0],view_yview[0],view_wview[0],view_hview[0]+128,false,true);
pois ai ia desativar todos e so ativar esta região.. ao contrario de antes que ativava todos menos esta região... Posso estar enganado, mas acho que é isso!

Crovux

Número de Mensagens : 169
Idade : 20
Data de inscrição : 07/01/2012
Reputação : 6
Insignia 1 x 0 Insignia 2 x 0 Insignia 3 x 0

Voltar ao Topo Ir em baixo

Re: [AJUDA?] Room 2000x2000 lagando

Mensagem por L0l-King em Dom 10 Mar 2013, 12:05

Crovux escreveu:ja pensou em enverter? tipo
Código:
instance_deactivate_all();
    instance_activate_region(view_xview[0],view_yview[0],view_wview[0],view_hview[0]+128,false,true);
pois ai ia desativar todos e so ativar esta região.. ao contrario de antes que ativava todos menos esta região... Posso estar enganado, mas acho que é isso!

Se você lesse o tópico por inteiro, veria que isso já foi sugerido.
O problema dele são objetos demais.

L0l-King

Número de Mensagens : 148
Idade : 23
Data de inscrição : 04/04/2010
Reputação : 1
Insignia 1 x 0 Insignia 2 x 0 Insignia 3 x 0
Prêmios
   : 0
   : 0
   : 0

Voltar ao Topo Ir em baixo

Re: [AJUDA?] Room 2000x2000 lagando

Mensagem por bimorx em Dom 10 Mar 2013, 13:13

Lol-King, hmm... acho q entendi um pouco... mas, como, por exemplo, eu faria pra verificar uma grid proxima ao player? ou como eu criaria um sprite ou objeto dentro desa grid? isso q me explode a cabeça O.õ

bimorx

Número de Mensagens : 153
Idade : 21
Data de inscrição : 24/01/2010
Reputação : 0
Insignia 1 x 0 Insignia 2 x 0 Insignia 3 x 0

Voltar ao Topo Ir em baixo

Re: [AJUDA?] Room 2000x2000 lagando

Mensagem por L0l-King em Dom 10 Mar 2013, 23:10

Não é pra ter um objeto, esqueça isso, você só deve desenhar como tileset, e apenas um objeto vai ter uma grid do mapa inteiro.
Pra verificar o valor do grid próximo ao player ou onde ele está você faria algo como:
Código:
grid[floor(obj_player.x / 32), floor(obj_player.y / 32)]

L0l-King

Número de Mensagens : 148
Idade : 23
Data de inscrição : 04/04/2010
Reputação : 1
Insignia 1 x 0 Insignia 2 x 0 Insignia 3 x 0
Prêmios
   : 0
   : 0
   : 0

Voltar ao Topo Ir em baixo

Re: [AJUDA?] Room 2000x2000 lagando

Mensagem por bimorx em Seg 11 Mar 2013, 12:07

sim sim, é oq eu to precisando, olha, eu aprendi GRAÇAS A DEUS, criar um terreno aleatorio usando APENAS surfaces, não deu lag nenhum ainda pois é 1 surface do tamanho da room, demora o "loading" enquanto desenha essa surface mas depois o jogo fica perfeito, PORÉM, eu preciso fazer o player colidir com os blocos né, por que se não ele vai cair no infinito, e tambem preciso quebrar estes blocos. Lol-King, cara, mto obrigado pela ajuda, vo tentar fazer algo baseado neste comando q vc mandou, tipo, verificar a grid q esteja mais perto e criar apenas blocos invisiveis solidos nessas grids, apenas para colisão do personagem e tal, vou tentar aprender grid... rsrsrs

VLWWW!!!

bimorx

Número de Mensagens : 153
Idade : 21
Data de inscrição : 24/01/2010
Reputação : 0
Insignia 1 x 0 Insignia 2 x 0 Insignia 3 x 0

Voltar ao Topo Ir em baixo

Re: [AJUDA?] Room 2000x2000 lagando

Mensagem por L0l-King em Seg 11 Mar 2013, 12:40

Assim, já que o terreno é gerado seria algo do tipo a geração:

Código:

//faz de conta que desenhou algum bloco aqui na posição x,y
obj_terrain.grid[floor(x/32),floor(y/32)] = 0

Assim que você monta a grid, o problema disso tudo é que não tem métodos que facilitem o uso, como usar as funções de colisão, tudo deve ser feito a mão.

L0l-King

Número de Mensagens : 148
Idade : 23
Data de inscrição : 04/04/2010
Reputação : 1
Insignia 1 x 0 Insignia 2 x 0 Insignia 3 x 0
Prêmios
   : 0
   : 0
   : 0

Voltar ao Topo Ir em baixo

Re: [AJUDA?] Room 2000x2000 lagando

Mensagem por bimorx em Seg 11 Mar 2013, 13:29

hmm, dxa ver se eu entendi, se eu colocar obj_terreno .grid[tal,tal] o obj_terreno automaticamente será alinhado à ela na room?


[EDIT] Ótimo!!, consegui criar grids com valores diferentes (-1 é o ceu, 0 é terra com grama, 1 é terra, 2 é pedra) e consegui tambem colocar pedra aleatoriamente mudando o valor da grid, isso vai facilitar no futuro eu acho... mas enfim, agora o meu maior problema é: como vou fazer para o player colidir com a grid em q tem valores diferentes de -1?

eu precisava fazer um sistema tipo o q está nesse video: http://www.youtube.com/watch?v=8OKrwOK6Gjg

por favor, abre o video e coloque em 2:15 exatamente, nessa hora mostra como o cara fez para gerar blocos solidos em volta de tudo q está no player q não seja CÉU (valor -1).

tem alguma idéia?

bimorx

Número de Mensagens : 153
Idade : 21
Data de inscrição : 24/01/2010
Reputação : 0
Insignia 1 x 0 Insignia 2 x 0 Insignia 3 x 0

Voltar ao Topo Ir em baixo

Re: [AJUDA?] Room 2000x2000 lagando

Mensagem por L0l-King em Ter 12 Mar 2013, 12:22

Perdão pela demora, mas é que trabalhar e faculdade às vezes não me dá tempo nem pra suspirar ressaca

Interessante o conceito desse kra.

Ele gera just-in-time(executar só quando é preciso) a geração das máscaras de colisão.
Ele faz algo do tipo:

*deixa armazenado a posição do player x e y da grid(tipo, 12 e 10)
* faça um for de -3 a +3, e dentro dele faça outro for ninhado de mesmo range(-3 a +3)

o que tu vai fazer é bem simples, verificando o valor da grid desta maneira:
Código:
//digamos que I e J são as tuas variáveis de contador/iteração do for
terreno.grid[i+(posição x na grid do player),j+(posição y na grid do player)]
//depois pra saber onde desenhar o objeto com a máscara do bloco faça o seguinte
//crie um novo bloco de acordo com o valor do grid naquela posição(no caso do -1 vc não cria nada)
bloco.x = i+(posição x na grid do player) * 32
bloco.y = j+(posição y na grid do player) * 32
//importante também é que a criação destes blocos deve ser feita no Begin Step,
// e depois no End Step destruir TODOS OS BLOCOS,
// porque senão a medida que explorar o mapa você ficaria com objetos demais
// Ou senão usar um alarm que executa de 5 em 5 frames todo o código acima


Última edição por L0l-King em Ter 12 Mar 2013, 12:46, editado 1 vez(es)

L0l-King

Número de Mensagens : 148
Idade : 23
Data de inscrição : 04/04/2010
Reputação : 1
Insignia 1 x 0 Insignia 2 x 0 Insignia 3 x 0
Prêmios
   : 0
   : 0
   : 0

Voltar ao Topo Ir em baixo

Re: [AJUDA?] Room 2000x2000 lagando

Mensagem por bimorx em Ter 12 Mar 2013, 12:32

Sem problema, entendo q é dificil ter tempo, e nem é prioridade isso aqui pra vc, rlx Very Happy

Cara eu preciso começar a pensar de jeito mais logico.... eu tava conversando ontem com o Gabriel Schneider, e ele me deu a MESMA solução e deu certo, exatamente isso!! bem, acho q minhas duvidas se foram por enquanto, pelo menos essa, pois agora ja consegui criar um map random, apenas usando grids e surfaces, e colidindo apenas em torno do player. Muiiiiiiiiitissimo o brigado Lol-King, e ao Gabriel Schneider tbm (q nem ta aki nos posts kkk). VLw mesmooo, precisando de alguma ajuda só me falar Very Happy tamo ae ! Very Happy

Vlw a todos q tentaram tambem, é claro Very Happy

bimorx

Número de Mensagens : 153
Idade : 21
Data de inscrição : 24/01/2010
Reputação : 0
Insignia 1 x 0 Insignia 2 x 0 Insignia 3 x 0

Voltar ao Topo Ir em baixo

Re: [AJUDA?] Room 2000x2000 lagando

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


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