Obrigado por visitar a The Game Makers Brasil 😁 Use o fórum de Dúvidas para fazer perguntas. Se está em busca de aprender dê uma olhada nos tutoriais.

Organizando melhor seu trabalho

Tutoriais, videoaulas, guias e downloads para te ajudar nos estudos.
Avatar do usuário
Tutoriais & Aulas
Colaborador
Colaborador
Reações: 0
Mensagens: 110

[CON] Organizando melhor seu trabalho

Mensagem por Tutoriais & Aulas » Qui Abr 28, 2016 8:59 pm

Autor original: Ceifador
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 "<No name conflicts were found>". 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.

Responder

Quem está online

Usuários navegando neste fórum: Nenhum usuário registrado e 0 visitante