Récemment, j'ai de nouveau essayé de participer à un petit projet indépendant.
J'ai fait un prototype avec des graphismes primitifs, le deuxième partenaire était censé fournir des graphismes améliorés, mais je ne pouvais pas, et dans l'ensemble j'ai décidé d'écrire un court article sur les raisons pour lesquelles je le voulais vraiment, mais ça ne marche pas. L'article a beaucoup de trivialité, mais il peut être utile pour quelqu'un.
1. Dates
Oui, et encore une fois, tout vole avec le temps, des petits aux grands développements, car obtenir un gameplay de haute qualité est très difficile, et beaucoup de temps est consacré à la refonte des fonctionnalités et du gameplay. Mais la racine du mal est souvent stockée précisément dans l'estimation initiale du temps.
Prenez un simple prototype de clicker - appuyez sur l'écran, le héros frappe le monstre avec une épée et des compétences. Tout est super simple, la plupart des développeurs, ayant estimé l'ampleur du prototype, diront qu'une telle tâche peut prendre de plusieurs heures à un jour / couple.
Mais! Calculons soigneusement la quantité minimale de travail:
Code- Système d'interface (vous devez pouvoir afficher toutes les informations nécessaires)
- Chargement de niveau
- Chargement / extraction de graphiques (le jeu peut avoir de nombreux effets / ressources réutilisables)
- Le personnage principal et ses compétences
- L'ennemi
- Système d'attaque
- Système de passage de niveau (la difficulté devrait augmenter et les graphiques de niveau devraient être collectés)
- Système de points
- Système de mise à niveau des joueurs (compétences et bonus du niveau)
- Sonorisation
- Système d'accumulation / dépense de ressources (un joueur peut avoir des compétences de mana ou de déclencheurs)
- Système de stockage des données des joueurs (les progrès doivent être enregistrés)
InterfaceMême pour un prototype, une interface minimale est nécessaire, mais si nous envisageons un prototype / PoC (preuve de concept), il est souhaitable d'avoir un design délicieux et une UX normale. Le minimum dont vous avez besoin:
- Menu principal
- interface de combat (avec échelles de santé, exp, niveau de progression, échelles de mana, compétences de charge, etc.)
- popup sur la victoire dans la manche en cours
- popup sur la perte
- poplap sur lvlapa
- interface de mise à niveau du lecteur
Graphisme et animationIl est plus ou moins clair
- Graphiques d'au moins trois ennemis
- Les graphismes du personnage principal
- Graphiques pour générer des niveaux
- animation graphique de niveau
- Pour chaque compétence, vous avez besoin d'une animation (ici, vous devez multiplier par le nombre de compétences).
- L'animation est nécessaire pour les attaques de base (il devrait y avoir de nombreuses variétés d'attaques de base afin que l'utilisateur ne s'ennuie pas à regarder le même swing d'épée)
- Animation de victoire de personnage
- Animation de perte de personnage
- Animation d'attaque ennemie
- Animation des dégâts causés par l'ennemi
- Animation ennemie à moitié morte
- Mort ennemie
Effets spéciaux- indication des dommages (toutes sortes de tsiferki, secousses, rougissement de l'écran)
- application des compétences (pour chaque compétence)
- indication de dommages (sang / étincelles / fumée)
Les sonsIl suffit de regarder les listes précédentes et d'ajouter des sons à l'ensemble des graphiques, de l'interface et des effets spéciaux. Cela prend beaucoup de temps.
À quoi servent toutes ces listes?
Pour montrer le volume principal que vous devez lancer pour obtenir au moins un prototype jouable, qui peut être appelé un jeu. Je n'ai pas pris en compte la localisation et beaucoup d'autres travaux, mais l'idée principale que je veux transmettre est la principale quantité de travail.
J'ai trouvé une petite règle - même une petite tâche peut facilement prendre d'une heure à deux. Très peu de personnes sont impliquées dans le développement indépendant à temps plein. Beaucoup de ceux que je connais se combinent avec un travail à part entière. Autrement dit, le développement indépendant ne prend que du temps libre le soir, pour moi, c'est environ 2-3 heures, je pense que la majorité en fait aussi. 1+ tâche facile par jour. Une tâche complexe peut prendre plusieurs jours. Il ne s'avère pas tous les jours de travailler sur un projet pour diverses raisons. En conséquence, le volume dans les listes ci-dessus représente déjà plus d'un mois de travail, malgré le fait que tout se passe bien, et tous les pros. Et ce n'est qu'un prototype. Et puis vous avez besoin d'un système de mises à niveau plus complexe, encore plus de graphiques, apportez un équipement différent qui affecte l'attaque / les compétences / les héros / les héros embauchés, en embauchant des héros pour aider le joueur, différents modes de jeu.
Développer un joli prototype de clicker super simple peut prendre un mois ou deux, extrêmement facile, même si, comme je l'ai écrit ci-dessus, à première vue, y travailler pendant quelques jours est maximum. Et si vous prenez la version bêta, cela peut prendre un an. Retarder le processus est frustrant et les gens commencent à tomber. Cela est prévu pour tous les développeurs moins expérimentés. Et puis nous allons au point 2.
2. Compétences
Hélas, un bon programmeur ne signifie pas un bon développeur indépendant, tout comme un bon artiste / modeleur / animateur, etc. Il y a beaucoup de débutants dans le développement indépendant, et un excellent artiste qui dessine très bien peut ne pas être en mesure de préparer correctement les graphiques pour le moteur utilisé. Il y aura beaucoup d'erreurs, de réimportation, de reconfiguration, de réanimation et beaucoup de bugs liés à l'importation de graphiques tordus.
Quant aux programmeurs - un excellent programmeur C # qui ne connaît pas Unity3d écrira un tas de ses vélos et solutions qui dupliqueront la fonctionnalité Unity et non le fait qu'ils fonctionneront bien. Parce que le paradigme de programmation en pur sharpe et à l'intérieur de l'unité est assez important.
De plus - si quelque chose des listes ci-dessus est fait pour la première fois, cela prendra du temps à réviser, ce qui multiplie encore le temps de développement. Par conséquent, au final, même des tâches simples ne prennent pas un jour, mais trois. Et encore une fois, nous obtenons un bout de temps. Pour les jeunes en feu, ce sera une expérience nécessaire, et pour les anciens combattants, ce sera une autre déception.
3. Résumé et conseils
Les résultats sont simples - même un petit projet se transforme facilement en construction à long terme, les gens s'épuisent quand ils ne voient pas un résultat fervent, le projet fusionne dans un panier.
Par conséquent:
- Évaluez soigneusement la véritable quantité initiale de travail, souvent lorsque vous pensez travailler un jour, il peut y avoir du travail pendant 1 mois en équipe, lorsque tout cela traîne - l'équipe peut ne pas se maintenir et s'effondrer
- Essayez d'accumuler et de réutiliser des solutions, ce n'est pas seulement sur les réalisations, mais aussi sur le matériel de formation
- Le prototype principal peut être avec un minimum de graphiques, mais les graphiques doivent être suffisamment vivants pour aimer le prototype - vous avez besoin d'animations et d'effets. Il devrait y avoir exactement autant de graphiques - pour aimer et ressentir le gameplay même.
- Dirigez le développement publiquement, affichez l'avancement du projet dans la communauté et les forums, interrompez la tâche pour que le résultat soit le plus évident. Cela créera ce sentiment même du mouvement correct d'un projet vivant. Et l'équipe comprendra que son travail n'est pas vain.
En ce qui concerne les conseils - je serai heureux d'entendre le vôtre, l'expérience de déplacer un projet indépendant vers la sortie est intéressante. Du point de vue de l'organisation du processus.