GMBR
Gostaria de reagir a esta mensagem? Crie uma conta em poucos cliques ou inicie sessão para continuar.
Entrar

Esqueci-me da senha

Últimos assuntos
» player não consegue andar
por lovn7 Qui 21 Nov 2024, 13:33

» É possível fazer istó no game maker
por William Lima Qui 21 Nov 2024, 10:56

» Rio Rise - novo launcher do Gta San Andreas SAMP Brasil
por Lua Sáb 16 Nov 2024, 20:22

» (Resolvido) Cenario longo x Texture Pages
por josuedemoraes Sáb 16 Nov 2024, 15:31

» Kids' band
por Adilson Lucindo Santos Sex 15 Nov 2024, 12:23

» (RESOLVIDO) Engasgos-Troca de Sprites/animações
por josuedemoraes Ter 12 Nov 2024, 01:49

» Block Room - DEMO
por Joton Qua 06 Nov 2024, 22:58

» Game Infinito vertical (subindo)
por macmilam Sáb 26 Out 2024, 12:36

» Retorno da GMBR!!!
por Dancity Ter 22 Out 2024, 16:36

» Máquina de estados
por aminaro Qui 10 Out 2024, 13:33

» como faço pra um objeto colidir com o outro e diminuir a vida do player ?
por josuedemoraes Qui 03 Out 2024, 16:51

» RESOLVIDO: Colisão com objetos moveis
por josuedemoraes Qua 02 Out 2024, 20:28

» Crypt of the Blood Moon
por divin sphere Qua 11 Set 2024, 18:18

» como fazer um objeto seguir?
por divin sphere Dom 18 Ago 2024, 18:08

» Procuro de alguém para Modelar/Texturizar/Animar objetos 3D
por un00brn Dom 11 Ago 2024, 11:10

» Destruição de cenário (estilo DD Tank)
por CoronelZeg Sex 09 Ago 2024, 17:16

» RESOLVIDO-Como destruir uma instancia especifica de um objeto
por josuedemoraes Ter 23 Jul 2024, 00:40

» Automatizar a coleta de id
por GabrielXavier Seg 22 Jul 2024, 18:01

» Preciso de ajuda para concluir um pequeno projeto
por lmoura Qui 27 Jun 2024, 15:45

» ANGULO ACOMPANHAR O OBJETO
por Klinton Rodrigues Qui 27 Jun 2024, 08:34

» Musica reinicia quando sala reinicia
por GabrielXavier Ter 18 Jun 2024, 07:28

» como fazer uma copia de gd
por generico_cube Sex 14 Jun 2024, 15:48

» Square Adventure
por guilherme551 Ter 11 Jun 2024, 09:54

» como posso definir limite de uma variavel
por GabrielXavier Sex 07 Jun 2024, 14:14

» [Resolvido] Dúvida, colisão única de objeto
por vdm842 Sex 24 maio 2024, 09:50


Organizando melhor seu trabalho

5 participantes

Ir para baixo

Organizando melhor seu trabalho Empty Organizando melhor seu trabalho

Mensagem por †Ceifador Dom 05 Set 2010, 11:15

Nome: Organizando melhor seu trabalho
Descrição: Dicas e boas práticas para tornar seu projeto mais organizado
Nível de dificuldade: Indiferente
Requerimentos: Indiferente

Respondendo dúvidas aqui no forum reparei que muitos usuários não tem o costume de organizar os recursos e códigos do projeto, o que é uma prática muito desaconselhável em programação, não só pela confusão que se torna o trabalho como a ocorrência de conflitos e erros que isso pode ocasionar.
Nesse pequeno tutorial irei mostrar algumas "boas práticas" que podemos levar para nossos projetos, de forma rápida e simples.

- Preparando os recursos
Em geral, a primeira coisa que fazemos num projeto é montar nossa biblioteca de recursos (sprites, sons, etc) nas pastas do programa, e onde também começam os problemas.
Cada item no jogo possui uma natureza, seja imagem, som, script, objeto e assim por diante. Então, porque não identificarmos estes itens de forma padronizada? É mais fácil chamar uma sprite apenas de "bola", mas concordam que quando o jogo tiver 30, 50 ou quem sabe mais de 100 itens diferentes será complicado diferenciar o que é o que?

Vejamos alguns exemplos:
bola
bola
bola

Calma lá †Ceifador, ai você tá de sacanagem! Na verdade não, nesse exemplo o suposto autor teria adicionado 3 itens diferentes, sendo 1 sprite, 1 som e 1 objeto. Isso é até muito comum dentre os iniciantes, não por preguiça ou outra coisa, mas simplesmente pela falta de experiência.

Vejamos agora como seria o mais correto:
sprBola
souBola
objBola

A coisa já fica diferente certo? Podemos até não reconhecer de imediato cada sufixo
utilizado, mas ninguém terá dúvida que são 3 itens diferentes.
O padrão usado é bastante simples, apenas adiciono um prefixo (parte inicial da palavra) de 3 letras conforme o recurso, ex:

Sprite = spr
Sound = sou
Music = mus
Object = obj
Script = scr

Isso não é uma regra fixa, cada um pode usar o prefixo que achar melhor, com mais ou menos letras, o importante é identificar corretamente o seu recurso/item.
Outro ponto é a separação de palavras quando nosso item possui mais de uma no nome. Vocês já devem saber que em programação jamais se usa espaço ou caractere especial pra nomear coisas, então as formas mais corretas de separar palavras seria através de "_" (underline) ou letra maiúscula, ex:

spr_bola_amarela
sprBolaAmarela
sou_explosao_barril
souExplosaoBarril

Eu particularmente prefiro as letras maiúsculas, mas não há problema algum em usar "_". Isso tudo pode parecer frescura, mas há uma função no Game Maker que nos prova o contrário. Na parte superior, logo acima da barra de ferramentas há um menu chamado Script, e nele há a opção "Check Resource Names".
Se vocês clicarem nessa opção verão uma pequena janela listando todos os conflitos de nomenclatura em seu projeto. O correto é que não haja nenhum, apenas o texto "". Façam o teste, acredito que muitos irão se surpreender com a quantidade de conflitos existentes no jogo, e muitas vezes aquele errinho chato que a tempos você tenta desvendar é fruto de um deles.

- Organizando os recursos
Outro ponto que é comum ser deixado de lado é a simples disposição dos itens em sub-pastas. Já me deparei com editáveis com tantos recursos que a lista até bugava na hora que clicava em Sprites ou sounds. Pensem então quando o cara for escolher uma sprite na edição do objeto, ficará uns 3 minutos navegando o menu dropdown até achar o que deseja.
Usar ou não sub-pastas não irá gerar conflitos ou erros como na nomenclatura, mas não é menos importante. Temos que ter bom senso e pensar como aquilo irá afetar o trabalho no futuro, principalmente se houver a possibilidade de outras pessoas terem acesso ao arquivo editável.

vejamos alguns exemplos:
sprMarioPequenoPara
sprMarioPequenoAnda
sprMarioPequenoCorre
sprMarioPequenoPula
sprMarioPequenoNada
sprMarioGrandePara
sprMarioGrandeAnda
sprMarioGrandeCorre
sprMarioGrandePula
sprMarioGrandeNada
sprLuigiPequenoPara
sprLuigiPequenoAnda
sprLuigiPequenoCorre
sprLuigiPequenoPula
sprLuigiPequenoNada
sprLuigiGrandePara
sprLuigiGrandeAnda
sprLuigiGrandeCorre
sprLuigiGrandePula
sprLuigiGrandeNada

Fica até difícil de ler com uma lista contínua como essa, imagine com 10 vezes isso.

Vejamos agora como ficaria de forma organizada em sub-pastas
Mario
- Pequeno
- - sprMarioPequenoPara
- - sprMarioPequenoAnda
- - sprMarioPequenoCorre
- - sprMarioPequenoPula
- - sprMarioPequenoNada
- Grande
- - sprMarioGrandePara
- - sprMarioGrandeAnda
- - sprMarioGrandeCorre
- - sprMarioGrandePula
- - sprMarioGrandeNada

Luigi
- Pequeno
- - sprLuigiPequenoPara
- - sprLuigiPequenoAnda
- - sprLuigiPequenoCorre
- - sprLuigiPequenoPula
- - sprLuigiPequenoNada
- Grande
- - sprLuigiGrandePara
- - sprLuigiGrandeAnda
- - sprLuigiGrandeCorre
- - sprLuigiGrandePula
- - sprLuigiGrandeNada

Facilita bastante certo? E ainda tem a vantagem de podermos "contrair" as pastas
deixando só o que precisamos visível, ex:

Mario >

Luigi
- Pequeno
- - sprLuigiPequenoPara
- - sprLuigiPequenoAnda
- - sprLuigiPequenoCorre
- - sprLuigiPequenoPula
- - sprLuigiPequenoNada
- Grande >

Para criar uma sub-pasta é muito simles, basta clicar com o botão direito na pasta principal e escolher "Create Group". Você pode repetir isso criando quantas sub-pastas achar necessário.

Aproveitem mais esse tutorial e qualquer problema já sabem, é só postar.


Última edição por †Ceifador em Sáb 11 Set 2010, 13:41, editado 3 vez(es)
†Ceifador
†Ceifador

Data de inscrição : 28/08/2010
Reputação : 0
Número de Mensagens : 154
Prêmios : Organizando melhor seu trabalho Empty

Medalhas x 0 Tutoriais x 1 Moedas x 0

Ouro x 0 Prata x 0 Bronze x 0

Insignia 1 x 0 Insignia 2 x 0 Insignia 3 x 0

Ir para o topo Ir para baixo

Organizando melhor seu trabalho Empty Re: Organizando melhor seu trabalho

Mensagem por SIGILOSO Dom 05 Set 2010, 11:23

Mto bom, essas dicas podem criar uma grande diferença em projetos desorganizados! =D
Bem, acho que o
Janx deve ter tido uma certa dor de cabeça pra entender os códigos do Gun Block... xD
Parabéns, é desse tipo de tutorial que a GMBR precisa! =D
afro
SIGILOSO
SIGILOSO

Games Ranking : Nota A

Notas recebidas : A+A+A+A+A+A+A
Data de inscrição : 06/06/2009
Reputação : 39
Número de Mensagens : 2267
Prêmios : Organizando melhor seu trabalho Empty

Medalhas x 0 Tutoriais x 2 Moedas x 0

Ouro x 4 Prata x 2 Bronze x 1

Insignia 1 x 0 Insignia 2 x 0 Insignia 3 x 0

Ir para o topo Ir para baixo

Organizando melhor seu trabalho Empty Re: Organizando melhor seu trabalho

Mensagem por fenanco Dom 05 Set 2010, 11:56

Muito bom seu tutorial vai ajudar muito os iniciantes!!
fenanco
fenanco

Data de inscrição : 16/07/2010
Reputação : 0
Número de Mensagens : 88
Prêmios : Organizando melhor seu trabalho Empty

Medalhas x 0 Tutoriais x 0 Moedas x 0

Ouro x 0 Prata x 0 Bronze x 0

Insignia 1 x 0 Insignia 2 x 0 Insignia 3 x 0

Ir para o topo Ir para baixo

Organizando melhor seu trabalho Empty Re: Organizando melhor seu trabalho

Mensagem por Super Games Dom 05 Set 2010, 12:39

Otimo tutorial amigo!
Eu organizo meus sprites e objetos e grupos ingual você escreveu.
Creio que seu tuto vai fazer que muita gente organiza seus trabalhos.

Até!
Super Games
Super Games

Games Ranking : Nota C

Notas recebidas : C
Data de inscrição : 10/06/2010
Reputação : 36
Número de Mensagens : 2800
Prêmios : Organizando melhor seu trabalho Empty

Medalhas x 0 Tutoriais x 0 Moedas x 0

Ouro x 0 Prata x 1 Bronze x 0

Insignia 1 x 0 Insignia 2 x 0 Insignia 3 x 0
Plataformas :
  • Game Maker 8.0 ou 8.1
  • Game Maker Studio 1.4
  • Game Maker Studio 2.0
  • Java
  • Godot
  • Javascript
  • C ou C++


Ir para o topo Ir para baixo

Organizando melhor seu trabalho Empty Re: Organizando melhor seu trabalho

Mensagem por vinians Dom 05 Set 2010, 13:29

Excelente tutorial. Ja vi muitas engines extremamente bagunçadas! Não que isso as torne ruins, mais dificulta o trabalho em grupo e o próprio programador caso precise alterar algo mais tarde.

O padrão usado é bastante simples, apenas adiciono um sufixo (parte incial da palavra)...
Não seria "prefixo" ao invez de "sufixo" ??
flw!
vinians
vinians

Games Ranking : Nota B

Notas recebidas : B-C-A-C
Data de inscrição : 18/09/2008
Reputação : 90
Número de Mensagens : 2716
Prêmios : Organizando melhor seu trabalho Empty

Medalhas x 0 Tutoriais x 1 Moedas x 0

Ouro x 0 Prata x 2 Bronze x 1

Insignia 1 x 0 Insignia 2 x 1 Insignia 3 x 0
Plataformas :
  • Game Maker 8.0 ou 8.1
  • Game Maker Studio 1.4
  • Game Maker Studio 2.0
  • Construct 2
  • Java
  • C#
  • Javascript
  • C ou C++
  • Outros


https://vinians.itch.io

Ir para o topo Ir para baixo

Organizando melhor seu trabalho Empty Re: Organizando melhor seu trabalho

Mensagem por †Ceifador Dom 05 Set 2010, 13:43

vinians escreveu:Não seria "prefixo" ao invez de "sufixo" ??
Desculpem, escrevi o texto meio no improviso e vacilei nessa parte. Valeu por avisar.
†Ceifador
†Ceifador

Data de inscrição : 28/08/2010
Reputação : 0
Número de Mensagens : 154
Prêmios : Organizando melhor seu trabalho Empty

Medalhas x 0 Tutoriais x 1 Moedas x 0

Ouro x 0 Prata x 0 Bronze x 0

Insignia 1 x 0 Insignia 2 x 0 Insignia 3 x 0

Ir para o topo Ir para baixo

Organizando melhor seu trabalho Empty Re: Organizando melhor seu trabalho

Mensagem por Conteúdo patrocinado


Conteúdo patrocinado


Ir para o topo Ir para baixo

Ir para o topo

- Tópicos semelhantes

 
Permissões neste sub-fórum
Não podes responder a tópicos