Gamecodeur - Les coulisses
Open in Telegram
Mes formations et mes meilleurs conseils en avant premiĂšre.
Show more754
Subscribers
No data24 hours
+17 days
+530 days
Posts Archive
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.
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.
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
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
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 !
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 !
