[Tutorial] Diminuição no peso de executáveis.

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

[Tutorial] Diminuição no peso de executáveis.

Mensagem por Need 90 em Ter 21 Ago 2012, 20:59

Você já deve ter feito algum jogo que pesou não é? Mas você sabia que o game maker possui recursos para deixar o jogo leve?

São recursos simples, que podem ser carregados facilmente no começo do jogo.
Os comandos são os seguintes :
Código:
sprite_add(fname,imgnumb,removeback,smooth,xorig,yorig)
Adiciona a imagem armazenada no fname arquivo para o conjunto de recursos sprite. Muitos tipos diferentes de arquivos de imagem pode ser tratada. Quando a imagem não é uma imagem gif pode ser uma faixa contendo um número de subimages para o objeto ao lado do outro. Use imgnumb para indicar o seu número (1 para uma única imagem). Para (animado) imagens gif, este argumento não é utilizado, o número de imagens no arquivo GIF é utilizado. removeback indica se a envidar todos os pixels com a cor de fundo (esquerda-pixel de fundo) transparente. liso indica se para suavizar as bordas. xorig e yorig indicar a posição da origem do sprite. A função retorna o índice do sprite novo que você pode usar para desenhá-la ou a remetê-la ao sprite_index variável de uma instância. Quando ocorre um erro é retornado -1.

Código:
sound_add(fname,kind,preload)
Adiciona um recurso de som para o jogo. fname é o nome do arquivo de som. kind indica o tipo de som (0 = normal, 1 de fundo, 2 = 3-D, 3 mmplayer =) preload indica se o som deve ser imediatamente armazenados na memória de áudio (verdadeiro ou falso). A função retorna o índice do novo som, que pode ser usado para reproduzir o som. (-1 Se ocorreu um erro, por exemplo, o arquivo não existe).

Código:
background_add(fname,removeback,smooth)
Adiciona a imagem armazenada no fname arquivo para o conjunto de recursos do fundo. Muitos tipos diferentes de imagens podem ser tratadas. Quando a imagem tem um canal alfa, isto é usado para a transparência. removeback indica se a envidar todos os pixels com a cor de fundo (esquerda-pixel de fundo) transparente. smooth indica se para suavizar os limites. A função retorna o índice do novo fundo, que você pode usar para desenhá-la ou a remetê-la ao background_index variável [0] para torná-la visível na sala atual. Quando ocorre um erro é retornado -1. background_replace (IND, fname, removeback, liso) Idem, mas neste caso o fundo com ind índice é substituído. A função retorna se é bem sucedido. Quando o fundo está visível na sala de wil-lo a ter também.

Código:
font_add(name,size,bold,italic,first,last)
É possível configurar a fonte a ser usada para desenhar um texto. Deve estar dentre os recursos de fonte que foram definidos. Se for esclhido por No Font, é usada uma fonte padrão do tipo Arial e tamanho 12.

Código:
object_add()
Adiciona um novo objeto. Ele retorna o índice do objeto. Agora você pode usar este índice nas rotinas acima para definir determinadas propriedades do objeto e então você pode usar o índice para criar instâncias do objeto.

Código:
path_add()
Adiciona um caminho novo e vazio. O índice do caminho é devolvido.

Código:
room_add()
Adiciona uma nova sala. Ele retorna o índice do quarto. Note-se que a sala não fará parte da ordem do quarto. Assim, a nova sala não tem um precedente ou um quarto ao lado. Se você deseja mover para uma sala adicionou você deve fornecer o índice do quarto.

Código:
timeline_add()
Adiciona uma nova linha de tempo. Ele retorna o índice da linha do tempo.

Ps : Resumo dos códigos retirados do manual do GM8
Esses são os mais importantes, mas lembre-se, quando for usa-los, coloque os recursos na pasta do jogo.


Outras formas de diminuir o peso do jogo são :
Usando o Compress(vem junto com o Ant-Decompiler);
Comprimindo o arquivos em .zip, .rar e .7zip(acho que é .7zip).


Espero que gostem.
Até mais, e aproveitem as dicas blz


Última edição por Need 90 em Qua 22 Ago 2012, 16:19, editado 2 vez(es)

Need 90

Ranking : Nota B
Número de Mensagens : 787
Data de inscrição : 16/01/2012
Notas recebidas : D+A+B
Reputação : 7
Insignia 1 x 0 Insignia 2 x 0 Insignia 3 x 0
Prêmios
   : 0
   : 0
   : 0

http://need90games.blogspot.com.br

Voltar ao Topo Ir em baixo

Re: [Tutorial] Diminuição no peso de executáveis.

Mensagem por saim em Qua 22 Ago 2012, 09:03

Faltou ainda:
font_add()
font_add_sprite()
object_add()
path_add()
room_add()
timeline_add()
E, claro, tudo o que vem em consequência delas. Pra adicionar recursos complexos, como objetos, paths ou timelines, você pode executar arquivos externos, de texto, com execute_file.
Inclusive, você pode criar uma estrutura de pastas que te ajude a organizar os arquivos, como se fosse dentro do game maker, mas no windows - embora eu sempre jogue tudo na pasta-raiz, mesmo.
A quantidade de recursos importáveis é tanta que já faz um bom tempo que estou programando através de um "jogo" em que o único comando é "executar o primeiro arquivo de texto encontrado com a extensão .saim".

Isso não vai reduzir o tamanho do jogo, mas do executável. Se os arquivos externos não forem inclusos, o jogo não vai funcionar. Um design cauteloso pode diminuir o tempo de importação desses arquivos (chamando-os apenas quando necessário, por exemplo), mas acho que esse tipo de cuidado só faz sentido em jogos muitos níveis acima daqueles chamdos "indie".
Talvez incluir tanto os arquivos externos quanto o executável no mesmo .zip seja mais eficiente que simplesmente incluir tudo no executável e compactá-lo (nunca comparei).


Última edição por saim em Qui 23 Ago 2012, 08:17, editado 1 vez(es)

saim

Ranking : Nota B
Número de Mensagens : 2964
Idade : 38
Data de inscrição : 14/01/2011
Notas recebidas : C-D-A-B
Reputação : 121
Insignia 1 x 0 Insignia 2 x 0 Insignia 3 x 0
Prêmios
   : 1
   : 0
   : 3

Voltar ao Topo Ir em baixo

Re: [Tutorial] Diminuição no peso de executáveis.

Mensagem por henriquebr em Qua 22 Ago 2012, 11:33

ótimo tutorial, me ajudou muinto(apesar de esse tutorial ser o assunto da minha duvida xD), mas se vc pudesse explicar tb as coisas que o saim falou ia ficar melhor ainda.

henriquebr

Ranking : Nota D
Número de Mensagens : 421
Data de inscrição : 03/10/2011
Notas recebidas : D+B+D
Reputação : 1
Insignia 1 x 0 Insignia 2 x 0 Insignia 3 x 0

Voltar ao Topo Ir em baixo

Re: [Tutorial] Diminuição no peso de executáveis.

Mensagem por Need 90 em Qua 22 Ago 2012, 12:27

@Saim :
font_add()
font_add_sprite()
object_add()
path_add()
room_add()
timeline_add()
Isso não influencia no peso do executável, pois são arquivos mais leves.
E no tópico já esta que tem que por os arquivos na pasta, pois se não, não funciona.

@henriquebr
Vou por o que o saim disse também =)

Need 90

Ranking : Nota B
Número de Mensagens : 787
Data de inscrição : 16/01/2012
Notas recebidas : D+A+B
Reputação : 7
Insignia 1 x 0 Insignia 2 x 0 Insignia 3 x 0
Prêmios
   : 0
   : 0
   : 0

http://need90games.blogspot.com.br

Voltar ao Topo Ir em baixo

Re: [Tutorial] Diminuição no peso de executáveis.

Mensagem por PedroX em Qua 22 Ago 2012, 13:54

Isso não se chama compressão.Você não está colocando os arquivos do executável, mas sim na pasta. Compressão envolve geralmente diminuir a repetição de dados. Você está na verdade dando uma dica de como diminuir o tamanho do executável, mas não de como comprimir. Há outros tutoriais que sobre as mesmas funções que você postou. Você precisa melhorá-lo para que seja aprovado.

PedroX

Ranking : Nota C
Número de Mensagens : 6034
Idade : 21
Data de inscrição : 26/07/2008
Notas recebidas : C+B
Reputação : 286
Insignia 1 x 0 Insignia 2 x 0 Insignia 3 x 0
Prêmios
   :
   :
   :

Voltar ao Topo Ir em baixo

Re: [Tutorial] Diminuição no peso de executáveis.

Mensagem por edeg em Qua 22 Ago 2012, 18:32

com o tuto emtao vc pode postar o jogo depois as sprites ai fica menor

edeg

Número de Mensagens : 164
Data de inscrição : 24/05/2012
Reputação : 4
Insignia 1 x 0 Insignia 2 x 0 Insignia 3 x 0

Voltar ao Topo Ir em baixo

Re: [Tutorial] Diminuição no peso de executáveis.

Mensagem por Gonçalves em Qua 06 Mar 2013, 00:52

E aí, cara? Bom tutorial mas...

Outras formas de diminuir o peso do jogo são :
Usando o Compress(vem junto com o Ant-Decompiler);
Comprimindo o arquivos em .zip, .rar e .7zip(acho que é .7zip).

Tem como você explicar como fazer isso que você citou? Seria de grande valia para alguns (por exemplo, eu kk).

Até mais! elephant

Gonçalves

Ranking : Nota B
Número de Mensagens : 1013
Data de inscrição : 29/10/2010
Notas recebidas : B + A + C
Reputação : 79
Insignia 1 x 0 Insignia 2 x 0 Insignia 3 x 0
Prêmios
   : 2
   : 0
   : 0

Voltar ao Topo Ir em baixo

Re: [Tutorial] Diminuição no peso de executáveis.

Mensagem por TRFN em Qua 06 Mar 2013, 08:54

Utilize o Anti-Decompiler, alem de proteger teu jogo ainda serve para deixa-lo mais leve.

Baixe-o pesquisando no google.

___________



TRFN

Ranking : Nota C
Número de Mensagens : 970
Idade : 21
Data de inscrição : 16/01/2012
Notas recebidas : C
Reputação : 33
Insignia 1 x 0 Insignia 2 x 0 Insignia 3 x 0
Prêmios
   : 1
   : 0
   : 2

http://trfnsite.com

Voltar ao Topo Ir em baixo

Re: [Tutorial] Diminuição no peso de executáveis.

Mensagem por L0l-King em Qua 06 Mar 2013, 12:46

O executável e o loading fica mais leve, só que as coisas deverão ser feitas em tempo de execução.
Gerar os seus mapas/rooms a partir de um arquivo(por exemplo, usar o OGMO Editor e depois ler o XML e gerar a minha fase em tempo de execução) é algo que SEM SOMBRA DE DÚVIDA diminuiria o tamanho do executável e de toda a pasta com o jogo.

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: [Tutorial] Diminuição no peso de executáveis.

Mensagem por Rodrigo Santiago em Qua 06 Mar 2013, 13:03

Porem porem porem... Vai diminuir a velocidade de um jogo principalmente os maiores, por isso e bom colocar apenas os recursos maiores fora, e mais uma coisa:object_add nao gosto muito pq nao da pra fazer visualmente na room, e acho que os scripts usados para manipula-los nao vao render muito no total.

Rodrigo Santiago

Ranking : Nota B
Número de Mensagens : 1281
Idade : 20
Data de inscrição : 28/07/2012
Notas recebidas : C + C + B
Reputação : 73
Insignia 1 x 0 Insignia 2 x 0 Insignia 3 x 0
Prêmios
   : 3
   : 1
   : 3

Voltar ao Topo Ir em baixo

Re: [Tutorial] Diminuição no peso de executáveis.

Mensagem por Conteúdo patrocinado Hoje à(s) 06:46


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