J'ai commencé à programmer il y a de nombreuses années. Maintenant j'essaye de faire des jeux. J'ai lu de nombreuses recommandations pour commencer à cloner des jeux bien connus comme galaga, tetris, arkanoid, etc. J'ai également lu que je devrais opter pour tout le jeu (y compris les menus, le son, la partition, etc.).
Hier, j'ai terminé la première version complète de mon clone arkanoïde. Mais c'est loin d'être terminé. Je peux encore y travailler pendant des mois (je programme comme passe-temps pendant mon temps libre) en implémentant un commutateur de résolution d'écran, un remappage des touches de contrôle, des power-ups tombant de briques cassées et un énorme etc.
Mais je ne veux pas apprendre pour toujours à cloner UN jeu. J'ai l'envie de passer au clone suivant afin d'appliquer certaines idées de conception que j'ai rencontrées lors du développement de ce clone arkanoïde (en même temps, je lis le livre GoF et beaucoup de code source du concours de jeu Ludum Dare 21).
La question est donc: dois-je continuer à améliorer le clone arkanoid jusqu'à ce qu'il ait toutes les fonctionnalités du jeu original? ou devrais-je passer au clone suivant (il y a presque des jeux infinis à cloner) et commencer à réparer les choses que j'ai mal faites avec le clone précédent?
Cela peut être une question très subjective, alors veuillez limiter les réponses à la manière la plus efficace d'apprendre à créer mes propres jeux (sans cloner les idées de quelqu'un). Je vous remercie!
CLARIFICATION
Afin de clarifier ce que j'ai mis en œuvre, je fais cette liste:
Fonctionnalités implémentées:
- Capacités de rebond (la balle rebondit sur les murs, sur les briques et sur la barre).
- Sonne en rebondissant sur les briques et la barre, et lorsque le joueur gagne ou perd.
- Menu de base du titre (nouveau jeu et sortie uniquement). Menu également en jeu et menus gagnant / perdant.
- Seulement trois niveaux, mais le système de carte est si simple que je ne pense pas qu'il m'apprendra beaucoup (je me trompe?).
Fonctionnalités non implémentées:
- Power-ups lors de la rupture des briques.
- Briques complexes (avec plus d'un "point de vie" et invincibles).
- De meilleurs graphismes (je ne suis pas vraiment bon dans ce domaine).
- Programmation du polissage (utiliser plus intensivement les modèles de conception).
Voici un lien vers sa page Web (minimale): http://blog.acamara.es/piperine/ J'ai un peu honte de le montrer, alors ne me frappez pas trop fort :-)
Ma question était liée aux fonctionnalités non implémentées. Je me suis demandé quel était le chemin le plus rapide (optimal) pour apprendre. 1) implémenter les fonctionnalités non implémentées dans ce projet qui prend de l'ampleur, ou 2) créer un nouveau jeu qui m'apprendra probablement ces leçons et de nouvelles.
RÉPONDRE
J'ai choisi la réponse @ ashes999 parce que, dans mon cas , je pense que je devrais polir davantage et essayer "d'expédier" le jeu. Je pense que toutes les autres réponses sont également importantes à garder à l'esprit, donc si vous êtes venu ici avec la même question, avant de prendre une décision précipitée, lisez toute la discussion.
Merci à tous!