Avez-vous essayé de vous lancer dans l'apprentissage du C# pour la programmation de jeux vidéo ? Avec ou sans Unity ? Partagez avec moi votre expérience et vos envies concernant la programmation en C#.
L'avantage également de développer from scratch c'est qu'on embarque pas la terre entière dans son projet. Bien souvent on utilise 5% de ce qu'apporte un framework ou une lib et on se trimballe tout le reste malgré les systèmes de tree shacking. Ca fait des programmes qui enflent et pèsent un âne mort. Souvent plus complexes à débug et à optimiser en terme de perf.
Pour l'anecdote j'ai "appris" la prog de jeux vidéo sur unreal engine avec le système blueprint. j'ai quand même réussis à faire un petit jeu multijoueur pvp mais très difficilelement, le moteur est bien mais c'est une usine à gaz, quand tu reviens 6 mois plus tard tu sais plus ou tu en es. Ensuite j'ai décidé d'apprendre le c++ et j'ai découvers raylib. j'ai pris 10 fois plus de plaisir à faire un casse brique en C++ avec raylib que faire mon jeu 3D avec unreal x)
C# non mais C oui, mais j'ai tout de même utilisé SDL 2 (programmer un GPU en assembleur ne me tentait pas trop ;) ), j'ai une petite chaîne consacrée aussi à la réalisation de jeu vidéo en C. Mais le contenu de ta chaîne est super intéressant, je m'abonne et regarde plus en détail...
Comme d'habitude très bonne vidéo et promotion de Raylib, actuellement sur le dev d'un jeu, j'avais commencer avec Godot mais bien déstabilisé sur le fait qu'un élément définis ( création d'un sprite par exemple) ne se retranscrit pas dans le code, mais on peut également tous écrire en code. De quoi être vite perdu. Je regrette juste que ce framework ne soit pas C# natif, mais on peut pas tout avoir :)
Merci pour vos vidéos, je partage tout à fait votre point de vue sur le "pur code". Cela est vrai également pour le développement plus classique (informatique de gestion). Pendant mes temps libres, je fais des petits jeux lors de gamejams (2d ou 3d) avec mes propres routines que j'améliore au fil des gamejams ;) Je les fais en "pur code" dans mon langage de prédilection qui est le Pascal (Delphi). Petite remarque sur le code de la méthode SceneGameplay() que l'on voit sur la vidéo : il y a 2 divisions par 2 pour alimenter GF.X et GF.Y. Une petite optimisation serait de remplacer chacune de ces divisions par une multiplication par 0,5 (voir encore mieux par des décalages d'un bit à droite si seule la partie entière du résultat de la division suffit en terme de précision). On économiserait quelques instructions CPU et donc un peu de perf.
Merci Gregory. Oui je connais pour le *0.5 mais à ce stade, on est à des années lumières d'avoir besoin d'une optim, donc je privilégie le code lisible pour mes élèves qui souvent n'ont pas l'habitude de lire du code :). A très vite et merci pour ton témoignage.
il me semble que Raylib à été justement crée pour l'éducation, pour apprendre à programmer des jeux. Il est super vu qu'il il y énormément de bindings pour plein de langage différents
J'ai testé les 2. Je trouve qu'il n'y a pas une grande différence de complexité au niveau de l'utilisation mais la mise en route d'un projet avec Monogame et son exécution sont beaucoup plus simples. Une fois Monogame installé, Visual studio peut générer un squelette de projet comme n'importe quel projet généré habituellement par Visual studio. Quand on veut le tester on appuie sur F5. Quand on veut le distribuer on distribue le dossier release. On n'est pas obligé de copier sans fin des fichiers ou de retoucher des fichiers batch à l'infini. Je préfère Monogame à l'utilisation.
I à t il une différence entre raylib et sflm ou c est en gros la même chose je veux me mettre au c++ mais j aime bien coder en programmant des mini jeu ça m existe plus que de faire des truc sur une console
J'enseigne à des débutants. Je ne voudrais pas avoir des dépressions sur la conscience. De plus, je hais le C++ moderne qui est une bouse infame pratiquée par des disciples qui me tomberont dessus à la moindre ligne de C++ visible dans une vidéo. Je prévois des ateliers en C par contre, langage qui est resté simple et pratiqué par une communauté plus sympa.
Effectivement Raylib est un framework nativement conçue pour C/C++, un choix du concepteur du framework. Je regrette juste que ce framework ne soit pas natif C# car aujourd'hui le C# est le language le plus populaire dans le dev de jeu.
@@sonicz49120 j'avoue que j'ai un peu de mal à me disperser dans trop de langages.. lua, C, C#, C++, sans compter les langages plus propriétaires... si tu veux faire du jeu 3D, j'ai l'impression quand meme que unreal facilite pas mal de chose. pour le moment je sais pas trop encore vers quoi me tourner... tout ce que je peux dire c'est que j'ai un gros background 3D (20 ans d'xp dans l'industrie) , unreal me semble faciliter quand meme pas mal de choses notamment pour certains bridges (houdini engine), il faudrait aussi que l'usd soit à maturité dans unreal. en 2D, monogame me semble très bien par contre. y a aussi SDL. mais bon j'essais de voir quel solution doit être la plus pertinente pour un jeu 3D.
@@gamecodeur tu pourrais en dire plus sur ce qui te rebute dans le C++ moderne ? aussi pourquoi les gens te tomberait dessus ? après pour l'aspect débutant je peux comprendre.
Terraria est codé avec Monogame. FNA a été utilisé par son créateur au départ pour Linux et MacOS puis il est passé à Monogame. Ils ont également fait une donation à Monogame, voir le communiqué officiel : x.com/MonoGameTeam/status/1724164491363967465
@@gamecodeur Où est-ce que t’as vu que Terraria est codé avec MonoGame ? J’ai toujours vu que Terraria a été codé initialement avec XNA puis FNA par la suite. FNA est une ré-implémentation de XNA avec des APIs 100% identique (ce qui n’est pas le cas de monogame). Effectivement monogame a aussi reçu une donation après Godot et FNA. PS : Je ne peux pas envoyer de liens sinon mes messages se font censurer.
Avez-vous essayé de vous lancer dans l'apprentissage du C# pour la programmation de jeux vidéo ?
Avec ou sans Unity ?
Partagez avec moi votre expérience et vos envies concernant la programmation en C#.
L'avantage également de développer from scratch c'est qu'on embarque pas la terre entière dans son projet. Bien souvent on utilise 5% de ce qu'apporte un framework ou une lib et on se trimballe tout le reste malgré les systèmes de tree shacking. Ca fait des programmes qui enflent et pèsent un âne mort. Souvent plus complexes à débug et à optimiser en terme de perf.
Pour l'anecdote j'ai "appris" la prog de jeux vidéo sur unreal engine avec le système blueprint. j'ai quand même réussis à faire un petit jeu multijoueur pvp mais très difficilelement, le moteur est bien mais c'est une usine à gaz, quand tu reviens 6 mois plus tard tu sais plus ou tu en es. Ensuite j'ai décidé d'apprendre le c++ et j'ai découvers raylib. j'ai pris 10 fois plus de plaisir à faire un casse brique en C++ avec raylib que faire mon jeu 3D avec unreal x)
Le plaisir c'est la base. Mieux vaut être moins productif et prendre du plaisir.
C# non mais C oui, mais j'ai tout de même utilisé SDL 2 (programmer un GPU en assembleur ne me tentait pas trop ;) ), j'ai une petite chaîne consacrée aussi à la réalisation de jeu vidéo en C. Mais le contenu de ta chaîne est super intéressant, je m'abonne et regarde plus en détail...
Comme d'habitude très bonne vidéo et promotion de Raylib, actuellement sur le dev d'un jeu, j'avais commencer avec Godot mais bien déstabilisé sur le fait qu'un élément définis ( création d'un sprite par exemple) ne se retranscrit pas dans le code, mais on peut également tous écrire en code. De quoi être vite perdu.
Je regrette juste que ce framework ne soit pas C# natif, mais on peut pas tout avoir :)
Merci pour vos vidéos, je partage tout à fait votre point de vue sur le "pur code". Cela est vrai également pour le développement plus classique (informatique de gestion).
Pendant mes temps libres, je fais des petits jeux lors de gamejams (2d ou 3d) avec mes propres routines que j'améliore au fil des gamejams ;)
Je les fais en "pur code" dans mon langage de prédilection qui est le Pascal (Delphi).
Petite remarque sur le code de la méthode SceneGameplay() que l'on voit sur la vidéo : il y a 2 divisions par 2 pour alimenter GF.X et GF.Y. Une petite optimisation serait de remplacer chacune de ces divisions par une multiplication par 0,5 (voir encore mieux par des décalages d'un bit à droite si seule la partie entière du résultat de la division suffit en terme de précision). On économiserait quelques instructions CPU et donc un peu de perf.
Merci Gregory. Oui je connais pour le *0.5 mais à ce stade, on est à des années lumières d'avoir besoin d'une optim, donc je privilégie le code lisible pour mes élèves qui souvent n'ont pas l'habitude de lire du code :).
A très vite et merci pour ton témoignage.
Raylib est tellement bien pensé que j'ai même vu un projet en COBOL qui l'utilisait pour créer un jeu !
il me semble que Raylib à été justement crée pour l'éducation, pour apprendre à programmer des jeux. Il est super vu qu'il il y énormément de bindings pour plein de langage différents
Ça donne envie de refaire mon jeu en pur code
J'ai testé les 2. Je trouve qu'il n'y a pas une grande différence de complexité au niveau de l'utilisation mais la mise en route d'un projet avec Monogame et son exécution sont beaucoup plus simples. Une fois Monogame installé, Visual studio peut générer un squelette de projet comme n'importe quel projet généré habituellement par Visual studio. Quand on veut le tester on appuie sur F5. Quand on veut le distribuer on distribue le dossier release. On n'est pas obligé de copier sans fin des fichiers ou de retoucher des fichiers batch à l'infini. Je préfère Monogame à l'utilisation.
I à t il une différence entre raylib et sflm ou c est en gros la même chose je veux me mettre au c++ mais j aime bien coder en programmant des mini jeu ça m existe plus que de faire des truc sur une console
Hello, pourquoi ne pas favoriser le c++ avec raylib ?
J'enseigne à des débutants. Je ne voudrais pas avoir des dépressions sur la conscience.
De plus, je hais le C++ moderne qui est une bouse infame pratiquée par des disciples qui me tomberont dessus à la moindre ligne de C++ visible dans une vidéo.
Je prévois des ateliers en C par contre, langage qui est resté simple et pratiqué par une communauté plus sympa.
Effectivement Raylib est un framework nativement conçue pour C/C++, un choix du concepteur du framework. Je regrette juste que ce framework ne soit pas natif C# car aujourd'hui le C# est le language le plus populaire dans le dev de jeu.
@@sonicz49120 j'avoue que j'ai un peu de mal à me disperser dans trop de langages.. lua, C, C#, C++, sans compter les langages plus propriétaires... si tu veux faire du jeu 3D, j'ai l'impression quand meme que unreal facilite pas mal de chose. pour le moment je sais pas trop encore vers quoi me tourner... tout ce que je peux dire c'est que j'ai un gros background 3D (20 ans d'xp dans l'industrie) , unreal me semble faciliter quand meme pas mal de choses notamment pour certains bridges (houdini engine), il faudrait aussi que l'usd soit à maturité dans unreal. en 2D, monogame me semble très bien par contre. y a aussi SDL. mais bon j'essais de voir quel solution doit être la plus pertinente pour un jeu 3D.
@@gamecodeur tu pourrais en dire plus sur ce qui te rebute dans le C++ moderne ? aussi pourquoi les gens te tomberait dessus ? après pour l'aspect débutant je peux comprendre.
@gamecodeur, ils ont mis un encart avec un extrait plus ton nom sur la dernière vidéo de underscore !!!
Oui on m'a dit :)
A priori c'est automatisé les illustrations, j'ai été sélectionné par un bot :)
C# c est que pour Windows non ?
Contrairement au C et C++.
Y a moyen que je confonde avec un autre truc...
Non c'est cross platform.
@@gamecodeur Autant pour moi.
bonjours
Pas besoin de TF1+ 😂😂
Terraria est développé avec le framework FNA et non MonoGame. Ils ont fait une donation à Godot et à FNA suite au drama de Unity.
Terraria est codé avec Monogame. FNA a été utilisé par son créateur au départ pour Linux et MacOS puis il est passé à Monogame.
Ils ont également fait une donation à Monogame, voir le communiqué officiel :
x.com/MonoGameTeam/status/1724164491363967465
@@gamecodeur Où est-ce que t’as vu que Terraria est codé avec MonoGame ? J’ai toujours vu que Terraria a été codé initialement avec XNA puis FNA par la suite. FNA est une ré-implémentation de XNA avec des APIs 100% identique (ce qui n’est pas le cas de monogame).
Effectivement monogame a aussi reçu une donation après Godot et FNA.
PS : Je ne peux pas envoyer de liens sinon mes messages se font censurer.