1. #1
    Membre régulier Avatar de c1702
    Homme Profil pro
    Inscrit en
    mai 2009
    Messages
    22
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : mai 2009
    Messages : 22
    Points : 88
    Points
    88

    Par défaut Présentation de mes petits projets

    Bonjour,

    Puisque je viens de faire remonter un vieux post pour une mise à jour dans le forum "contribuez", je me dis que tant qu'à faire, je vais en profiter pour faire une petite présentation de mes petits projets C/SDL.

    Pour une présentation rapide, j'ai travaillé (ou plutôt : j'ai été un esclave) quelques années dans les jeux vidéo, avant de m'enfuir pour trouver des conditions de travail normales. Maintenant je ne code plus que pour le plaisir, et tant qu'à faire, j'aime bien réinventer la roue.

    L'URL pour récupérer tout ce qui suit est : http://oldschoolprg.x10.mx/projets.php

    Certains projets sont en open source, d'autres non (ou du moins pas encore, même si ça arrivera sûrement un jour).

    Je vous les place dans l'ordre dans lequel je les ai codés :

    Arkanoid (Open source)

    Je n'avais jamais fait de casse briques, donc j'ai fait ça. Ca ne se veut pas un clone fidèle de l'original (playfield plus large, items cumulables...).

    Tetris (Open source)

    Code très simple. Je n'avais pas encore découvert "Tetris Friends" à l'époque, il faudrait rajouter quelques features.

    Tetris LAN 2 joueurs (Open source)

    Le même que précédement, pour faire des essais de réseau.

    Bomberman LAN 4 joueurs (Open source)

    Ici aussi, je n'avais jamais fait de Bomberman et je voulais continuer les expérimentations réseau. Donc hop !

    The Mini Slug Project (Closed source)

    Un humble hommage à la série des Metal Slug.

    Airball (Closed source)

    Remake de la version Atari ST (j'avais adoré ce jeu à l'époque !). Et avec la musique du ST s'il vous plait !

    Bon, alors bien sûr, les derniers en jettent plus que les premiers (toutes proportions gardées bien sûr), sont mieux finis, etc... Mais c'est dans la logique des choses.

    Critiques, commentaires et questions bienvenues.

    Clément.

    Note aux admins : Mes excuses si ce post n'a pas sa place dans ce forum.

  2. #2
    Expert éminent
    Avatar de Kannagi
    Homme Profil pro
    cyber-paléontologue
    Inscrit en
    mai 2010
    Messages
    2 147
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 29
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : cyber-paléontologue

    Informations forums :
    Inscription : mai 2010
    Messages : 2 147
    Points : 6 166
    Points
    6 166

    Par défaut

    GG J'adore =)
    Pas mal c'est jeux retro , je pensais que j’étais le seul a coder avec la SDL en voulant faire retro ^^ , j'aime bien metal slug et le jeux est bien fluide .
    Bref continue sur cette voie=P

  3. #3
    Expert éminent sénior

    Avatar de Neckara
    Homme Profil pro
    Étudiant
    Inscrit en
    décembre 2011
    Messages
    6 396
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 24
    Localisation : France, Loire (Rhône Alpes)

    Informations professionnelles :
    Activité : Étudiant
    Secteur : Enseignement

    Informations forums :
    Inscription : décembre 2011
    Messages : 6 396
    Points : 16 490
    Points
    16 490

    Par défaut

    Bonjour,

    J'ai quelques (petites) questions

    Un peu plus sur toi :
    - Quelle a été ton parcours pour apprendre à programmer ? (IUT, FAC, auto-didacte ?)
    - Si j'ai bien compris tu travaillais avant dans une boîte de jeux ? Que fais-tu actuellement ?
    - Est-ce que le tétris est ton premier projet ou tu avais déjà fais des petits "essais" avant ?


    Choix du langages, bibliothèques :
    - Pourquoi avoir choisit le C avec la SDL ?
    - J'ai vu que tu as fais un essais avec le C++, étais-ce une volonté de "toucher" à un autre langage ? Quelles raisons t'ont motivées à tester le C++ ? Pourquoi avoir indiqué "mauvais C++" ?

    Projet :
    - Comment choisis-tu un nouveau projet ? Quels sont les critères qui te permettent de dire si tel projet est réalisable ou non?
    - Là tu ne présente que des projets qui ont aboutit, mais as-tu eu des projets qui n'ont pas aboutit ? Si oui, pourquoi penses-tu qu'ils n'aient pas aboutit ? Si non, qu'est-ce qui selon toi te permet de réussir tous tes projets ?
    - Quelle processus utilises-tu lors de tes projets ? (agile ? personnalisé ?)

    Equipe :
    - Si j'ai bien compris, tu code tout seul, mais d'où viennent les musiques et les images ? Est-ce que tu récupère des images libre ou est-ce que tu les fais-toi même ?
    - Tu sembles coder seul, mais n'as-tu jamais envisagé d'intégrer ou de constituer une petite équipe ? Pourquoi?

    Conclusion :
    - Quels conseils pourrais-tu donner aux autres ? Quelles difficultés principales as-tu rencontré ?
    - Vas-tu continuer de faire tes projets ? Si oui as-tu une idée de ce que tu pourrais faire ?
    - Est-ce que rédiger un article de "retour d'expérience" t'intéresserais ?
    On dit "chiffrer" pas "crypter" !

    On dit "bibliothèque" pas "librairie" !

    Ma page DVP : http://neckara.developpez.com/

  4. #4
    Membre régulier Avatar de c1702
    Homme Profil pro
    Inscrit en
    mai 2009
    Messages
    22
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : mai 2009
    Messages : 22
    Points : 88
    Points
    88

    Par défaut

    Bonjour,

    Je vais essayer de répondre aux différentes questions posées même si ça fait un peu interview de pro alors que je ne suis qu'un petit programmeur indépendant qui code pendant son temps libre.


    Un peu plus sur toi :
    - Quelle a été ton parcours pour apprendre à programmer ? (IUT, FAC, auto-didacte ?)

    J'ai obtenu un DUT informatique en 1995, et évidement je codais aussi à côté (un peu de démo). Ensuite j'ai fait du JV pendant 6 ans et quelques, puis un peu de dev plus traditionnel.

    - Si j'ai bien compris tu travaillais avant dans une boîte de jeux ? Que fais-tu actuellement ?
    Maintenant je travaille dans le domaine des réseaux.

    - Est-ce que le tétris est ton premier projet ou tu avais déjà fais des petits "essais" avant ?
    Celui ci, je l'ai fait après l'Arkanoid, à la base comme un petit exemple pour le fils d'un collègue. Avant l'Arkanoid, j'avais recodé plein de petits effets de demomaker pour me remettre un peu dans le bain. Et ce n'est pas le premier Tetris que je faisais dans ma vie. (Même si depuis, avec Tetris Friends, je me suis aperçu qu'il faudrait rajouter quelques features).


    Choix du langages, bibliothèques :
    - Pourquoi avoir choisi le C avec la SDL ?

    Le C, parce que je ne connais que ça en langage "évolué", que c'est assez bas niveau, portable, et que je n'avais pas envie de me remettre à l'ASM. La SDL, parce que quand j'ai repris la prog, je voulais un accès à l'écran et qu'avec la SDL on a un pointeur dans le buffer vidéo en 3 lignes (hors vérifs). Bonus, la SDL existe sur des tonnes de plateformes !

    - J'ai vu que tu as fais un essais avec le C++, étais-ce une volonté de "toucher" à un autre langage ? Quelles raisons t'ont motivées à tester le C++ ? Pourquoi avoir indiqué "mauvais C++" ?
    J'en avais fait un peu à une époque, et déjà je n'avais pas accroché. J'ai voulu essayer d'en refaire un peu (j'avais l'illusion que ça pourrait me servir) et mal m'en a pris. Dans l'outil dont tu parles, j'ai fait à peu près tout ce qu'il ne faut pas faire en ++. Si j'avais du temps, il faudrait que je repasse tout ça en C.


    Projet :
    - Comment choisis-tu un nouveau projet ? Quels sont les critères qui te permettent de dire si tel projet est réalisable ou non ?

    Un peu au feeling. Déjà s'il y a des maths, c'est non ! Ensuite sur des jeux 2D, mon humble expérience aidant, je vois à peu près ce que je vais être capable de faire ou pas. Tout en essayant quand même de faire des choses que je n'ai pas encore faites, sinon ce n'est pas drole !

    - Là tu ne présente que des projets qui ont aboutit, mais as-tu eu des projets qui n'ont pas aboutit ? Si oui, pourquoi penses-tu qu'ils n'aient pas aboutit ? Si non, qu'est-ce qui selon toi te permet de réussir tous tes projets ?
    Non, je n'ai pas vraiment de projet qui n'ait pas abouti depuis quelques temps. Mais il faut dire que j'évite de me lancer dans des choses infaisables.

    - Quelle processus utilises-tu lors de tes projets ? (agile ? personnalisé ?)
    Je fais à ma façon, donc personnalisé ! ;p En général, j'essaye d'avoir une base (très) solide avant d'avancer sur autre chose, ce qui m'évite d'avoir à débugger au niveau "moteur" une fois que je suis dans le codage du "jeu".


    Equipe :
    - Si j'ai bien compris, tu code tout seul, mais d'où viennent les musiques et les images ? Est-ce que tu récupère des images libre ou est-ce que tu les fais-toi même ?

    Les images, je les trouve sur le net. Pour les sprites, il y a une bonne ressource : http://www.spriters-resource.com (il y a aussi du son sur un site frère). Ou alors je les rippe moi même quand ce n'est pas trop compliqué.

    Je ne suis pas graphiste, donc j'utilise des graphs existants (la remise en planche, les recalages, etc... prennent déjà pas mal de temps). Le tout c'est de le préciser et de ne pas tenter de faire d'argent avec. A partir de là, je n'ai jamais été embêté.

    Le son (qui n'est pas mon fort), je récupère les sons que je peux (libres si possible) et je les bidouille avec audacity. Et récement, j'ai réussi a utiliser ST-Sound de Leonard/OXG (http://leonard.oxg.free.fr/) avec la SDL, ce qui m'a donné des idées.

    - Tu sembles coder seul, mais n'as-tu jamais envisagé d'intégrer ou de constituer une petite équipe ? Pourquoi?
    Le problème pour intégrer une équipe, c'est de la trouver ! La plupart des projets amateurs que je vois en présentation (sur feu le sdz par exemple) ont très souvent des objectifs irréalistes. Par exemple, un MMORPG. Moi je fais partie des gens qui pensent qu'un MMORPG amateur, ça n'existe pas (cf http://conquerirlemonde.com/blog/201...mo-3d-amateur/). Et quand en plus c'est lancé par de purs débutants, le plantage est garanti.

    Même si ça me semble compliqué, je ne suis pas opposé à l'idée d'intégrer une équipe. Pour peu qu'on arrive à s'entendre, bien sûr !


    Conclusion :
    - Quels conseils pourrais-tu donner aux autres ? Quelles difficultés principales as-tu rencontré ?

    Hé bien Dam's a encore une fois tout dit ici : http://conquerirlemonde.com/blog/201...ge-post-proto/

    En résumé, ne pas se lancer dans un projet trop ambitieux. Par exemple, "tiens, je vais faire un petit platformer"... Le platformer en 2D, c'est ce qu'il y a de plus compliqué avec le RPG, donc ce n'est sûrement pas par là qu'il faut commencer. Pour un platformer, il faut avoir un moteur de sprites, savoir gérer des animations, un scroll (tiles + différentiel), des monstres (apparition/disparition en fonction du scroll), des tirs, etc... Et il faut aussi les outils qui vont avec, par exemple un éditeur de map. Pour info, le Mini Slug m'a pris quelque chose comme 18 mois, et ça en sachant à peu près exactement où je mettais les pieds pour avoir déjà codé pas mal de platformers quand je travaillais dans le JV. Certes, les specs ont évolué en cours de route et moi j'aime bien tout coder moi même, mais c'est un gros travail.

    Honnêtement, plusieurs projets simples menés à terme seront bien plus bénéfiques que de se lancer dans une grosse usine à gaz interminable.

    - Vas-tu continuer de faire tes projets ? Si oui as-tu une idée de ce que tu pourrais faire ?
    Oui, si j'ai du temps. J'ai deux projets plus ou moins commencés (le premier est en pause, deux de front, c'est une mauvaise idée. Mais la partie technique est déjà dégrossie), mon problème c'est surtout le temps que ça prend... (Quoique le second, je ne suis pas encore bien sûr de pouvoir le terminer).

    - Est-ce que rédiger un article de "retour d'expérience" t'intéresserait ?
    Pourquoi pas, mais attention, je ne suis pas un pro !

    Clément.

  5. #5
    Expert éminent sénior

    Avatar de Neckara
    Homme Profil pro
    Étudiant
    Inscrit en
    décembre 2011
    Messages
    6 396
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 24
    Localisation : France, Loire (Rhône Alpes)

    Informations professionnelles :
    Activité : Étudiant
    Secteur : Enseignement

    Informations forums :
    Inscription : décembre 2011
    Messages : 6 396
    Points : 16 490
    Points
    16 490

    Par défaut

    Citation Envoyé par c1702 Voir le message
    Je vais essayer de répondre aux différentes questions posées même si ça fait un peu interview de pro alors que je ne suis qu'un petit programmeur indépendant qui code pendant son temps libre.
    Désolé, ce sont mes gènes de rédacteurs qui ont pris le dessus
    Je dois tout de même reconnaître que par nature je suis très curieux.
    En tout cas merci d'avoir répondu aussi bien à mes question

    Citation Envoyé par c1702 Voir le message
    - Est-ce que rédiger un article de "retour d'expérience" t'intéresserait ?
    Pourquoi pas, mais attention, je ne suis pas un pro !
    Les projets qui aboutissent ne sont pas si fréquents que cela alors 6 projets aboutis en à peine 4ans... On veut connaître tous tes secrets
    J'essayerais d'envoyer un MP au grand chef demain matin
    On dit "chiffrer" pas "crypter" !

    On dit "bibliothèque" pas "librairie" !

    Ma page DVP : http://neckara.developpez.com/

  6. #6
    Futur Membre du Club
    Profil pro
    Inscrit en
    novembre 2012
    Messages
    4
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : novembre 2012
    Messages : 4
    Points : 7
    Points
    7

    Par défaut

    Sympas les projets ! J'ai testé Metal Slug (nostalgie nostalgie), et la réalisation est vraiment très propre.

    Donc si j'ai bien compris, le jeu vidéo en tant que pro, c'est une idée que tu as définitivement abandonnée ? Ce n'est plus qu'un hobby désormais ?

  7. #7
    Membre régulier Avatar de c1702
    Homme Profil pro
    Inscrit en
    mai 2009
    Messages
    22
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : mai 2009
    Messages : 22
    Points : 88
    Points
    88

    Par défaut

    Bonsoir,

    Citation Envoyé par Neckara Voir le message
    Les projets qui aboutissent ne sont pas si fréquents que cela alors 6 projets aboutis en à peine 4ans...
    Oui mais bon, il faut relativiser. Par exemple le Tetris mono joueur, ça m'a pris 5 jours : 1 journée pour avoir le game system fonctionnel et 4 autres pour faire l'habillage (menus, sauvegarde des scores, options...). Donc des projets de cette importance, ce n'est pas bien compliqué d'en finir 10 par an !

    Et puis au fur et a mesure, on peut recylcler ses routines, donc ça va de plus en plus vite.

    Par exemple, l'Arkanoid m'a pris quelques mois. A l'époque je n'avais rien, donc il a fallu faire un moteur de sprites, les anims et une gestion de monstres.

    Après, Tetris (sans sprites, très très simple). 5 jours, mais j'avais une architecture de programme valide avec l'Arkanoid et quelques routines déjà prètes comme la lecture/sauvegarde des high-scores.

    Puis Tetris LAN, même code que précédemment + mise en place d'une couche réseau.

    Bomberman, deux ou trois mois (je ne sais plus trop). Reprise de la partie réseau du Tetris et amélioration, reprise du moteur de sprites de l'Arkanoid et rajout de la prise en compte du PSD (et la routine de lecture du PSD qui va avec, évidement ). Le PSD est très pratique parce qu'on peut utiliser les couches alpha pour rajouter les points de ref, les zones de col, etc.

    Le gros boulot, c'est le slug : Passage du moteur de sprites en 16 bits, mais ça prenait beaucoup de mémoire (à mon goût). Donc je garde les sprites en 8 bits et je les "dépacke" au moment de l'affichage (8 > 16 bits + génération du masque). Pour ne pas le faire sans arrêt, j'ai fait un petit cache mémoire, pour garder en 16 bits les sprites affichés plusieurs frames d'affilée. Ajout des sprites en rotozoom et en zoom. J'ai aussi fait un dépacker de GIF animé pour l'écran de menu principal. Il y a aussi la mise en place du scroll (différentiel), la gestion des tiles (codes, hauteurs), et l'éditeur de map (gros boulot également). Et les transitions avec un remplissage de surface et une routine de 2D, etc... (Plus la mise en forme des presque 5000 sprites, des 15 ou 16 décors, et quelques retouches graphiques...). Et bien sûr le codage du jeu en lui même !

    J'ai profité du slug pour faire les modes 2x et TV2x, que j'ai ensuite adapté aux vieux projets.

    Le Airball, c'est un peu différent, je suis parti de presque rien et je me suis dit que j'allais essayer de le faire en SDL (oui parce qu'en général, j'utilise des routines maison. Pas parce que je pensais que ce serait plus rapide, mais juste parce que j'avais envie de mettre les mains dans le cambouis ! ), pour voir si c'était aussi lent que plein de gens le prétendent. En restant dans des résolutions raisonnables, je trouve que c'est quand même très utilisable. Le truc dont j'ai été content ça a été l'intégration de ST-Sound de Leonard/OXG et donc la possibilité d'avoir les musiques du ST ! Sur les 2/3 mois du projet, le plus long a été de ripper les graphs et le labyrinthe. Il a aussi fallu faire un éditeur de labyrinthe dédié.

    Comme je le disais, le truc c'est surtout que j'évite de partir dans des projets infaisables.

    @Ragtime :
    Merci !

    Et oui, ce n'est plus qu'un hobby. Je suis tombé dans une boîte ou j'ai connu l'enfer, et pour moi c'est clair, plus jamais ça.

    Clément.

  8. #8
    Membre éclairé
    Homme Profil pro
    Inscrit en
    octobre 2004
    Messages
    389
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : octobre 2004
    Messages : 389
    Points : 662
    Points
    662

    Par défaut

    salut,

    je viens de tester le Métal Slug par nostalgie aussi
    et respect à toi pour la réalisation c'est vraiment Fluide et le gameplay et très très bien reproduit !!!

    ce qui est dommage, c'est que comme moi tu l'as dit plus haut, tu n'aies pas une âme inventive et du coup niveau design ben tu récupères des sprites de jeu déjà connu

    c'est très sympa de faire un remake, mais ce qui serait top, ça serait de développer son propre jeu 2D avec son propre univers et des persos sortis de notre tête

    mais bon ça, c'est pas donné à tout le monde dommage !

    bravo à toi pour conclure

  9. #9
    Membre régulier Avatar de c1702
    Homme Profil pro
    Inscrit en
    mai 2009
    Messages
    22
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : mai 2009
    Messages : 22
    Points : 88
    Points
    88

    Par défaut

    Bonjour,

    Un petit up pour signaler une mise à jour :

    Mon Mini Slug a été porté sur Pandora (ptitSeb), et sur le forum associé, il revenait souvent le manque d'un menu de pause, et l'absence de musique.

    J'ai rajouté ces deux fonctionnalités (et un décomptage rapide au continue), et j'en ai profité pour mettre à jour (ou faire mettre à jour) les autres versions. (Il manque encore la version Mac, mais je compte sur Pouet_forever une fois qu'il sera rentré du ski ! ). Pour le son, c'est encore ST-Sound de Leonard/Oxygene. Les musiques rapelleront peut-être des souvenirs à certains .

    Le jeu a aussi été porté sur Dingoo A320 (Shin-NiL). (Avec quelques ralentissements, mais d'après Shin-NiL ça reste jouable. Je n'ai pas vu le jeu tourner).

    Et enfin, le jeu a aussi été porté sur Amiga OS4 (HunoPPC) ! (Et je fais l'annonce le jour de l'ouverture des AmiGâteries 2013 ! ).

    J'ai aussi mis en ligne des sources qui compilent sur 32 et 64 bits pour l'Arkanoid (il y en avait pour 5 minutes, mais ayant codé le jeu, je sais où faire les modifications !).

    @franck06 :
    (Réponse un peu tardive... )
    Merci pour le commentaire.
    Pour faire un jeu original, je ne suis malheureusement pas assez doué avec Photoshop pour faire moi même tous les sprites d'un jeu. (Je peux retoucher certaines choses, mais pas tout faire).

    Clément.

  10. #10
    Inactif

    Homme Profil pro
    Développeur multimédia
    Inscrit en
    mars 2013
    Messages
    162
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Développeur multimédia

    Informations forums :
    Inscription : mars 2013
    Messages : 162
    Points : 193
    Points
    193

    Par défaut

    Ton remake de metal slug est génial. On sent le dev à l'ancienne qui masterise le rendu au pixel près. Tu devrais recruter un graphiste qui reskinne le moteur avec un scénario original, ça mérite.

    La musique tu l'as programmée toi-même avec le buffer audio de sdl ?

  11. #11
    Expert confirmé
    Avatar de Vetea
    Homme Profil pro
    Technicien Test - Maintenance - Production - BE dans une PME d'electronique
    Inscrit en
    février 2005
    Messages
    2 030
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 46
    Localisation : France, Hérault (Languedoc Roussillon)

    Informations professionnelles :
    Activité : Technicien Test - Maintenance - Production - BE dans une PME d'electronique
    Secteur : High Tech - Électronique et micro-électronique

    Informations forums :
    Inscription : février 2005
    Messages : 2 030
    Points : 5 279
    Points
    5 279

    Par défaut

    Bonjour à toi !

    Je tenais à te féliciter quand à ce travail de conversion ! C'est un exercice de style soigneusement réalisé et maîtrisé qui me ramène avec nostalgie au temps de ma jeunesse ...

    Ces travaux et l'expérience acquise pourraient te permettre de réaliser ton propre jeu ...

    Bon courage pour la suite de tes travaux et encore bravo !!

    Cordialement.

    V.
    Développeur - Créateur Amateur de Jeux vidéos
    Visitez ma page dédiée
    Visitez mon espace Itch.io

Discussions similaires

  1. Petit projet RMI sous eclipse
    Par Goupil dans le forum APIs
    Réponses: 3
    Dernier message: 21/10/2008, 23h49
  2. Cherche tuteur pour encadrer un petit projet.
    Par mikaloop dans le forum Access
    Réponses: 11
    Dernier message: 05/03/2006, 19h15
  3. petit projet sur le port série et parallele
    Par pepper18 dans le forum C
    Réponses: 5
    Dernier message: 12/01/2006, 15h14
  4. Avis sur un petit projet
    Par nicolas66 dans le forum OpenGL
    Réponses: 10
    Dernier message: 02/02/2005, 01h27

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