IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

C++ Discussion :

Créer un shoot'em up [Débutant(e)]


Sujet :

C++

  1. #1
    Membre habitué
    Avatar de Shinja
    Homme Profil pro
    Inscrit en
    Septembre 2012
    Messages
    153
    Détails du profil
    Informations personnelles :
    Sexe : Homme

    Informations forums :
    Inscription : Septembre 2012
    Messages : 153
    Points : 156
    Points
    156
    Par défaut Créer un shoot'em up
    Salut,

    j'ai décidé de me remettre à la programmation et j'aimerais concevoir un shoot'em up. Le problème c'est que je ne sais pas du tout par où commencer et j'ai envie d'apprendre sur le tas. Avant je programmais un peu en Delphi mais cela pas mal d'années que je n'ai rien touché.

    J'ai choisie le C++ pour m'initier mais je ne trouve rien pour apprendre à programmer des jeux sur ce langage. J'aimerais bien trouver un code source ou un tuto pour m'expliquer les bases. Enfin si vous avez des liens etc. pour m'aider se serait fort sympa.

    Merci

  2. #2
    Membre éclairé
    Inscrit en
    Décembre 2010
    Messages
    290
    Détails du profil
    Informations forums :
    Inscription : Décembre 2010
    Messages : 290
    Points : 719
    Points
    719
    Par défaut
    Quel genre de shoot'em up tu veux coder ???
    parce qu'il y en a vraiment PLEIN dont le code source est disponible.
    En particulier, id Software vient de libérer le code source de Doom 3, mais je pense que pour débuter c'est pas l'idéal.

    Si les jeux vidéos style grosse production m'interessaient et que je voulais apprendre à coder, je pense que je m'orienterais plutôt vers de la modification de jeux existants. Beaucoup de jeux sont très souples, et te laissent recoder certaines parties en C++ pour te permettre d'adapter l'IA, créer des nouvelles armes, etc. Donc tu ne pars pas "de rien".

  3. #3
    Membre habitué
    Avatar de Shinja
    Homme Profil pro
    Inscrit en
    Septembre 2012
    Messages
    153
    Détails du profil
    Informations personnelles :
    Sexe : Homme

    Informations forums :
    Inscription : Septembre 2012
    Messages : 153
    Points : 156
    Points
    156
    Par défaut
    Citation Envoyé par phi1981 Voir le message
    Quel genre de shoot'em up tu veux coder ???
    parce qu'il y en a vraiment PLEIN dont le code source est disponible.
    En particulier, id Software vient de libérer le code source de Doom 3, mais je pense que pour débuter c'est pas l'idéal.

    Si les jeux vidéos style grosse production m'interessaient et que je voulais apprendre à coder, je pense que je m'orienterais plutôt vers de la modification de jeux existants. Beaucoup de jeux sont très souples, et te laissent recoder certaines parties en C++ pour te permettre d'adapter l'IA, créer des nouvelles armes, etc. Donc tu ne pars pas "de rien".
    Je cherche à faire un shoot'em up style Darius ou Dodonpachi enfin le plus important pour moi c'est d'apprendre la base pour créer un shoot'em up. J'aimerais vraiment apprendre à maîtriser la conception d'un shoot'em up pour après y a apporter mon style plutôt que faire une pâle copie...

    Si tu connais un code source d'un petit shoot'em up pour apprendre les bases se serait merveilleux, j'ai beau chercher sur Google, je ne trouve rien malheureusement.

  4. #4
    Expert éminent sénior

    Femme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Juin 2007
    Messages
    5 189
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France, Essonne (Île de France)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels

    Informations forums :
    Inscription : Juin 2007
    Messages : 5 189
    Points : 17 141
    Points
    17 141
    Par défaut
    Dans ce cas, j'avais chopé un tuto pour réaliser un tetris en SDL, fait en C pur.
    Je l'avais refais en C++ et il m'a servi de base pour d'autre projet.

    Pour la conception, amuse toi à lire notre faq C++ et les cours qui te semblent pertinents (notamment dans la rubrique 2D/3D/Jeux)

    Puis code un jeu simpliste en console pour gérer une boucle saisie-affichage couplée à une logique de jeu. Un pendu, peut-être?

    Et continue au choix avec un jeu plus complexe en console ou un jeu trivial avec graphisme.
    Fais aussi l'autre.

    Puis joue en essayant de voir comment tu referait la même chose que le jeu: gestion des armes, des power-up, des ennemis, des niveaux...

    Et enfin, attaque toi à ton Shoot'em up, qui est tout de meme plus complexe (temps réel, collisions, niveaux...)

    Le but est d'avoir des objectifs atteignables.

    Il existe un certain nombre de jeux libres dans ce thème, n'hésite surtout pas à regarder comment ils sont faits.

    Au boulot, je ne retrouve pas le lien vers le tuto. Je verrai ca ce soir.
    Mes principes de bases du codeur qui veut pouvoir dormir:
    • Une variable de moins est une source d'erreur en moins.
    • Un pointeur de moins est une montagne d'erreurs en moins.
    • Un copier-coller, ça doit se justifier... Deux, c'est un de trop.
    • jamais signifie "sauf si j'ai passé trois jours à prouver que je peux".
    • La plus sotte des questions est celle qu'on ne pose pas.
    Pour faire des graphes, essayez yEd.
    le ter nel est le titre porté par un de mes personnages de jeu de rôle

  5. #5
    Membre habitué
    Avatar de Shinja
    Homme Profil pro
    Inscrit en
    Septembre 2012
    Messages
    153
    Détails du profil
    Informations personnelles :
    Sexe : Homme

    Informations forums :
    Inscription : Septembre 2012
    Messages : 153
    Points : 156
    Points
    156
    Par défaut
    Citation Envoyé par leternel Voir le message
    Dans ce cas, j'avais chopé un tuto pour réaliser un tetris en SDL, fait en C pur.
    Je l'avais refais en C++ et il m'a servi de base pour d'autre projet.

    Pour la conception, amuse toi à lire notre faq C++ et les cours qui te semblent pertinents (notamment dans la section 2D/3D/Jeux)

    Puis code un jeu simpliste en console pour gérer une boucle saisie-affichage couplée à une logique de jeu. Un pendu, peut-être?

    Et continue au choix avec un jeu plus complexe en console ou un jeu trivial avec graphisme.
    Fais aussi l'autre.

    Puis joue en essayant de voir comment tu referait la même chose que le jeu: gestion des armes, des power-up, des ennemis, des niveaux...

    Et enfin, attaque toi à ton Shoot'em up, qui est tout de meme plus complexe (temps réel, collisions, niveaux...)

    Le but est d'avoir des objectifs atteignables.

    Il existe un certain nombre de jeux libres dans ce thème, n'hésite surtout pas à regarder comment ils sont faits.

    Au boulot, je ne retrouve pas le lien vers le tuto. Je verrai ca ce soir.
    Merci beaucoup pour des indications, je vais commencer par là

  6. #6
    Membre éprouvé

    Profil pro
    Inscrit en
    Décembre 2008
    Messages
    533
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2008
    Messages : 533
    Points : 1 086
    Points
    1 086
    Par défaut
    Déjà, est-ce que C++ est bien le langage le plus adapté à ce que tu souhaites faire ? Regarde par exemple du côté de PlayN, un framework Java qui permet le déploiement de ton jeu sous n'importe quelle plateforme : Desktop Java, HTML5, Android, iOS, Flash, ... à partir d'un seul code source. Le site fournit des exemples de jeux codés sous PlayN, certains avec leurs sources.

  7. #7
    Membre habitué
    Avatar de Shinja
    Homme Profil pro
    Inscrit en
    Septembre 2012
    Messages
    153
    Détails du profil
    Informations personnelles :
    Sexe : Homme

    Informations forums :
    Inscription : Septembre 2012
    Messages : 153
    Points : 156
    Points
    156
    Par défaut
    Citation Envoyé par cob59 Voir le message
    Déjà, est-ce que C++ est bien le langage le plus adapté à ce que tu souhaites faire ? Regarde par exemple du côté de PlayN, un framework Java qui permet le déploiement de ton jeu sous n'importe quelle plateforme : Desktop Java, HTML5, Android, iOS, Flash, ... à partir d'un seul code source. Le site fournit des exemples de jeux codés sous PlayN, certains avec leurs sources.
    Je ne sais pas du tout, il y a tellement de langage de programmation. C'est juste que je voulais apprendre le C++ après est-ce le plus adapté, je pense que se sont aux autres de me le dire. Je vais y jeter un petit coup d'oeil.

  8. #8
    Membre expérimenté Avatar de Trademark
    Profil pro
    Inscrit en
    Février 2009
    Messages
    762
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2009
    Messages : 762
    Points : 1 396
    Points
    1 396
    Par défaut
    Salut,

    Je ne connais ton niveau en programmation en général mais tu sembles débutant. Dans ce cas, je dirai la même chose que à tout les autres qui viennent demander des choses comme ça. Commence petit et tu verras que tu y passera déjà beaucoup de temps.

    On apprend pas les bases sur le tas, avant de pouvoir commencer il faut quelque chose sinon tu vas te dégouter… En bref je te conseillerais de:

    1) Lire un bouquin pas trop épais sur le C++ et faire les exercices proposés (1 semaine). En anglais je connais Accelerated C++ que j'ai lu pour commencer et il est très bien.
    2) Faire un jeu en console, par exemple une bataille navale (1 autre semaine) et venir nous montrer le code pour qu'on le critique ensemble.
    3) Ajouter une interface avec un bibliothèque graphique.
    4) Faire un jeu simple de tir en 2D, venir nous le montrer.
    5) …

    Faut pas sauter les étapes.

    PS: Ha oui, et n'oublie pas de concevoir sur papier avant de coder.

  9. #9
    Membre habitué
    Avatar de Shinja
    Homme Profil pro
    Inscrit en
    Septembre 2012
    Messages
    153
    Détails du profil
    Informations personnelles :
    Sexe : Homme

    Informations forums :
    Inscription : Septembre 2012
    Messages : 153
    Points : 156
    Points
    156
    Par défaut
    Citation Envoyé par Trademark Voir le message
    Salut,

    Je ne connais ton niveau en programmation en général mais tu sembles débutant. Dans ce cas, je dirai la même chose que à tout les autres qui viennent demander des choses comme ça. Commence petit et tu verras que tu y passera déjà beaucoup de temps.

    On apprend pas les bases sur le tas, avant de pouvoir commencer il faut quelque chose sinon tu vas te dégouter… En bref je te conseillerais de:

    1) Lire un bouquin pas trop épais sur le C++ et faire les exercices proposés (1 semaine). En anglais je connais Accelerated C++ que j'ai lu pour commencer et il est très bien.
    2) Faire un jeu en console, par exemple une bataille navale (1 autre semaine) et venir nous montrer le code pour qu'on le critique ensemble.
    3) Ajouter une interface avec un bibliothèque graphique.
    4) Faire un jeu simple de tir en 2D, venir nous le montrer.
    5) …

    Faut pas sauter les étapes.

    PS: Ha oui, et n'oublie pas de concevoir sur papier avant de coder.
    En effet, je pense que je devrais commencer par les bases. Le problème c'est que j'ai des connaissances en programmation donc quand je commence à lire un livre, j'ai vite l'impression de revoir un peu tous ce que je connais. D'ailleurs c'est le cas quand je me plonge dans un livre sur n'importe quel langage de programmation.

    La grosse difficulté que je rencontre c'est la méthode à utiliser. J'ai lu un livre sur le C# jusqu'aux classes mais je vois toujours pas comment m'y prendre pour créer un jeu. Peut être que le problème vient du fait que je ne l'écris pas sur papier...

    Je me suis laissé tenté à travailler sur des tutos, cela ma aidé à bien assimiler la syntaxe du C#, je commence a comprendre le code de certains jeux mais bon après ça reste quand même flou dans l'ensemble. J'essaie de créer ma propre classe de sprite sans recopier bêtement le code dans un tuto mais j'y suis toujours pas encore arrivé (lol). Pourtant cela semble simple...

  10. #10
    Expert éminent sénior
    Avatar de koala01
    Homme Profil pro
    aucun
    Inscrit en
    Octobre 2004
    Messages
    11 612
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 52
    Localisation : Belgique

    Informations professionnelles :
    Activité : aucun

    Informations forums :
    Inscription : Octobre 2004
    Messages : 11 612
    Points : 30 612
    Points
    30 612
    Par défaut
    Salut,
    Citation Envoyé par Shinja Voir le message
    En effet, je pense que je devrais commencer par les bases. Le problème c'est que j'ai des connaissances en programmation donc quand je commence à lire un livre, j'ai vite l'impression de revoir un peu tous ce que je connais. D'ailleurs c'est le cas quand je me plonge dans un livre sur n'importe quel langage de programmation.
    Ce qu'il faut comprendre c'est que, quel que soit le langage envisagé, la finalité reste toujours la même: faire comprendre à quelque chose d'aussi bête qu'un ordinateur, qui agira comme un brave petit soldat prêt à sauter si on lui en donne l'ordre (et si on lui a expliqué comment faire ) sans poser de question...

    Il existe donc ce que l'on pourrait appeler les "principes de base" communs à tous les langages impératifs (et les langages OO sont des langages impératifs avant tout ) comme les structures de tests, les boucles et autres joyeusetés du genre (certaines structures de données peuvent d'ailleurs entrer dans cette catégorie )

    Il n'est donc pas très étonnant que, prenant n'importe quel livre destiné "aux débutants" traitant de n'importe quel langage, on commence systématiquement par t'expliquer ces principes de base

    Ensuite, vient le coté "OO" des langues, qui arrive, lui aussi, avec une série de principes communs...

    Encore une fois, à partir du moment où tu as compris ce qu'est une classe et une fonction membre, il n'est pas étonnant que tu aies l'impression d'une "resucée" en passant d'un langage à l'autre car c'est, en gros, "tout le temps la même chose"

    Finalement, si on regarde java, C# et C++ avec un oeil critique, on s'aperçoit assez facilement que la grosse différence est la "philosophie" du langage et que toutes les différences qui existent ne découlent que de cette différence de philosophie

    Après tout, un langage de programmation reste fort proche, sémantiquement parlant, de n'importe quel langue : ce n'est jamais qu'un moyen de dialoguer avec quelque chose ou quelqu'un.

    La seule différence entre le français ou l'anglais et un langage de programmation, c'est que l'un des interlocuteur est bête comme mes pieds (et je ne vise pas la personne qui est derrière son clavier en disant cela )
    La grosse difficulté que je rencontre c'est la méthode à utiliser. J'ai lu un livre sur le C# jusqu'aux classes mais je vois toujours pas comment m'y prendre pour créer un jeu. Peut être que le problème vient du fait que je ne l'écris pas sur papier...
    Le fait, c'est qu'après avoir lu un livre sur n'importe quel langage orienté objets, jusqu'au classes, tu ne sais encore "que" comment organiser ton code...

    Seulement, tu n'as visiblement pas "percuté" sur un problème important :

    Tout programme n'est qu'une suite d'instructions ayant pour but de remplir certains besoins.

    Seulement, pour que le programme soit efficace, il faut... avoir conscience des besoins qu'il doit remplir

    L'écriture du code n'est en fait que la dernière étape à effectuer entre le moment où l'on a une idée ( "je voudrais créer un shoot them up" ) et le moment où l'idée en question est concrétisée par l'existence d'un programme qui... fait ce que l'on attend de lui.

    Entre ces deux moment, il y a une série d'étapes qui doivent être franchies, comme:
    • l'analyse fonctionnelle : le fait d'exprimer clairement ce que l'on veut
    • l'analyse technique : le fait de déterminer l'ensemble des fonctions, des structures et des classes qui nous permettront d'obtenir ce que l'on veut
    • La création éventuelle d'algorithme : le fait de trouver la logique "la moins mauvaise" permettant de nous assurer que, partant d'une situation A, nous arriverons bel et bien à une situation B correcte
    Ce n'est qu'après que l'on peut envisager "sereinement" d'écrire le code qui correspondra aux algorithmes et aux structures de données que l'on a décidé d'utiliser

    Bien sur toutes ces étapes peuvent se faire en plusieurs fois, et il est même largement conseillé qu'elles se fassent en plusieurs fois.

    On remarque en effet que les besoins évoluent énormément au fil du temps, ne serait-ce qu'il n'est pas rare que la mise en oeuvre (le fait d'écrire le code, ou de l'exécuter) ne mette en évidence des problèmes auxquels on n'avait pas forcément pensé.

    Il n'est donc pas rare de "revenir" sur certains algorithmes, sur l'analyse technique, voir, carrément, sur l'analyse fonctionnelle parce que l'on s'est rendu compte, en écrivant le code que "décidément, non, là, y a quelque chose qui va pas"
    Je me suis laissé tenté à travailler sur des tutos, cela ma aidé à bien assimiler la syntaxe du C#, je commence a comprendre le code de certains jeux mais bon après ça reste quand même flou dans l'ensemble. J'essaie de créer ma propre classe de sprite sans recopier bêtement le code dans un tuto mais j'y suis toujours pas encore arrivé (lol). Pourtant cela semble simple...
    Encore une fois, il n'y a pas grand chose à faire : une classe sprite aura toutes les chances de ressembler furieusement à n'importe quelle autre classe sprite déjà créée dans le même langage, à seulement quelques détails près

    Par contre, ce qu'il faut comprendre, c'est qu'il existe différents "niveaux" dans une application:

    - La partie que je qualifierais de "métier" (on parle souvent de "modèle" ) : c'est la partie dans laquelle tu regroupes l'ensemble des données que tu manipules de manière à en faire un tout cohérent.

    C'est aussi dans cette partie que tu places les règles qui doivent être respectées de manière systématique

    - La partie qui permet à l'utilisateur d'appréhender les donnée (on parle souvent de "vue" ) : c'est l'ensemble des fonctions et des classes qui permettent à l'utilisateur d'avoir un aperçu des données manipulées.

    C'est aussi cette partie qui a la responsabilité de récupérer les intentions de l'utilisateur au moyen des différents périphériques qu'il peut utiliser (clavier, souris, ... )

    -Enfin, il y a la partie qui fait le lien entre les deux (on parle souvent de "controleur") en transmettant les informations issues des données métier d'une part et en signalant aux données les manipulations qu'elle doivent subir sur base de l'interprétation des entrées utilisateur.

    C'est aussi cette partie qui se chargera, si une erreur survient, de la transmettre dans un format "compréhensible" à la vue pour que celle-ci puisse en informer l'utilisateur.

    Ce qu'il faut aussi comprendre, c'est que toute classe ou fonction ne vaut que par l'usage qui en est fait...

    Une classe ou une fonction qui aurait été créée mais qui ne serait pas utilisée n'est, en définitive, qu'un moyen trouvé par le développeur pour perdre du temps, parfois à son corps défendant

    Ainsi, ton sprite, vu que c'est l'exemple que tu donnes, ne vaut que si tu as, à coté de ton sprite, le moyen de le positionner, celui de décider de le créer, celui de décider de le détruire et celui de l'afficher, à la bonne position...
    A méditer: La solution la plus simple est toujours la moins compliquée
    Ce qui se conçoit bien s'énonce clairement, et les mots pour le dire vous viennent aisément. Nicolas Boileau
    Compiler Gcc sous windows avec MinGW
    Coder efficacement en C++ : dans les bacs le 17 février 2014
    mon tout nouveau blog

  11. #11
    Membre habitué
    Avatar de Shinja
    Homme Profil pro
    Inscrit en
    Septembre 2012
    Messages
    153
    Détails du profil
    Informations personnelles :
    Sexe : Homme

    Informations forums :
    Inscription : Septembre 2012
    Messages : 153
    Points : 156
    Points
    156
    Par défaut
    Citation Envoyé par koala01 Voir le message
    Salut,
    Ce qu'il faut comprendre c'est que, quel que soit le langage envisagé, la finalité reste toujours la même: faire comprendre à quelque chose d'aussi bête qu'un ordinateur, qui agira comme un brave petit soldat prêt à sauter si on lui en donne l'ordre (et si on lui a expliqué comment faire ) sans poser de question...

    Il existe donc ce que l'on pourrait appeler les "principes de base" communs à tous les langages impératifs (et les langages OO sont des langages impératifs avant tout ) comme les structures de tests, les boucles et autres joyeusetés du genre (certaines structures de données peuvent d'ailleurs entrer dans cette catégorie )

    Il n'est donc pas très étonnant que, prenant n'importe quel livre destiné "aux débutants" traitant de n'importe quel langage, on commence systématiquement par t'expliquer ces principes de base

    Ensuite, vient le coté "OO" des langues, qui arrive, lui aussi, avec une série de principes communs...

    Encore une fois, à partir du moment où tu as compris ce qu'est une classe et une fonction membre, il n'est pas étonnant que tu aies l'impression d'une "resucée" en passant d'un langage à l'autre car c'est, en gros, "tout le temps la même chose"

    Finalement, si on regarde java, C# et C++ avec un oeil critique, on s'aperçoit assez facilement que la grosse différence est la "philosophie" du langage et que toutes les différences qui existent ne découlent que de cette différence de philosophie

    Après tout, un langage de programmation reste fort proche, sémantiquement parlant, de n'importe quel langue : ce n'est jamais qu'un moyen de dialoguer avec quelque chose ou quelqu'un.

    La seule différence entre le français ou l'anglais et un langage de programmation, c'est que l'un des interlocuteur est bête comme mes pieds (et je ne vise pas la personne qui est derrière son clavier en disant cela )
    Le fait, c'est qu'après avoir lu un livre sur n'importe quel langage orienté objets, jusqu'au classes, tu ne sais encore "que" comment organiser ton code...

    Seulement, tu n'as visiblement pas "percuté" sur un problème important :

    Tout programme n'est qu'une suite d'instructions ayant pour but de remplir certains besoins.

    Seulement, pour que le programme soit efficace, il faut... avoir conscience des besoins qu'il doit remplir

    L'écriture du code n'est en fait que la dernière étape à effectuer entre le moment où l'on a une idée ( "je voudrais créer un shoot them up" ) et le moment où l'idée en question est concrétisée par l'existence d'un programme qui... fait ce que l'on attend de lui.

    Entre ces deux moment, il y a une série d'étapes qui doivent être franchies, comme:
    • l'analyse fonctionnelle : le fait d'exprimer clairement ce que l'on veut
    • l'analyse technique : le fait de déterminer l'ensemble des fonctions, des structures et des classes qui nous permettront d'obtenir ce que l'on veut
    • La création éventuelle d'algorithme : le fait de trouver la logique "la moins mauvaise" permettant de nous assurer que, partant d'une situation A, nous arriverons bel et bien à une situation B correcte
    Ce n'est qu'après que l'on peut envisager "sereinement" d'écrire le code qui correspondra aux algorithmes et aux structures de données que l'on a décidé d'utiliser

    Bien sur toutes ces étapes peuvent se faire en plusieurs fois, et il est même largement conseillé qu'elles se fassent en plusieurs fois.

    On remarque en effet que les besoins évoluent énormément au fil du temps, ne serait-ce qu'il n'est pas rare que la mise en oeuvre (le fait d'écrire le code, ou de l'exécuter) ne mette en évidence des problèmes auxquels on n'avait pas forcément pensé.

    Il n'est donc pas rare de "revenir" sur certains algorithmes, sur l'analyse technique, voir, carrément, sur l'analyse fonctionnelle parce que l'on s'est rendu compte, en écrivant le code que "décidément, non, là, y a quelque chose qui va pas"
    Encore une fois, il n'y a pas grand chose à faire : une classe sprite aura toutes les chances de ressembler furieusement à n'importe quelle autre classe sprite déjà créée dans le même langage, à seulement quelques détails près

    Par contre, ce qu'il faut comprendre, c'est qu'il existe différents "niveaux" dans une application:

    - La partie que je qualifierais de "métier" (on parle souvent de "modèle" ) : c'est la partie dans laquelle tu regroupes l'ensemble des données que tu manipules de manière à en faire un tout cohérent.

    C'est aussi dans cette partie que tu places les règles qui doivent être respectées de manière systématique

    - La partie qui permet à l'utilisateur d'appréhender les donnée (on parle souvent de "vue" ) : c'est l'ensemble des fonctions et des classes qui permettent à l'utilisateur d'avoir un aperçu des données manipulées.

    C'est aussi cette partie qui a la responsabilité de récupérer les intentions de l'utilisateur au moyen des différents périphériques qu'il peut utiliser (clavier, souris, ... )

    -Enfin, il y a la partie qui fait le lien entre les deux (on parle souvent de "controleur") en transmettant les informations issues des données métier d'une part et en signalant aux données les manipulations qu'elle doivent subir sur base de l'interprétation des entrées utilisateur.

    C'est aussi cette partie qui se chargera, si une erreur survient, de la transmettre dans un format "compréhensible" à la vue pour que celle-ci puisse en informer l'utilisateur.

    Ce qu'il faut aussi comprendre, c'est que toute classe ou fonction ne vaut que par l'usage qui en est fait...

    Une classe ou une fonction qui aurait été créée mais qui ne serait pas utilisée n'est, en définitive, qu'un moyen trouvé par le développeur pour perdre du temps, parfois à son corps défendant

    Ainsi, ton sprite, vu que c'est l'exemple que tu donnes, ne vaut que si tu as, à coté de ton sprite, le moyen de le positionner, celui de décider de le créer, celui de décider de le détruire et celui de l'afficher, à la bonne position...
    Whaaa merci beaucoup pour ses explications, en espérant que cela puisse aider pleins de gens comme moi.

    Cela fait précisément une semaine que j'avais écrit mon dernier message et depuis j'ai pas mal évolué. J'en suis d'ailleurs très content. J'ai d'ailleurs remarqué que tu as raison. En réalité, je me prenait la tête à vouloir faire un truc simple en complexe. Faut dire que certains tutoriels ont tendance à écrire tout un tas de ligne pour faire quelque chose qu'on peut faire en deux trois lignes. Après avoir prit conscience de cela, j'ai pu créer la base de mon shoot'em up. En ce moment je me penche sur le comportement etc. des ennemis car dans beaucoup de tutoriel on nous montre comment créer des ennemis qui s'affichent dans un ordre aléatoire et non un ordre souhaité par le programmeur avec des fonctions, des vitesses etc. différentes.

    J'ai donc réussi à créer des vagues d'ennemis qui peuvent tirer à une certaine fréquence, ce qui selon moi représente une bonne partie du travail accomplie car le reste est assez simple :

    - conception de l'interface utilisateur
    - les fameux powerup
    - gestion des collisions (a apprendre)
    - le background

    et quelques petits trucs en suppléments mais à ma porter en tant que débutant.

    Je pense que le plus difficile pour moi va être la réalisation des sprites et des décors car je suis vraiment un gros novice en la matière ! j'ai réalisé quelques vaisseaux sympathiques mais la résolution n'est pas au top, je reste sur 36x16 ou 32x32.

    Je ne veux pas prendre de ressources sur Internet, car je veux créer quelque chose d'original qui sera ma création...

Discussions similaires

  1. Créer missile pour un shoot
    Par Shinja dans le forum XNA/Monogame
    Réponses: 3
    Dernier message: 21/09/2012, 16h31
  2. Concours organisé par l'AJVA : Créer votre Shoot Em Up
    Par willayclement dans le forum Développement 2D, 3D et Jeux
    Réponses: 16
    Dernier message: 16/07/2009, 22h59
  3. Créer un interpréteur de langage inspiré du Basic
    Par Picasso dans le forum Algorithmes et structures de données
    Réponses: 4
    Dernier message: 11/05/2002, 17h10
  4. Comment faire pour créer un bitmap
    Par GliGli dans le forum C++Builder
    Réponses: 2
    Dernier message: 24/04/2002, 15h41
  5. Peux t'on créer une copie locale de l'objet partagé?
    Par Anonymous dans le forum CORBA
    Réponses: 8
    Dernier message: 16/04/2002, 16h20

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo