Comment gérer efficacement un projet de jeu de loisir? [fermé]

424

Quels sont vos conseils et astuces pour mener à bien un projet de jeu de loisir dans votre temps libre? Comment vous motivez-vous à continuer et à conduire jusqu'au bout sans perdre votre intérêt ou votre motivation en cours de route?

Michael Barth
la source
2
Je pense que votre question est subjective et argumentative.
alFador
79
@alFador: Je pense que les astuces pour gérer efficacement un projet ne sont ni subjectives ni argumentatives. De nombreux processus tentent de résoudre des problèmes tels que la gestion de projet. Mais vous avez raison de rester motivé, c'est un sujet plutôt subjectif ... Je vais changer cela.
Michael Klement
1
Je dirais qu'il y a beaucoup de conseils sur la façon de garder les gens motivés. Vous avez affaire à des personnes qui devaient trouver des astuces pour se maintenir. Certaines de ces astuces fonctionnent dans la plupart des cas (par exemple, décomposer une tâche volumineuse en une tâche beaucoup plus petite).
David McGraw
3
Les conseils de motivation ne sont peut-être pas argumentatifs, mais ils sont certainement subjectifs. Différentes personnes sont motivées par différentes choses.
Cyclope
2
377 votes positifs et fermé? Je suppose que tout se passe sur SE
Allahjane

Réponses:

495

Ces conseils s’appliquent à n’importe quel projet logiciel amateur, et pas seulement aux jeux.

  • Fixer des jalons minuscules. Avoir un objectif du type "Le système d'objets fonctionne dans mon jeu de rôle" est une bonne chose, mais cela implique de nombreuses fonctionnalités sous-spécifiées dont vous ne saviez probablement même pas que vous aviez besoin. Qu'en est-il de "l'environnement graphique mis en place"? Ou, "Un sprite est affiché à l'écran."

  • Faites un peu chaque jour. Les séances de marathon sont excellentes et toutes, mais vous essayez de faire passer un engagement à long terme dans une vie déjà encombrée. Si vous faites un peu chaque jour, vous faites des progrès mesurables et vous établissez une structure au sein de laquelle vous pouvez atteindre vos objectifs.

  • Échelle toi en arrière. Quelle que soit votre vision, essayez de déterminer quelle est la plus petite portion possible et faites-le. Faire un RPG? Commencez avec une quête et aucun PNJ. Faire un jeu de plateforme? Commencez avec un niveau et aucun ennemi.

  • Prototype au début. Avant de consacrer une partie de vos heures de loisir durement gagnées à un jeu, déterminez si ce serait amusant en premier. Il n’ya rien d'aussi décourageant que de travailler pendant des dizaines d'heures pour constater que le concept de base est nul.

  • Développer quelque chose d'itérable. Mes projets de loisir préférés sont ceux où le concept de base permet de bricoler plus tard. Est-ce que votre jeu est comme ça? Pouvez-vous envoyer quelque chose et ensuite le revisiter plus tard et ajouter des trucs cool?

  • Ne construisez pas de moteur ou de framework. Vous ne voulez pas de moteur, vous voulez un jeu. Ne vous inquiétez pas pour les éléments réutilisables framework-y tant que votre jeu n’est pas expédié. Une fois que vous avez commencé la deuxième partie, vous pouvez revenir à la première et voir si vous pouvez apporter quelque chose. Cela ne veut pas dire que vous ne devriez pas utiliser la praxis de développement de logiciel sonore, mais ne commencez pas par écrire une classe Sprite tant que vous ne saurez pas ce que vous avez besoin de faire de votre sprite - vous seriez surpris de voir à quel point cela va se transformer être. Commencez avec un cours de héros, puis un cours de monstre, puis - oh regardez! - Il y a des trucs communs!

  • L'expédition est une fonctionnalité. Tu ne finiras jamais ton jeu, tu vas seulement l'abandonner. (= Quel est le montant minimum que vous pouvez faire avant de ne pas être complètement gêné de montrer votre jeu à quelqu'un d'autre? Il y a des chances que vous puissiez en faire moins et avoir toujours un jeu dont vous pouvez être fier.

drhayes
la source
32
+1 - Excellente réponse. J'ai appris la plupart de ces astuces à la dure. :)
Alconja
3
Ce sont surtout des choses évidentes que tout le monde (y compris moi-même) oublie. Merci de le rappeler à tout le monde.
MechP
41
En accord avec "L'expédition est une fonctionnalité", ne vous laissez pas prendre à des cycles de réanimation-> réimplémentation-> répétés. Vous n'allez pas tout faire correctement la première fois, la dixième fois, ou jamais. Il y aura sans aucun doute des fonctionnalités ou des mécanismes qui ne vous satisfont pas complètement. Évitez la tentation de revenir en arrière et de changer chaque petite chose. Vous ne voulez pas finir comme Duke Nukem Forever :).
Mike Strobel
29
+1 pour "faire un peu chaque jour". C'est le meilleur indice que vous obtiendrez. L'élan s'accumule assez rapidement lorsque vous en faites un peu tous les jours. Un ou deux jours manqués vous arrêteront.
Andreas
34
Je pense que je dois faire un fond d'écran avec cette réponse.
Klaim
138

En fait, je viens d'écrire un blog sur la façon dont j'ai abordé la conception et le développement de mon dernier projet iPhone. Vous pourriez trouver de la valeur en le lisant.

Quelques pensées à laisser ici sont

Application To-Do
J'utilise Things pour Mac et ToDoList (gratuit) pour Windows .. Vous pouvez également accéder à sourceforge.net ou à codeproject.com pour récupérer une application. J'aime ToDoList. Vous aurez beaucoup de croquis, d’idées et d’informations sur la conception qui doivent vraiment être regroupés en un seul endroit. Avoir une application comme celle-ci avec votre liste de fonctionnalités vous aidera à rester concentré.

Petites tâches
"Implémenter la vue du tableau de bord" n'est pas une tâche suffisante. Qu'est-ce que cela implique? Décomposez -

  • Créer une illustration d'arrière-plan pour la vue du classement
  • Créer des méthodes de classe qui récupèrent les données de score
  • Créer des méthodes de classe qui publient des données de score
  • Créer un contrôleur de vue qui affichera un bouton de retour, un bouton de rechargement et une vue de tableau
  • Implémenter la vue tabulaire pour charger les données du modèle

Voir la photo dans les moindres détails réduira vos chances de rater un élément clé de votre mise en œuvre et vous motivera lorsque vous cochez chaque tâche.

Gardez la portée réduite
N'essayez pas de construire Starcraft III si ce n'est que vous, débraillé et purrdoodle. Ce n'est tout simplement pas faisable. Abaissez vos attentes et trouvez quelque chose que vous aimeriez toujours construire.

Eye-candy
Obtenez quelque chose à l'écran - vous serez peut-être surpris de l'ampleur de votre motivation. J'ai tendance à me concentrer tôt pour obtenir des œuvres d'art. De plus, je peux aussi travailler avec un musicien qui commence à me montrer des choses assez tôt.

Amusez-vous
Si vous asservissez votre système de sauvegarde toute cette semaine, assurez-vous de le suivre la semaine prochaine avec quelque chose d'amusant. L'un de mes moments amusants a été la refonte du système d'animation pour mon interface utilisateur.

Collaborer
Vous n'avez pas besoin techniquement d'ajouter des personnes à votre équipe, mais de parler à d'autres personnes de ce que vous faites. Passez sur tigsource.com ou gamedev.net et lancez la mise en réseau.

Playtest
Commencez à obtenir un retour rapide sur votre jeu. Je parle juste après que vous ayez fini votre prototype initial. Laissez certains de vos amis s'amuser avec ce que vous avez, obtenir des commentaires, prendre des notes et réviser votre plan si nécessaire. Assurez-vous de tester en dehors de votre royaume de confort et de lancer un filet incluant d'autres développeurs de jeux. Parfois, les amis et les proches ne sont tout simplement pas critiques.

Démarrer un blog
Parler de ce que vous faites vous permet de créer une marque pour vous-même. Cela n'a pas de prix quand vient le temps d'expédier votre produit. Il suffit de regarder ce que Wolfire fait. Ils sont absolument purs dans la construction d'une marque pour eux-mêmes.

Faites une pause
Si votre esprit ne participe pas au projet à une heure précise, n'essayez pas de le forcer. Levez-vous et allez vous promener ou faire une petite sieste. C'est le luxe d'être indépendant. À la fin, vous créerez un meilleur produit pour le faire.

David McGraw
la source
Pourquoi les choses se vendent pour £ 45. Il a l'air vraiment beau et poli, mais peut-il faire quelque chose que des applications gratuites comme RTM ou Todoist ne peuvent pas faire?
Spidey
Ils ont gardé extrêmement simple. Certaines personnes aiment le simple et le poli, mais il est difficile de dire que cela vaut 45 £. Si vous utilisez Windows, j'aime beaucoup celui-ci - bit.ly/9dAelc
David McGraw
En ce qui concerne les listes de tâches, le mode org pour emacs mérite certainement d’être examiné.
Mowwwalker
111

Mon plus gros conseil: déconnectez votre câble réseau!

J'ai un rituel consistant à débrancher mon câble réseau avant d'aller me coucher. Le lendemain matin - je ne suis pas en ligne, je n'ai donc aucun site à visiter, aucun courriel à lire, aucun interlocuteur possible, etc. Donc, naturellement, je me suis mis au travail.

Je ne me connecte plus jusqu'à ce que je sois absolument obligé. S'il y a quelque chose dont j'ai besoin en ligne, je l'écris pour le regarder plus tard ou j'utilise le navigateur de mon iPhone.

Il est utile d’avoir des éléments comme MSDN téléchargés et disponibles hors connexion.

Andrew Russell
la source
2
Bien que cela puisse être une bonne idée de le faire (ou d’ajouter certains sites à votre fichier hôte pour que vous ne puissiez pas y accéder), je ne pense pas que ce soit une réponse à la façon de gérer un projet de jeu de loisir.
DFectuoso
9
@DFectuoso: lisez à nouveau la question. Vous constaterez que mon message y répond directement. Ce n'est pas une stratégie complète - mais le PO n'en a pas demandé. Je suis désolé si je vous ai bluffé la tête en donnant des conseils simples, pratiques et concrets au lieu de dire quelque chose de chaud et de flou tel que "Faites un peu chaque jour" ou "Concentrez-vous" et laissez les lecteurs se débrouiller seuls pour savoir comment s'y prendre. fais ça.
Andrew Russell
5
Si quelque chose, c'est l'un des meilleurs conseils qui soient. Je travaille sur un petit jeu de passe-temps, et je fais environ 10 lignes les jours où je travaille dessus. Ce n'est pas difficile, c'est simplement que je suis distrait par Reddit, ici, sur Facebook, sur les sites de blogs et par les gens de la messagerie instantanée.
Le canard communiste
2
Suis-je le seul à travailler PLUS quand j'ai accès à Internet?
Malabarba
2
@tieTYT Cela pourrait quand même valoir la peine d'essayer - même si vous ne pouvez gérer que 15 minutes avant de vous connecter à Internet - cela signifiera que vous avez commencé votre journée du bon pied (plutôt que sur Facebook;) et que cela pourrait même être une bonne pratique si vous êtes obligé de vous fier davantage à la documentation de l'API et au débogueur qu'à Google.
Andrew Russell
42

Le plus gros problème avec les projets de loisir est de ne pas avoir une portée bien définie. Beaucoup de gens commencent par vouloir faire le meilleur jeu de tous les temps avec des heures de jeu et toutes les bonnes idées qu’ils ont. Au lieu de cela, vous devriez essayer de réduire votre idée à quelque chose de gérable, puis de proposer un calendrier raisonnable. Il est vrai que les échéances ne concordent pas avec le fait que le jeu est un projet de loisir et non un travail à temps plein, mais elles sont bonnes pour rester motivé et décomposer de grandes tâches en petites tâches gérables.

Vous pouvez également conserver un fichier d’historique des versions mis à jour chaque fois que vous ajoutez quelque chose au jeu. Mieux encore, vous devez utiliser le contrôle de version et utiliser l'historique de validation pour cela. C'est un bon moyen de mesurer vos progrès et de rester motivé plus tard (en regardant tout ce que vous avez déjà fait).

Firas Assaad
la source
4
Les notes de bâton fonctionnent aussi. C'est ce que je fais. Quand je pense à quelque chose que je veux faire, je l'écris sur un post-it et le colle sur mon clapier. Des choses simples comme "Obtenir la fenêtre sur l'écran" "Obtenir le lecteur à l'écran" "Amener le joueur à bouger" "amener le joueur à tirer". quand je le termine, je le retire et l'ajoute à la pile terminée. Voir les problèmes résolus sous une forme physique prend un tout autre sens que de voir un numéro ou une liste sur le moniteur, je pense.
Azaral
1
Je ne peux pas être plus d'accord avec le contrôle de version. Oui, c’est utile, mais le principal avantage pour moi est qu’il m’a fait écrire toutes les choses impressionnantes que j’avais faites; ce qui m'aide vraiment à rester motivé
Richard Tingle
41

Le créateur du jeu Grauioutous Space Battles, un développeur indépendant indépendant, a résumé quelques astuces utiles pour créer son propre jeu dans un billet de blog. Certains d'entre eux peuvent être motivants, même pour des projets de loisir.

Cliffski's Blog: Comment rester motivé lors de la programmation d'un jeu

Extrait:

  1. Code quelque chose que vous aimez
  2. Entourez-vous d'inspiration
  3. Tenez un journal de ce que vous avez fait chaque jour.
  4. Faire un peu brillant
  5. Dures leçons en argent
  6. Restez conscient de la barre haute (connaissez votre concurrence)
  7. Prenez de courtes pauses.
Spoike
la source
Très belle réponse aussi.
topright
33

J'ai récemment remarqué que chaque fois que je lisais le billet d'un autre développeur de jeux vidéo indépendant sur ses mises à jour, j'ouvrais immédiatement mon IDE et commençais à travailler. Donc, mon conseil pour vous garder motivé est: lisez d’autres blogs (dev) ,

Voici une liste rapide:

pek
la source
27

Commencez par créer un jeu bêtement simple, et terminez-le et publiez-le en ligne quelque part. N'oubliez pas que même quelque chose d'assez simple, comme pong, pourrait s'avérer assez complexe si vous développiez un nouveau jeu. Commencer par un jeu simple vous montrera si vous avez la patience de prendre en charge un projet plus important.

Iain
la source
16

J'ai travaillé sur Snapshot (www.retroaffect.com) en plus de mon travail à temps plein pendant près de 8 mois avant de le transformer en travail à plein temps. Je travaillais toute la journée, puis je rentrais à la maison et travaillais sur Snapshot jusqu'à ce que je m'endorme. Parfois c'était un peu trop, mais d'autres fois (la plupart du temps) c'était génial.

Je suggérerais certainement de lire par-dessus ceci: http://positech.co.uk/cliffsblog/?p=753

Rappelez-vous également que si vous faites quelque chose pour le plaisir, gardez-le aussi amusant. Si vous vous épuisez, votre projet ne sera jamais terminé ou il apparaîtra dans le produit final.

dcarrigg
la source
1
Si vous êtes un développeur indépendant et que vous ne lisez pas déjà le blog de Cliff, vous manquez vraiment. Lire ce blog seul est motivant.
hokiecsgrad
16

D'après ma propre expérience, il est plus facile de rester motivé si d'autres personnes travaillent avec vous. Alors:

  • Obtenez quelques autres développeurs qui peuvent partager votre enthousiasme pour le jeu. L'excitation peut être contagieuse!
  • Configurez une liste de diffusion (les groupes de Google sont faciles à configurer) et postez-la souvent pour maintenir votre élan.
  • Commencez par obtenir quelque chose de simple qui fonctionne. Lorsque je travaillais sur Trosnoth (jeu de plateforme à défilement latéral), le point de départ était un simple bâton qui bougeait de gauche à droite. À partir de là, nous avons tous lentement ajouté des morceaux jusqu'à ce qu'il fasse à peu près tout.

Mes conseils principaux seraient certainement de partager votre enthousiasme et de maintenir le projet dans un état qui fonctionne .

Talljosh
la source
4
Les Russes disent "Один в поле не воин" :)
droit
14

Je travaille sur mon projet de passe-temps depuis environ 2-3 mois maintenant. Cela signifie des soirées ou deux de temps en temps et des week-ends occasionnellement. Le projet est peut-être terminé aux 2/3 pour une première version appropriée. Il est peut-être trop tôt pour parler de succès, mais voici ce qui m'a permis de continuer jusqu'à présent:

  • J'ai eu une idée assez claire de ce que sera le jeu. Assez simple mais offre de nombreux points d’extension pour les versions 2 et 3.
  • J'ai blogué et tweeté.
  • J'ai choisi un domaine qui m'intéresse (intégration JS + HTML5 Canvas + FB) et qui est assez différent de mon travail quotidien (CMS, J2EE, GWT / GXT)
  • La technologie sélectionnée permet des réglages simples et rapides, sans compilation, etc.
  • Tout est fait juste parce que c'est amusant. Le jeu pourrait bien servir de référence un jour, mais ce n’est pas la raison pour laquelle il fonctionne.
  • J'ai été gentil avec mes amis, ne demandant pas de commentaires après chaque changement.
  • Mon amie me comprend :-)
Petteri Hietavirta
la source
13

1. Achetez un bloc-notes pour conserver toutes vos idées. Vous n'êtes pas obligé de les mettre dans votre jeu, mais vous pouvez les utiliser pour plus d'inspiration.

2. J'essaie également de conserver tout ce que je dois encore faire sur un tableau en liège ou un tableau afin que je puisse toujours chercher mes prochaines cibles à finir.

3. N'essayez pas de mettre en œuvre les choses de la meilleure façon dès le premier essai. Essayez de faire fonctionner les choses et de les rendre agréables dans une étape ultérieure.

Donc, vous pouvez avoir différentes fonctionnalités sur différents états de gentillesse:

  • Fin de journée 1:
    • Feature1: Bad mais en cours d'exécution
    • Feature2: Prévu
  • Fin de la journée 2:
    • Feature1: fait la solution mieux
    • Feature2: Bad mais en cours d'exécution
  • Fin du jour 3:
    • Feature1: état acceptable de gentillesse
    • Feature2: état de gentillesse acceptable

Il est très utile de motiver les utilisateurs avant d’envisager de les rendre agréables. L'inconvénient de cette méthode est que vous allez coder plus de code que vous allez mettre à la poubelle à la fin.

4. N'implémentez pas trop de fonctionnalités parallèles. Essayez de vous concentrer sur <= 3 caractéristiques à la fois. Vous avez donc un endroit où passer si vous bloquez une fonctionnalité, mais pas autant de fonctionnalités que vous êtes submergé par l'ampleur du travail à accomplir.

Aron_dc
la source
10

La réponse courte: Itérer, itérer, itérer. Commencez petit et lancez quelque chose avant d'essayer de mettre en œuvre l'ensemble du système. Il est toujours important de faire de la conception et de la planification au plus haut niveau, mais il est extrêmement important de savoir avec quoi vous travaillez et de jouer les parties de test au fur et à mesure pour rester motivé. il est difficile pour moi (et la plupart des autres programmeurs que je connaisse) de travailler jour après jour sur quelque chose qui ne leur permet pas d'obtenir des résultats visibles.

Facture
la source
Obtenez quelque chose sur cet écran. C'est l'état d'esprit dans lequel je suis chaque fois que je commence une partie.
Michael Coleman
Cet état d'esprit m'aide également à simplifier un peu mes conceptions de code. Cela me force à réfléchir sérieusement à ce que sont exactement les composants les plus fondamentaux et les plus essentiels du système, et à construire à partir de ceux-ci.
Bill
9

J'ai une bonne imagination mais de faibles compétences en matière d'organisation. Sur le plan créatif, j’ai trouvé utile, dans mon cas, d’utiliser un outil qui m’aide à tout garder en mémoire et à imposer une structure globale. J'utilise Writer's Café, qui est suffisamment flexible pour être adapté à la conception de jeux. Je suis sûr qu'il existe d'autres outils disponibles. Je pense que le plus important est de fixer des jalons. Cela vous permet de rester concentré, de mesurer les progrès et devrait vous donner un sentiment d'accomplissement lorsque vous les atteignez.

utilisateur266
la source
6

Un autre petit conseil. - Constituer une équipe - Communiquer régulièrement avec votre équipe (skype, live, email, etc.)

Tous les conseils mentionnés par d'autres sont bons. Si vous créez une équipe, les membres de l'équipe peuvent se soutenir mutuellement. De plus, en organisant des réunions régulières, cela vous encourage à travailler sur votre projet pour montrer les progrès ou atteindre votre échéance.

D'autres personnes peuvent être votre plus grande ressource.

C'est comme ça que j'ai assemblé mon studio de jeu. Nous sommes trois partenaires travaillant sur le jeu depuis deux ans en tant que passe-temps de fin de semaine. Nous voyons la lumière au bout du tunnel maintenant.

Aie du plaisir avec ça.

Raistx
la source
5

J'utilise collabtive pour mes projets, ce qui me permet de configurer des tâches et des jalons. Lorsque je travaille sur un projet avec plusieurs personnes, cela me permet également de discuter avec elles et de leur assigner des tâches spécifiques. En plus du logiciel de gestion de projet (qui est open source), j'utilise également Subversion pour permettre à plusieurs personnes de travailler sur le code en même temps. Ces deux programmes fonctionnent sur un petit serveur linux, et honnêtement, je n’ai pas encore eu de problème avec cette configuration! :)

utilisateur22020
la source
4

Pour gérer un projet de jeu hobby, vous avez besoin de quelques éléments: la motivation et les bons outils.

Ma réponse va être axée sur l'utilisation des outils appropriés, car si vous envisagez sérieusement de créer un jeu pendant votre temps libre, vous avez déjà, espérons-le, la motivation nécessaire. :)

Je recommanderais d'utiliser une forme de contrôle de version pour votre jeu. Des sites tels que Github ou Bitbucket fournissent un hébergement pour git et mercurial (bitbucket support mercurial, pas github). Ceci est votre première étape pour organiser votre code et vos ressources.

Suivant est en mesure de bien définir un arriéré de tâches et de fonctionnalités à réaliser. Le meilleur processus pour cela est à vous, le développeur. Certaines options incluent la création d'un document de conception de jeu (GDD), d'un document de conception technique (TDD) et d'un backlog de fonctionnalités. Vous trouverez un bon exemple de GDD à l’ adresse suivante : http://www.runawaystudios.com/articles/chris_taylor_gdd.aspPour le TDD, modélisez-le de la même manière que le GDD, mais concentrez-vous davantage sur les détails techniques de la programmation. Alors, quel langage vous allez utiliser, framework, moteur et autres spécificités techniques. GDD et TDD vous aideront à mieux comprendre la portée du projet et à déterminer la liste des tâches à effectuer. Vous pouvez le faire au milieu du projet si vous l'avez déjà démarré, car il est toujours important de redimensionner et de connaître exactement vos objectifs et fonctionnalités.

Une fois que cela est fait, vous devriez être prêt à commencer à vous développer. J'ai écrit un article de blog sur la manière d'utiliser github pour développer efficacement un jeu, notamment en utilisant les fonctionnalités de wiki, les problèmes de suivi des bogues et la gestion de votre projet. Vous pouvez trouver cela ici: Utiliser Git et Github pour le développement de jeux

Définir une échéance souple pour votre projet peut ou non vous aider à rester sur la bonne voie. Chaque individu est différent et vous seul saurez vous motiver. Essayez différentes techniques et voyez ce qui vous convient. Le développement de jeux (et de logiciels) prend généralement beaucoup plus de temps que prévu initialement. Alors ne vous découragez pas et persévérez.

Si vous avez besoin de plus d'exemples de GDD et de TDD, j'ai les miens dans Google Doc et je me ferais un plaisir de les partager!

Brett Chalupa
la source
3

La première chose dans votre esprit devrait être que vous travaillez pour vous-même et pour votre propre divertissement. Ne laissez pas votre projet être détourné par les attentes et les désirs des autres, en particulier lorsque vos intérêts changent avec le temps.

Ddyer
la source
Vous vous rendez compte que cette question est ..... vieille?
Pip
3
@Pip ceci n'est pas un forum, il n'y a rien de mal à toucher de vieilles questions. En fait, si vous répondez à de vieilles questions avec une excellente réponse, vous obtiendrez des badges.
congusbongus
@congusbongus true, mais il existe déjà de bien meilleures réponses, à savoir les deux premières.
Pip
1
@pip vous rendez-vous compte que vous lisez et commentez un vieux Q & A?
Ddyer
@ddyer Ah, oui, mais commenter une nouvelle réponse est BEAUCOUP différent de répondre à une vieille question.
Pip