ch
Feedback
Gamecodeur - Les coulisses

Gamecodeur - Les coulisses

前往频道在 Telegram

Mes formations et mes meilleurs conseils en avant première.

显示更多
754
订阅者
无数据24 小时
+17
+530
帖子存档
Ma série d'emails sur le temps volé par le téléphone vous a fait réagir. En effet le manque de temps, et la surcharge de sollicitations, est un phénomène de société. On mesure chaque jour ce que l'invention du smartphone nous a apporté en terme de liberté de communication et de source d'information. Mais on ne mesure pas toujours les dégâts collatéraux qui sont colossaux. Avoir vécu SANS smartphone, pour les plus âgés d'entre nous, nous permet de comparer nos modes de vies avant et après son arrivée. Je vous avais annoncé vouloir partager quelques témoignages, en voici quelques un. Marc, par exemple, qui a ressenti une bouffée de nostalgie quand j'ai évoqué les années 80 : Ayant grandi dans les années 80 et 90, il m'arrive bien souvent d'être nostalgique de cette époque. Certes, certaines choses étaient moins pratiques, mais comme tu l'écris, la tranquillité d'esprit n'était pas comparable à ce qu'on vit aujourd'hui! Mon premier ordi était un amstrad cpc 6128, et seul, dans la buanderie de ma grand mère, là où se trouvait ma machine, du haut de mes 16 ans, je programmais des jeux. Oh rien de fou, des jeux en mode caractères (qu'on pouvait définir avec une matrice de points et la commande "symbol") mais, ce pavé de manuel, je l'ai retourné dans tous les sens. Forcément c'était à l'époque un des seuls moyens d'apprendre. Je ne peux m'empêcher d'être admiratif de grands développeurs de l'époque (ex: Raffaele Cecco qui avait développé une magnifique version de Cybernoid sur Amstrad) qui arrivaient à réaliser de telles prouesses techniques avec si peu de mémoire à disposition. Maintenant, tout est certes plus simple, mais, je ne sais pas, il m'arrive quand même de regretter de ne pas avoir l'âge que j'ai maintenant en 1980 pour développer sur des petites machines. C'est bête sûrement. Nicolas, lui, nous partage ses astuces pour garder le contrôle. Je suis admiratif de tant de motivation : Mes astuces : - supprimer instagram, facebook, twitter, reddit, tiktok, netflix. Il n'y a vraiment rien à garder. Je les ressortirai quand il faudra marketer un jeu. - mettre en place des habitudes, très faciles "coder 1 ligne de code par jour", attractives "coder une mécanique nouvelle" et satisfaisantes "plus je code plus j'ai de chance de réaliser mon rêve" via du journaling - me rappeler chaque jour qui j'ai envie d'être "je veux être un game dev qui crée des expériences que les joueurs adorent", et le dire à mes proches pour ce soit un engagement public J'adore sa vision de la programmation de jeux vidéo. Son objectif n'est pas technique mais humain ! J'ai aussi reçu un super message de Julien, qui me dit que mon mail sur les 54 jours perdu sur le téléphone chaque année a déclenché une conversation avec ses collègues de travail. Il en profite pour partager une anecdote sur la façon dont il s'est rendu compte qu'il pouvait se passer d'une application qu'il utilisait pourtant beaucoup : Sans être un gros consommateur d'écran téléphonique, l'application Messenger de Facebook me prenait du temps, et avait surtout développé chez moi l'habitude de regarder régulièrement si j'avais des nouveaux messages, ainsi que de suivre assidument les conversations de groupe auxquelles j'appartenais. Suite à une mise à jour de l'application, mon téléphone m'a redemandé le mot de passe de mon compte Messenger. Et surprise... je ne m'en souvenais plus. Alors au travail, je ne pouvais pas effectuer les démarches pour en générer un nouveau. Les journées ont passées sans que je prenne le temps de me reconnecter à cette application et j'ai découvert plusieurs choses: - Je ne manquais absolument rien, ou presque. - J'ai commencé à ressentir un soulagement quant au fait de ne plus avoir à regarder régulièrement, juste "au cas où". Ça fait plusieurs mois maintenant, j'ai pris le temps de prévenir mes contacts proches de m'envoyer un sms plutôt qu'un message sur l'application si le besoin s'en faisait ressentir, et je l'ai désinstallé de mon téléphone. Et ça marche.

Dans les années 80 les journées étaient 2 fois plus longues. On pouvait à la fois travailler, faire du sport, se former, voir des amis (en y allant à pieds), jouer. Dans la même journée ! Sais-tu pourquoi ? Il n'y avait pas de smartphone... Imagine une journée dans les années 80 : Au réveil, tu n'as rien à vérifier sur ton téléphone : ni tes messages, ni les news, ni les stories du jour... Toute la journée, tu n'as pas de téléphone avec toi. Ce qui veut dire que tu n'es pas joignable à moins qu'on ne sache où tu es pour t'appeler sur un fixe... depuis un fixe. A midi, tu déjeunes l'esprit léger, tu n'es pas stressé par les infos que tu manques ou distrait par ton Whatsapp. Tu sais que personne ne va te déranger ! Le soir quand tu rentres chez toi, aucune sollicitation. Tu peux passer du temps avec des amis, ou bosser à apprendre à programmer sur ton ordi (qui n'a même pas internet). Les livres et les relations sont ta seule source d'information. Maintenant regarde ta journée en 2024. Prend ton téléphone et vas dans l'application Paramètres et sur "Bien-être numérique et contrôle parental" sur Android. Ou "Réglages > Temps d'écran" sur ton iPhone. Fais le bilan. En dehors des coups de fils importants, combien de temps ton téléphone t'a t'il volé ? Fais une moyenne journalière et multiplie par 365 pour faire le total sur une année. Divise par 24 et admire le nombre de journées que tu as passé sur ton téléphone. La moyenne est de 54 jours par an devant le téléphone (3,6h par jour). 54 journées de 24h !! Et les ados peuvent y passer plus de 7h soit plus de 100 jours ! Alors quand on me dit "je n'ai pas le temps de créer des jeux vidéo ou pour suivre tes formations"... Ajoutez au téléphone le temps sur Netflix ou la console... C'est une folie. Moi aussi j'en suis victime. J'ai une tendance à l'addiction. Alors j'ai quelques techniques pour limiter les dégâts. J'en partage une avec toi demain. En attendant, tu peux me donner tes propres astuces ou ton ressenti !

Puis vous serez rattrapés par la programmation. Conclusion : Code is the key. Bon code et reste libre ! A demain. PS : Je planifie la prochaine formation. J'aimerais bosser sur une formation que je pourrais appeler "Développe ton propre Framework de jeu réutilisable en C# et Raylib". Tu apprendrais ici à coder ta propre architecture de jeu réutilisable avec C# et Raylib. Cette formation te guiderait à travers la création d'un framework de jeu complet, prêt à être utilisé pour tous tes futurs projets : système de scènes, splash screen, écran d'options, fenêtré / fullscreen, chargement des assets (loading...), etc. Si tu es intéressé, tu peux me le dire en commentaire.

(Note : lis jusqu'à la fin, il y un PS où je t'annonce quelque chose) Aujourd'hui je réponds à Pouty. Il m'écrit : Il me faut plusieurs semaines entières pour pondre un prototype de jeu en love2d [...] donc à l'avenir, je pense utiliser un moteur plus haut-niveau. On peut pas tout savoir, ça ne sert à rien de vouloir tout recoder. Il faut tracer une limite quelque part, même si la poursuite des connaissances est louable. Je n'ai jamais compris ce mythe. L'idée que d'utiliser un "moteur" va permettre d'aller plus vite. Si on me disait "j'arrête de coder mon propre moteur en pur OpenGL" je pourrais comprendre. Mais prototyper quelque chose en Lua / Love2D. On n'est pas dans le "réinventer la roue" ici. On n'est pas dans la "poursuite des connaissances" comme si ceux qui codent sans moteur étaient des idéalistes fuyant le capitalisme. Car Love2D est un framework de jeu vidéo, il mache donc énormément le travail du programmeur. Pour un véritable développeur pro, coder un jeu en Lua avec Love2D c'est un peu comme faire du footing avant une course. En aucun cas il ne verrait cela comme quelque chose de plus compliqué que d'utiliser un moteur. "Je n'arrive pas à conduire un Karting, donc je vais conduire une F1". Que va apporter un moteur réellement ? (ici on compare donc Love2D et un moteur, donc on parle de jeu en 2D) Un système de scène ? 👉 Ce n'est pas vraiment nécessaire dans un prototype et de toute façon en Lua c'est juste un "if" dans la game loop. Pouvoir afficher un sprite par drag and drop ? 👉 C'est juste 1 ligne de code avec Love2D donc pas un gros avantage. Faire un jeu en 3D ? 👉 C'est ici un gros apport du moteur, mais pas tellement niveau programmation, niveau mise en scène uniquement. Eviter de coder ? 👉 C'est là le mythe. On code en Unity tout autant qu'avec Love2D, et c'est même plus compliqué. Un moteur ne va pas vous éviter de programmer. Une fois sorti de ce que le moteur vous "mache", il va bien falloir ouvrir l'éditeur de code... Et là c'est le drame : non seulement l'API de Unity est très complexe (des centaines de pages), mais en plus son architecture est très avancée : système de scripts, système de composants, Monobehavior, Transform... Et dès qu'il faut coder quelque chose de concret : liste d'entités, génération procédurale, comportements, interactions/choix du joueur, ... C'est la panique. Il faut tout autant coder et en plus dans un environnement et une architecture de pros, qui nous est imposée et codée par d'autres. Même Unreal Engine ne vous sauvera pas car le Blue Print les amis, c'est de la programmation visuelle ! Donc de la programmation. J'ai pu expérimenter le mythe du moteur sur plus de 200 élèves. Je délivre un accompagnement pour une certification "Développeur de jeux vidéo" depuis quelques années. Le programme est découpé en 3 modules : Pur code Lua / Love2D : Jeu en topview Pur code C# / Monogame : Puzzle game type Casse brique hybride Moteur C# / Unity : Infinite Runner On pourrait s'attendre ici à une évolution dans la complexité du gameplay. Après tout, avec un moteur "pas besoin de réinventer la roue" non ? Résultat ? Le projet Unity est le plus pauvre. Peu de fonctionnalités. Beaucoup de difficultés dans la réalisation. Incohérences et manque de rigueur niveau code. Un vrai bordel. Là où les mêmes élèves avaient fait preuve de créativité et d'ingéniosité dans les 2 précédents projets quand ils n'avaient sous les yeux que du code... Pourtant j'ai choisi un infinite runner car c'est un genre très adapté à un moteur : utilisation du moteur de physique, décor "légo", etc. Les seuls projets Unity dignes de ce nom qu'on me livre sont ceux dont l'élève a bien compris et utilisé la programmation. Faut-il fuir les moteurs ? Pas du tout. Je ne dis pas ici que c'est mal. J'ai personnellement produit une 20e de jeux avec Unity avec mon équipe de 2000 à 2015 et ça nous a bien aidé. Je dis juste que cela ne vous sauvera pas si vous ne savez par programmer. L'illusion sera de courte durée : quelques jours au mieux.

La scène en question.
La scène en question.

Avant de commencer, je voulais remercier toutes celles et ceux qui ont sauté le pas et se sont lancé dans ma dernière formation "La révolution Raylib : Programmer facilement des jeux 2D ou 3D en C#". Vous avez été près de 200 à rejoindre la formation ! MERCI 💖. Maintenant que je vous ai remercié, je voulais parler d'un sujet qui fâche. La procrastination. Car il ne suffit pas de suivre une formation, il faut ensuite se lancer ! Je le sais, c'est très difficile. Si c'était facile tout le monde le ferait. Mais j'ai remarqué un truc bizarre sur les raisons de procrastiner. Souvent ce qui bloque ce n'est pas la motivation. Ce n'est pas non plus le manque de temps. Ni le manque de compétences. C'est le manque d'idées ! Alors je vais partager avec toi une expérience récente et peut-être ça va t'aider. Et du coup tu vas mieux comprendre le titre de cet email. C'était pendant que je travaillais sur la formation Raylib. Je cherchais à réaliser un mini projet pour vous apprendre à créer une scène 3D en pur code, le déplacement d'un modèle dans la scène et l'interaction avec le décor. Je n'avais aucune idée de quoi mettre en scène... Du coup j'ai commencé par créer un modèle 3D avec Asset Forge. J'adore cet outil, il me rappelle quand je jouais aux Legos. J'ai donc "fait joujou" avec. (le terme compte). Et de là est née une voiturette. C'était l'étincelle qui me manquait. Je me suis mis à l'imaginer rouler devant une maisonnette. J'avais mon proto. J'ai même imaginé la suite (que je prévois pour une prochaine formation) : un jeu de livraisons ! Du coup c'est quoi le conseil ? C'est de retrouver l'enfant qui est en toi. De te mettre à faire 'joujou' comme tu le faisais devant tes Legos. Sans avoir la moindre idée de ce que tu vas faire. Et les idées vont venir APRES et non pas avant comme tu l'imaginais. Bon code et reste libre ! A lundi pour d'autres conseils et anecdotes.

Un mot pour te rappeler que c'est le dernier jour pour profiter de tes 70% offerts sur ma nouvelle formation : La révolution Raylib : Programmer facilement des jeux 2D ou 3D en C# https://school.gamecodeur.fr/la-revolution-raylib-programmer-facilement-des-jeux-2d-ou-3d-en-csharp?coupon=RAYLIB2024T 👆 Le coupon expire ce soir à minuit. À l'intérieur : 🧠 Je te forme au langage C# : le plus populaire langage de programmation en 2024 et un des plus puissants qui soit. 💻 Je t'apprends à utiliser Raylib en C#, la librairie révolutionnaire qui va t'ouvrir les portes de la programmation de jeux vidéo en C#. 🕹 Je te dévoile comment programmer des jeux en 2D mais aussi en 3D, aussi facilement que tu le faisais avec Love2D. Plus de 130 personnes ont déjà pris leur place. Si tu ne l'as pas encore fait c'est ta dernière chance.

?
Anonymous voting

Pour ceux qui ont vu l'exemple qu'on travaille dans la formation en 3D. (C'est-à-dire la voiturette capable de tourner autour d'un bâtiment et de collisionner avec lui. Et le bâtiment qui devient transparent quand on passe derrière.) Ça me donne trop envie de coder un jeu genre de gestion du temps où on doit livrer des trucs. Genre régressif comme les enfants qui jouent au petit camion. Un truc comme ça ça vous plairait dans une formation ? L'idée serait de travailler la structure complète d'un petit jeu en 3D. De travailler sur des effets de caméra. Bien sûr d'un gameplay en 3D. Et sur un système d'objectifs.

90 commandes passées en 24 heures. Je m'attendais à ce que cette formation cartonne, car elle était très attendue. Mais je ne m'attendais pas à autant de motivation. Certains ont déjà terminé tous les modules et ont commencé à bosser sur un projet ! Si tu n'as pas encore pris ta place, tu peux le faire en cliquant ici : https://school.gamecodeur.fr/la-revolution-raylib-programmer-facilement-des-jeux-2d-ou-3d-en-csharp?coupon=RAYLIB2024T Et si tu passes ta commande avant ce soir minuit, tu recevras une master class gratuite. Je crois que le succès de cette formation révèle un besoin profond : Celui de revenir à des choses simples. À l'autonomie. Mais aussi à un besoin de puissance. Jusqu'à peu, il était compliqué de concilier simplicité et puissance pour programmer des jeux vidéo. Les programmeurs s'embarquaient dans des galères. Le langage C# associé à la librairie Raylib, c'est vraiment une révolution. Une seule commande pour paramétrer un projet C# et commencer à programmer un jeu. Le programme minimum d'un projet de jeu ne fait que 20 lignes de code. On peut afficher et manipuler des images et des modèles 3D en 2 lignes de code, et créer rapidement des scènes incroyables. On a accès à une super librairie de fonctions pour tous les besoins courants d'un programmeur de jeux vidéo. On bénéficie des performances impressionnantes du C#, qui tourne à plein régime, sans la lourdeur d'un moteur. On me demandait hier les avantages du langage C# par rapport au C++. Ces 2 langages ne sont pas comparables. Le C# est un langage accessible, moderne et polyvalent. Le C# offre une syntaxe simple et lisible. C'est vraiment facile à utiliser. Le C# gère automatiquement la mémoire. Pas de prise de tête, on n'a pas besoin de savoir combien d'octets mesure une variable. Rien à configurer pour intégrer une librairie. Une commande ou un clic et voilà. Pas d'includes de l'enfer. On ajoute un fichier et il est intégré au projet. Le C# dispose du framework Dotnet qui nous déroule une autoroute pour gérer listes, vecteurs, dictionnaires, les maths, les fichiers, le JSON, etc. C'est le langage moderne par excellence avec une communauté énorme et un écosystème communautaire super actif. Et que dire de sa puissance ? Le C# se rapproche du C++ par ses performances. Voilà comment ça marche : Le code source en C# est d'abord compilé en un code intermédiaire. Puis lorsque le programme C# est exécuté, ce code intermédiaire est compilé en code machine. Directement pendant son exécution donc ! Résultat : Un code hyper performant car en langage machine tout en étant multi plateforme (puisqu'il est compilé sur place, pas chez le programmeur !). C'est du génie. Couplé à la librairie Raylib pour le C# c'est un duo incroyable pour coder des jeux. Raylib est conçu pour être facile à apprendre et à utiliser, avec une API simple et intuitive, idéale pour les débutants. Raylib ne nécessite aucune dépendance et aucune configuration à part taper une ligne de commande pour l'ajouter. Raylib inclut des fonctionnalités 3D natives, permettant de manipuler des modèles 3D, une caméra, etc. sans bibliothèques supplémentaires. Raylib fournit de nombreuses fonctionnalités intégrées pour le développement de jeux : textures 2D, modèles 3D, primitives 2D ou 3D, audio, texte, contrôles, collisions, etc. Raylib bénéficie d'une communauté active et d'un support solide, avec des mises à jour régulières et une forte présence sur GitHub. Raylib est hautement portable et Raylib-Cs fonctionne sur Windows, Mac et Linux. Choisir ma formation C# et Raylib pourrait t'apporter, à terme, ce dont tu avais besoin pour créer des jeux 2D ou 3D facilement, avec des performances inégalées. Je veux qu'elle soit accessible à toutes et tous, alors elle est en promo pour son lancement. Tu peux l'avoir à seulement 59,40 € au lieu de 198.00 € et tu peux payer en 2 fois si tu le souhaites. Clique ici pour faire valoir ton droit : https://school.gamecodeur.fr/la-revolution-raylib-programmer-facilement-des-jeux-2d-ou-3d-en-csharp?coupon=RAYLIB2024T

Merci. 80 inscriptions en moins de 24h. Vous êtes motivés de fou.
Merci. 80 inscriptions en moins de 24h. Vous êtes motivés de fou.

La réception de cette formation est incroyable. Merci !
La réception de cette formation est incroyable. Merci !

Note : la formation arrive aussi sur l'espace Premium/Club.

Je te l'avais promis. Depuis deux mois, je travaille sur une grande formation pour te former à la programmation de jeux en C# pur code. En 2D et en 3D. Que tu sois programmeur débutant ou avancé, tu vas pouvoir poser la première pierre de ton futur jeu en C#, sans aucun moteur surdimensionné. La formation s'appelle "La révolution Raylib". Et tu peux la découvrir maintenant en cliquant ici : https://school.gamecodeur.fr/la-revolution-raylib-programmer-facilement-des-jeux-2d-ou-3d-en-csharp?coupon=RAYLIB2024T 👉 Derrière ce lien : - Une formation complète et de nombreux bonus pour faire de toi un expert en programmation de jeux C# en pur code avec la révolutionnaire librairie Raylib 5.0. En 2D et en 3D. - Un atelier vidéo de plus de 4 heures : Je te forme en me filmant en train de programmer. Je t'explique tout ce que je fais, pas à pas. Je te donne de nombreux conseils pour programmer comme un pro. - Le code source de chaque projet est livré avec la formation. 👉 A la fin de cet atelier tu seras capable : - De programmer en C# - D'utiliser la librairie Raylib comme un pro, pour créer des jeux en 2D ou en 3D très facilement - Jamais la programmation de jeux C# en pur code n'aura été aussi accessible ! 🎁 En bonus : - Une formation pour apprendre le C# en 1 journée. - Une formation dédiée à la Programmation Orientée Objet en C# - Une master class pendant laquelle je t'apprends à programmer le jeu SNAKE de A à Z avec Raylib en C# De très nombreux élèves l'attendaient. Près de 200 personnes se sont préinscrites. Si tu en fais partie, je te conseille d'être rapide. Il y a un cadeau pour les premiers inscrits… Et une grosse réduction pendant 3 jours seulement. Tout est là : https://school.gamecodeur.fr/la-revolution-raylib-programmer-facilement-des-jeux-2d-ou-3d-en-csharp?coupon=RAYLIB2024T

Atelier Raylib C#.gif57.69 MB

J'ai programmé plusieurs gros projets mais... J'ai dû choisir entre la complexité du C++ que j'ai utilisé pour Age of Enigma (près de 12000 lignes de code !), ou les limitations de BlitzMax pour Geisha Le Jardin Secret. Cela fait maintenant 20 ans que je rêve de trouver une chaîne d'outils (langage + framework) qui réunisse à la fois la puissance et la précision du C++, l'accessibilité et la productivité du BASIC ou du Lua, et la simplicité de Love2D pour les graphismes, le son et les contrôles. J'ai fini par me dire que cela n'existait pas... Mais en 2013 quelque chose s'est passé ! Ramon Santamaria, un développeur passionné et prof de programmation, a décidé de créer une bibliothèque simple et puissante pour le développement de jeux. Son objectif était de permettre aux développeurs de se concentrer sur la création de contenu plutôt que sur les détails techniques complexes. Dès sa sortie, Raylib a attiré l'attention grâce à sa simplicité et à sa flexibilité. En quelques lignes de code, les développeurs pouvaient créer des fenêtres, dessiner des formes, et manipuler des textures. Cette facilité d'utilisation a rapidement fait de Raylib un choix populaire parmi les amateurs de développement de jeux et les professionnels. En 2023, la grogne contre les politiques de licence d'Unity a propulsé Raylib en tête d'affiche sur Github. Les développeurs cherchaient une alternative plus légère et plus transparente, et Raylib a répondu à cet appel avec brio. Sa communauté a explosé, et les contributions ont afflué, rendant la bibliothèque encore plus robuste et polyvalente. En plus, cette année là, comme une prophétie, la version 5.0 de Raylib est arrivée. Elle proposait des améliorations significatives, notamment une meilleure performance grâce à des optimisations de bas niveau, des nouvelles fonctionnalités incluant une API plus intuitive facilitant la prise en main pour les développeurs de tous niveaux. Mais surtout : le support de SDL2 comme backend, lui ouvrant potentiellement la porte de toutes les plateformes. Désormais Raylib était devenue un librairie de jeux vidéo mature, accessible et parmi les plus complète du marché. Grâce à ces évolutions, Raylib est devenu un choix incontournable pour les développeurs de jeux indépendants et les studios cherchant une solution agile et efficace. La version 5.0 a consolidé Raylib non seulement comme une alternative viable à Unity, mais aussi comme une plateforme de développement de jeux à part entière, capable de rivaliser avec les outils les plus sophistiqués du marché. J’ai bossé pendant plusieurs semaines sur une toute nouvelle formation consacrée à Raylib… J’ai créé un grand atelier pour t'apprendre à programmer des jeux vidéo en C#, sans moteur, avec une librairie révolutionnaire. Non seulement tu vas pouvoir te former au C# mais aussi apprendre tous les concepts dont tu auras besoin pour créer des jeux en 2D... et en 3D ! Pour toi aussi apprendre à programmer des jeux en C# sans moteur, comme un pro ! Pour découvrir tout ça… Ne rate en aucun cas l'email que je vais t’envoyer demain matin. Je vais te montrer comment obtenir cette formation et les bonus qui l'accompagnent, pour un tarif de lancement exceptionnel et accessible. Attention : tu n’auras que 3 jours pour y accéder. Alors n’oublie pas d’ouvrir l'email demain à partir de 9h. À demain.

J'ai reçu ce message : "Je voudrais savoir si tu devais réapprendre tout, utiliserais-tu Lua et LÖVE ? Et surtout, comment extraire les idées de jeux et les coder ? Je m'explique : disons que je veux recréer Final Fantasy 1. Ok, je sais afficher une map, un personnage, etc. Mais comment créer le système de combat ? Quelle est ta réflexion ? Ce point m'empêche vraiment d'avancer, du coup je n'ose rien faire et je me dis que je suis trop bête pour réussir sûrement..." Signé je sais pas qui... Pensez à signer au moins d'un prénom... Pour la 1ère question, j'ai déjà abordé cela indirectement depuis quelques semaines : Je partirai sur du pur code, codé de manière à être agnostique du framework. Du C# avec Raylib ou Monogame + une couche d'abstraction, comme je le fais pour mon dernier projet. Pour la 2ème question plus compliquée... "Quelle est ta réflexion ?" C'est un gros problème auquel je ne peux pas répondre. Ce serait faire croire qu'il y a une recette pour tout. La réalité c'est que le seul moyen d'acquérir un capacité à réfléchir C'EST DE BOUFFER DES MILLIERS DE LIGNE DE CODE. Désolé d'être direct, mais il n'y a aucune recette pour apprendre à réfléchir. Cela vient uniquement avec la pratique. "Comment créer le système de combat ?" En le codant... Tu prends ton éditeur de code et tu tapes du code, une ligne à la fois. Il faut voir ton jeu comme des pièces de Lego et il faut se lancer dans le code sans trop réfléchir. Le "comment" au départ n'est pas si important. Vu que tu vas recommencer plusieurs fois jusqu'à le trouver. Voilà une recette : Coder. Coder. Rater. Merder. Recommencer. Pendant des jours. Des semaines. Des mois. Je ne suis pas là pour vous rendre du rêve. Je suis là pour vous apprendre à programmer. Et pour la réflexion, le raisonnement, je suis là pour vous rappeler qu'on est pas sur TikTok. Cela prend des mois et beaucoup de passion et de travail. Je suis là pour vous rappeler que c'est dur. Que c'est long. Voyez ça comme un jeu : codez pour "voir ce que ça donne" et si c'est pas bon, vous n'avez tué personne. Vous avez juste à réessayer. Dernier point qui fait mal : Ce point m'empêche vraiment d'avancer, du coup je n'ose rien faire et je me dis que je suis trop bête pour réussir sûrement... Ne rien faire, ben c'est l'échec à 100%. Au contraire tu as quelques chances de réussir en essayant. Et tu as zéro chance en ne faisant rien. Et si tu n'as aucune idée de comment commencer, c'est peut être que tu manques de pratique et que tu es trop impatient. Ton projet est sûrement trop ambitieux. Coder Final Fantazy a demandé une équipe, et des milliers d'heures de programmation... Toi tu es seul. Se lancer dans un projet impossible est un excellent moyen d'échouer. Commence par coder des "bouts" d'un FF. Ton système de combat, vois-le comme un jeu dans le jeu. Et tu peux même découper ton système de combats en plusieurs morceaux. Pour manger un éléphant entier, il faut y aller une bouchée à la fois », dit le proverbe. Courage. Bon code et reste libre !

Voici la définition d'un artisan : Artisan (nom) : Personne qui pratique un métier manuel selon des normes traditionnelles. On peut citer le boulanger, le menuisier, le cuisinier... A l'opposé d'autres utilisent des machines, de la chimie ou du surgelé. Est-ce qu'on peut comparer leur produit ? Pas toujours. Ils créent également, leur résultat est équivalent, parfois supérieur, parfois médiocre. Ce qu'on peut comparer c'est leur démarche. L'artisan aime tout autant le processus de fabrication que le produit fini. Il aime utiliser des matériaux simples, souvent naturels. Il aime les procédés traditionnels. Et il pense, à tort ou à raison, là n'est pas le débat, que son produit est plus noble. Il y a mis de l'amour, du labeur. Je fais partie des gens qui pensent qu'un programmeur de jeu vidéo est un artisan. A l'instar de Marc qui a répondu à ma lettre d'hier. J'y donnais des conseils pour démarrer une journée quand on est programmeur de jeu vidéo, en fonction de son niveau. Voici son témoignage : Comme la fin de ce mail me suggère de répondre, j'y vais: cette semaine, je continue mon projet de jeu de tennis arcade vu d'en haut comme ce bon vieux tennis ace sur sega master system. Plus précisément, je travaille sur un éditeur qui convertit mon squelette 3D en une série de sprites. J'ai placé des couleurs basiques dans ce squelette afin de, via un shader, séparer les éléments pour générer différents masques. Ainsi, je pourrai colorer les différentes parties du corps de mon sprite (peau, t-shirt, cheveux etc...) par programmation et ainsi générer procéduralement mes joueurs. Comme je fais tout en pur code avec monogame, pas le choix, les outils je dois les faire moi-même :-) Il a même accompagné son message d'une image : Créer ses propres outils... Si vous n'avez jamais vécu cette expérience, je vous souhaite vivement de la vivre un jour. J'ai des souvenirs émus lorsque j'ai créé l'éditeur de niveaux de mon 1er jeu commercial (Geisha The Secret Garden). D'autres souvenirs amusés quand nous avons dû créer un outil pour extraire les caractères utilisés dans nos dialogues traduits en Japonais de mon jeu Age of Enigma, afin de réduire la taille de la police de caractères qui sinon pesait plusieurs dizaines de mégas ! Quand on créé ses outils, on se sent artisan. Et l'artisan est heureux... Bon code et reste libre !

Le cours d'initiation au mode 3D de Raylib va être fun :)
Le cours d'initiation au mode 3D de Raylib va être fun :)

Si tu as déjà un projet avancé, prend le temps de te replonger dans le code au lieu de te lancer tête baissée, l'envie de coder va te venir au bout d'un moment. C'est parti ? Tu bosses sur quoi cette semaine ? (tu peux répondre à cet email je lis toutes les réponses) Bon code et reste libre !