Traduction de ce sujet sur Reddit par mes soins : http://www.reddit.com/r/gamedev/comments/1ikely/good_gamedev_practices_and_tips/
Afin que ça soit plus lisible, chaque parti se fera sur un post. Désolé d'avance pour le multi post Lapintade
.
Table des matières :
I : Contrôle du code source
II : Gestion du temps
III : TODO list
IV : DevTracking
V : Technique Pomodoro
VI : Les fichiers BATCH
VII : Rester positif
I : Contrôle du code source
(Quand je parle de « Contrôleur de sources », c'est que je n'ai pas trouvé de traduction, je parle de (Comme ce sera dit plus tard) GIT ou encore SVN).
Celui ci est un peu une évidence, mais il me déconcerte encore de voir que des développeurs soient contents de travailler sans utiliser de contrôleur de sources. Cela sépare vraiment les grands garçons des petits ( Dafuck ?
). Peu importe comment vous essayez de vous justifier ou de trouver des raisons valables, il n'y a aucune excuses pour ne pas utiliser un suivi des différentes versions d'un programme quand vous développez. Une chose est sûr si vous n'utilisez pas de contrôleur de source, c'est qu'à un moment dans le futur, vous allez avoir des problèmes, que ce soit du temps perdu ou encore de la confusion dans le code.
Voici quelques uns des contrôleur de sources les plus utilisés avec un brève description :
Perforce
C'est personnellement mon préféré, il est libre de configuré votre propre dépôt chez vous (Pour environ 20 utilisateurs), il possède une bonne interface et il est très facile à prendre en main. Je voudrais d'ailleurs ajouter que Perforce est un standard professionnel et que la majeur partie des studios de jeux l'utilise, il vaut donc la peine d'apprendre à l'utiliser si vous voulez travailler dans un gros studio de jeux plus tard (Plusieurs personnes sont en désaccord avec ça, mais c'est mon opinion basé sur mes anciens jobs dans de grands studios de jeux).
http://www.perforce.com/
Git
Il est important d'apprendre à utiliser GIT purement/proprement car il rendra votre compréhension des sources meilleure. Git est en passe de devenir un des leaders des solutions de contrôle de code source et il y a un certain nombre de branche de git qui sont utilisés dans le monde du contrôle de source. Les dépôts open source et la collaboration est également une excellente raison d'apprendre à utiliser GIT.
https://github.com/
SVN
Je considère SVN comme le plus jeune frère des solutions de contrôle de source, c'est un bon commencement si vous êtes completement nouveau dans ce domaine et un bon endroit pour débuter, mais généralement je ne choisirai pas cette solution entre Perforce et Git. Si vous recherchez un client windows, je recommande : http://tortoisesvn.net/
II : Gestion du temps ![]()
Avoir une bonne gestion du temps fera la différence entre un jeu qui se complète et un jeu où vous serez en développement pour le reste de votre vie. Travailler sur la gestion du temps prend du temps, et il y a toujours plusieurs façons de devenir un meilleur planificateur afin de mieux utiliser votre temps plus efficacement.
III : Les TODO lists ![]()
Je suis un peu un faiseur de liste moi même, j'aime faire un liste de tout ce que je fais. J'ai littéralement au moins 3 listes de tâches différentes sur la route quand je développe un jeu, et j'aime utiliser plusieurs solutions différentes pour être sûr de ne pas oublier des trucs à faire. Je prend constamment des notes dès que je pense à mon jeu, et j'essaie de ne rien oublier. Je vous conseil de faire de même.
Utilisez votre téléphone pour prendre des notes quand vous n'êtes pas devant votre ordinateur ou que vous n'avez pas accès à votre principale TODO list.
Envoyez vous un email avec toutes les idées que vous avez eu pendant la journée afin de vous en rappeler plus tard.
IV : DevTracking ![]()
Utilisez cet outil pour suivre vos tâches de développement et de bugs peut être d'un grande aide. Il y a plusieurs bénéfices à avoir un outil dans ce genre où vous pouvez avoir accès n'importe où online, mais il y en a aussi offline. La bonne nouvelle est que la plupart de ces outils sont gratuits ou open source et il suffit de chercher et de tester un peu pour en trouver un qui fonctionne parfaitement pour vous. Foncez dans le « développement Agile »[1] peut être un peu exagéré si vous êtes seul, mais il n'y a aucune raison pour laquelle vous ne pouvez pas utiliser les mêmes outils et les mêmes pratiques qui rendent « Agile »[1] bon.
[1] : http://fr.wikipedia.org/wiki/M%C3%A9thode_agile
Voici quelques outils :
Youtrack : http://www.jetbrains.com/youtrack/
JIRA : https://www.atlassian.com/software/jira
Trello : https://trello.com/
Todoist : http://todoist.com/
Top 10 : http://www.thegeekstuff.com/2010/08/bug-tracking-system/
V : Technique Pomodoro ![]()
J'ai recemment mentionné la technique pomodoro dans un autre thread et beaucoup de personne n'avaient jamais entendu ça avant. Je trouve que cette méthode de travail avec un temps prédéfini sans interruption fonctionne très bien pour moi et je vous conseil au moins de l'essayer. Il pourrait ne pas fonctionner pour vous et pas mal de critique ne le considère pas comme une méthode de travail, mais donnez lui une chance, vous savez jamais, il pourrait vous aidez. De toute façon, il est bon d'avoir une technique pour couper votre temps de travail en période pour un planning, même si la création de jeux est un hobby pour vous ou quelque chose que vous faite dans votre temps libre, avoir un bon planning de travail vous aidera à améliorer votre productivité.
http://fr.wikipedia.org/wiki/Technique_Pomodoro
VI : Fichiers Batch ![]()
Si vous effectuez énormément d'opérations sur des fichiers, comme copier des fichiers entre des répertoires, lancez un fichier batch pour générer des fichiers intermédiaires. Tout peut être automatisé en utilisant des fichiers batch.
https://cs.senecac.on.ca/~albert.pang/ios100/dosbatch.html
http://www.wikihow.com/Write-a-Batch-File
http://en.wikipedia.org/wiki/Windows_PowerShell
VII : Restez positif ![]()
C'est un but très difficile à achever, mais il est utile de le mentionner. Un programmeur heureux est un bon programmeur ! Voici quelques astuces qui peuvent vous aider à rester motiver et heureux face au travail que vous créez.
Montrez votre travail à vos amis et à votre famille.
Demandez des retours et sollicitez souvent des suggestions.
Ignorez les personnes négatives. Les retours bons, critiques ou objectifs sont bons et je vous encourage à écouter les personnes qui critiques votre travail afin de vous donner quelque chose de constructif pour continuer. Je vous déconseille vivement d'ignorer les personnes qui sont justes négatives ou grossières à votre travail avec rien d'utile ou de constructif.
Rejoignez une communauté de gamedev, vous êtes déjà dans le bon chemin juste en étant ici (Reddit ou CdJ), mais il y a plusieurs autres communauté en dehors d'ici, TIGSOURCE, gamedev.net , etc... . Allez y et rejoignez les aussi !
Prenez des pauses quand vous vous sentez épuisés. Allez dehors avec vos amis, allez voir un film, etc... . Tout ce qui vous éloigne de votre ordinateur pendant quelques heures (ou jours quelques fois).
Inspirez vous des autres et impliquez vous avec d'autre développeur de jeux.
Pour le 1 ce sont des gestionnaires de versions, depot de code source. Repository in english.
Le pomodoro, les todo j'utilise souvent. En gestionnaire de version je suis plutôt Mercuriaĺ que Git mais les deux sont sympas. Pour le suivi du code à mon niveau je suis plutôt sur une approche test driven. Plus souple à déployer pour un mec tout seul et suffisante dans mon cas.
Ton article est très sympa en tout cas
Les todolist c'est indispensable
Pour les gestionnaires de version, bof si on travail tout seul ![]()
Je fais manuellement des backups sur google drive avant de commencer des modifs majeures et voilà.
Par contre dès qu'on est plus tout seul c'est indispensable aussi
La technique Pomodoro est bizarre
Les fichier batch c'est la base
Sinon ouais, c'est assez classique comme truc mais toujours bon à répéter ![]()
Merci PatateChocolat ça peut aider
Sinon, tu as mis 2 fois même chapitre "Rester positif"
"Sinon, tu as mis 2 fois même chapitre "Rester positif""
Je sais, j'ai demandé à lapintade d'enlever celui sans les "
" car c'est juste illisible
.
"La technique Pomodoro est bizarre
"
C'est celle que j'utilise le plus souvent
.
Et le projet GEEK, il avance? ![]()
R2MI390
Posté le 19 juillet 2013 à 13:27:53
« Et le projet GEEK, il avance?
»
...
.
et hop R2MI nique l'ambiance en 1 post ![]()
![]()
Merci, merci...
Bon bah vu que personnes l'a encore dit, merci ![]()
Pour un dépot git privé y'a bitbucket (github c'est open source only il me semble).
Notez qu'avec git, on a pas beson d'avoir un serveur quelconque. Tu peux tout faire en local sur ta machine. Tout repertoire accessbile peut etre utiliser comme git repository. Aussi ca marche tres bien a travers de SSH. C'est ce qu'on fait au boulot: tous les repository sont stocke sur une machine accessible sur le reseau interne (et externe) et on pull/push a travers de ssh.
La gestion de controle de source est un probleme orthogonal a la backup. Ce que je veux dire c'est que tout le repository de git est contenu dans le repertoire .git. Ca fournit un historique complet du developpement et permet facilement de brancher/merger et cie.
Tu peux AUSSI faire une backup de tes fichiers. (Tu zippe le repertoire et te l'envoie par email par exemple). Les deux systemes (controle de version et backup) n'ont pas a etre lie.