Avatar do usuário
Eddy
Membro
Membro
Autor
Mensagens: 29
Registrado em: Seg Nov 23, 2015 10:32 pm
Karma: 213

Muitos Objetos: o que realmente importa?

Ter Jan 31, 2017 11:12 am

Fala pessoal!

Seguinte, estou vendo a arte para um jogo, mas sério, fazer isso com tiles ou background vai ser ruim, então pensei em fazer com objetos.

Cada objeto seria apenas visual, sem nenhuma linha de comando, mas teria uns 200 à 500 objetos na room que não fazem nada.

dá uma olhada nessa imagem :
Imagem

cada "bloco" é um objeto para o cenário... como vcs vêm é um tile isométrico, com várias disposições diferentes. se eu for fazer uma arte com cada combinação possível vai ficar ridiculamente imensa e perde a qualidade, visto que o maldito tile não pode ser exportado/importado em vector...

minha pergunta é bem DIRETA:

Vai bugar o jogo essa quantidade de objetos?

procurei no forum, tem materias parecidas, mas eu queria saber exatamente a diferença de UM tile 64x64 de UM objeto com sprite 64x64... estático sem programação nenhuma


vlw aew! 
1

Tags:
 
Avatar do usuário
lukbebalduke
Membro
Membro
Mensagens: 44
Registrado em: Sáb Ago 22, 2015 2:24 am
Localização: Curitiba
Karma: 360

Contato:

Re: Muitos Objetos: o que realmente importa?

Ter Jan 31, 2017 11:25 am

Vai.

Vai deixar super lento, usar milhões de objetos só com função visual é péssimo, pois todo objeto guarda um caminhão de informações com ele, que não vão ter função nenhuma se a finalidade for somente visual. Sugestões; usar tiles, usar um objeto só para a colisão com os tamanhos optimizados para usar o minimo de objeto possíveis, usar funções de draw em um objeto controle quando possível.

A diferença de uma tile para um objeto é que ela não ver acompanhada de uma porrada de 'definições' que acompanham o objeto. Utilizando de palavras do próprio índice;

As tiles são um recurso puramente gráfico que tem muito poucas propriedades e nenhuma das sobrecargas que acompanham um objeto, e assim elas são processadas e tratadas com muito mais rapidez pelo GameMaker: Studio quando o jogo é executado no dispositivo de destino. Uma tile simples seria um para uma parede em um labirinto, onde seu jogo tem apenas um objeto de parede com um sprite quadrado atribuído a ele para colisões. Este objeto é então sinalizado como invisível para que quando jogar o jogo você não pode vê-lo, e então você criaria alguns azulejos agradáveis que cobrem os lugares onde os objetos de parede são e fazer seus níveis olhar grande.

https://docs.yoyogames.com/source/dadio ... tiles.html

Por experiencia própria posso dizer que rooms grandes e muitos objetos sempre dão ruim haha. No pior dos cenários você ainda pode apelar para os objetos e desativá-los quando não estão sendo usados dentro do jogo para ganhar um pouco de desempenho :)

Espero ter ajudado, abraço!
2
 
Avatar do usuário
guimaraf
Colaborador
Colaborador
Mensagens: 462
Registrado em: Ter Mai 31, 2016 3:35 am
Localização: Contagem-MG
Karma: 2906

Contato:

Re: Muitos Objetos: o que realmente importa?

Ter Jan 31, 2017 12:58 pm

Outro recurso também muito utilizado para manter a qualidade por exemplo da imagem acima, é separar os objetos, como o chão, as pedras e as sombras, também a água. Nos objetos que não precisam de nenhuma animação como pedras e o piso, podem ser apenas 1 frame, já as sombras e água pode trabalhar com animações, junto com programação para dar efeitos diferentes. 
Desta forma consegue ter um cenário bem bonito e consumindo poucos recursos. 
Como as pedras estão soltas, pode trabalhar com o nível da camada, para deixar o personagem atrás da pedra, quando está acima dela e colidindo, além de outros efeitos.
3
 
Avatar do usuário
Eddy
Membro
Membro
Autor
Mensagens: 29
Registrado em: Seg Nov 23, 2015 10:32 pm
Karma: 213

Re: Muitos Objetos: o que realmente importa?

Ter Jan 31, 2017 1:43 pm

@lukbebalduke

Obrigado pela explicação e definição, cara que porcaria o GMS não importar vetor... importa SWF, que ainda assim não é bom  :nervoso:

@[color=#8436e5][font=-apple-system, Helvetica Neue, Roboto, Segoe UI, Helvetica, sans-serif]guimaraf[/font][/color]
acredito ser bastante interessante o uso do draw, mas mesmo assim vai ter o Objeto "Pesando"
___________
acredito que vou acabar fazendo os objetos de colisão desenharem as sprites para cada área que eu preciso...
se lesse svg para tiles...
1
 
Avatar do usuário
Dust
Membro
Membro
Mensagens: 111
Registrado em: Qui Mai 26, 2016 6:56 pm
Localização: Santa Catarina
Karma: 629

Re: Muitos Objetos: o que realmente importa?

Ter Jan 31, 2017 4:57 pm

Cara, como ja mencionado você pode desativa-los quando não estiverem sendo usados...
Você pode ativar e desativalos quando eles estiverem dentro/fora da room por um objeto controle, para não listar todos os objeto use a função de Parent, você só precisa citar o objeto pai, e os objetos filhos irão copiar...
Já que os objetos não vão possuir nenhuma função dentro de si, se for usado com moderação na quantidade de objetos pode ser que não influencie na performance do projeto.
3
 
Ciro
Programador
Programador
Mensagens: 33
Registrado em: Dom Dez 13, 2015 1:41 am
Karma: 234

Re: Muitos Objetos: o que realmente importa?

Qua Fev 01, 2017 9:42 pm

Você pode usar a função draw_sprite.
3
 
Avatar do usuário
Eddy
Membro
Membro
Autor
Mensagens: 29
Registrado em: Seg Nov 23, 2015 10:32 pm
Karma: 213

Re: Muitos Objetos: o que realmente importa?

Qui Fev 02, 2017 9:27 am

@Ciro
obrigado pela dica, o que eu pensei é forçar o GMS "desenhar" ao longo de um objeto, mas isso deixa complicações...
uma de eu não saber o resultado final e o risco de bugs, pelas colisões não fecharem
o que estou pensando é fazer os objetos já com a esprite que eu quero... tipo eu faço em vector o "tile", exporto, e uso masks para fazer colisão

alguém sabe se o GMS2 usa tiles em vector?
estava vendo que para dar o upgrade na versão master Collection é 50 doletas... aaew quem sabe vai valer a pena 
 
Avatar do usuário
saim
Membro
Membro
Mensagens: 20
Registrado em: Dom Jul 17, 2016 1:50 am
Localização: BH - Minas
Karma: 130

Re: Muitos Objetos: o que realmente importa?

Qui Fev 02, 2017 12:06 pm

Eddy escreveu:
Seguinte, estou vendo a arte para um jogo, mas sério, fazer isso com tiles ou background vai ser ruim, então pensei em fazer com objetos.

Porque vai ser ruim? Por causa das colisões?
Bom, se os objetos gerarem colisões, a função deles NÃO É puramente gráfica.
Na verdade, dentro do GM, é impossível criar um objeto "sem programação nenhuma", porque eles já têm uma série de engines built-in, impossíveis de deletar. Essas engines são leves e acaba sendo vantajoso, pra acelerar a programação, que elas estejam ali. Lidar com colisões, por exemplo, é parte dessas engines.
Mas centenas de objetos, bom, o pessoal já disse.
Se for mesmo só pra apresentar a imagem, você pode usar um único objeto, com todas as informações, como um controle. A imagem não dá uma indicação muito forte do que você quer fazer, então você poderia dar uma descrição mais detalhada, por favor?
1
 
Avatar do usuário
Eddy
Membro
Membro
Autor
Mensagens: 29
Registrado em: Seg Nov 23, 2015 10:32 pm
Karma: 213

Re: Muitos Objetos: o que realmente importa?

Qui Fev 02, 2017 2:03 pm

saim escreveu:
 A imagem não dá uma indicação muito forte do que você quer fazer, então você poderia dar uma descrição mais detalhada, por favor?

Na verdade essa imagem mostra apenas o estilo do gráfico, a arte é isométrica. Porém, tiles não ficam legal no GM's, não no nível de qualidade que eu quero, tem que ser algo suave, limpo... o que chega mais perto disso é pixel sem alisamentos. Mas isso às vezes é meio "grosseiro", se vc for ver essa imagem e identificar cada cubo daquele como UM tile, vc consegue perceber que o tamanho desses tiles devem estar em torno de 200x300 pixels, isso fica inviável, muito grande, se diminui, perde qualidade... agora se eu puder usar sprites (vetor) no lugar de tiles, a coisa muda... um "tile vetorizado", mas como falaram... objetos são objetos e não decoração...
usar um objeto controle está meio fora de opção, pensa eu dizer umas 500 posições de tiles.... não dá não
2