Comment programmer un moteur de 3D Isométrique en 50 lignes de code

แชร์
ฝัง
  • เผยแพร่เมื่อ 8 พ.ย. 2024
  • 🕹️ Mon école de jeux vidéo en ligne : school.gamecodeur.fr
    Un mini moteur de 3D Isométrique en 50 lignes codé en Love2D.
    Le lien de la page en anglais qui m'a inspiré pour mon code :
    clintbellanger....
    Crédit musique : / 06-black-love

ความคิดเห็น • 31

  • @kobunix
    @kobunix 6 ปีที่แล้ว +5

    Je tombe par hasard sur ce tuto en 2018, Merci c'est très intéréssant.

  • @SPOOKYAnimations
    @SPOOKYAnimations 9 ปีที่แล้ว

    Ca tombe à pic je voulais me lancer dans de la progrmmation et mon premier projet était de l'isometrique alors merci beaucoup Bonne continuation

    • @SPOOKYAnimations
      @SPOOKYAnimations 9 ปีที่แล้ว

      +SPOOKY Animations (le niveau du jeu en isometrie: twitter.com/SPOOKY_NETWORK/status/670682527896571904

  • @zenden791
    @zenden791 5 ปีที่แล้ว

    L'avantage du LUA c'est qu'il a l'air facilement transfèrable vers un autre langage ( C# en tous cas ).
    Je suis sur Unity mais en tous cas grâce à toi j'ai appris l'existence de string.sub. Merci !!

  • @sebastiendetogni9374
    @sebastiendetogni9374 2 ปีที่แล้ว

    Cette vidéo démystifie le mystère de la 3D isométrique. Bref et clair. Merci.

  • @assanediouf2782
    @assanediouf2782 8 ปีที่แล้ว

    Merci pour la vidéo, j'ai pu créer mon propre moteur

  • @oliviamartens5761
    @oliviamartens5761 5 ปีที่แล้ว +1

    Et j'ai une autre question également : vous saurez expliquer comment faire un "second niveau"? Style avec des escaliers, vous voyez ? Ou si vous avez des liens... Merci !

    • @back2thecode914
      @back2thecode914 5 ปีที่แล้ว +1

      Tu peux suivre les ateliers gratuits sur www.gamecodeur.fr pour te permettre d'apprendre les bases qui te permettront de programmer ce que tu imagineras.

    • @adrienreynaud9668
      @adrienreynaud9668 5 ปีที่แล้ว +1

      Il suffit de créer une autre table (_MapSol2 par exemple) et de faire la même méthode mais en changeant l'ordonnée de la première tile. Il faut aussi prendre soin de commencer à afficher la couche la plus basse dans la fonction love.draw() :) pas besoin de s'inscrire nul part ;)

  • @Jojocity10
    @Jojocity10 9 ปีที่แล้ว

    Bien sympa ce petit tuto ^^

  • @lili382011
    @lili382011 5 ปีที่แล้ว +1

    Merci pour cette vidéo , une petite question , avec love2D peux t'on coder un jeux type rétro type space invaders ou Defender de Williams ?

    • @back2thecode914
      @back2thecode914 5 ปีที่แล้ว

      Oui bien sûr, je t'invite à regarder les réalisations des élèves de GameCodeur lors des GameJam, et tu pourras voir des tas de styles de jeu : www.gamecodeur.fr/gamecodeur-game-jam/

  • @kierangdfrd5623
    @kierangdfrd5623 6 ปีที่แล้ว +2

    je n'arrive pas a lancer le programme, il ne trouve pas les image dans mon pc comment le programme peut les trouver ??

    • @gamecodeur
      @gamecodeur  6 ปีที่แล้ว

      Tu peux suivre mes tutos gratuits sur www.gamecodeur.fr

  • @CptAtoom
    @CptAtoom 9 ปีที่แล้ว

    Merci je cherchais un moteur pour prototyper rapidement!

  • @oliviamartens5761
    @oliviamartens5761 5 ปีที่แล้ว

    Bonjour ! Ça a l'air d'être un chouette langage ça, j'essayerai de m'y intéresser davantage. J'avais juste une question : puisque tu fais des tableaux multidimensionnels, tu ne sais pas faire autre chose que des carrés ou rectangles ? Après je suppose qu'il suffit de faire un énorme carré et de mettre des trous pour donner la forme souhaitée ? Merci d'avance !

    • @back2thecode914
      @back2thecode914 5 ปีที่แล้ว +1

      Les tableaux en mémoire servent à se représenter virtuellement une carte. L'aspect carré ou arrondi dépendra des graphismes utilisés. Il faut bien distinguer la description du jeu de sa représentation graphique. Si tu télécharges le jeu que j'ai fait en Lua/LÖve2D "l'ombre de Natacha" (back-to-the-code.itch.io/ombre-de-natacha) il a un tout autre aspect et pourtant j'utilise le même type de tableau pour représenter et parcourir le cheminement du joueur dans l'appartement.

  •  5 ปีที่แล้ว

    J'aurais une question,
    avec lua la 3D est bien développé ou c'est vraiment limité en possibilité?

    • @gamecodeur
      @gamecodeur  5 ปีที่แล้ว

      Love2D ou Lua ? Love2D ce n'est pas pour faire de la 3D et ça ne la gère pas en standard.

    • @gamecodeur
      @gamecodeur  5 ปีที่แล้ว

      La 3D isométrique n'en a que le nom par ailleurs, car c'est de la 2D.

    •  5 ปีที่แล้ว

      @@gamecodeur je ne parle pas de cette bibliothèque mais du langage en lui-même dans les possibilité qu'il propose,
      les bibliothèque qu'il propose.

    • @back2thecode914
      @back2thecode914 5 ปีที่แล้ว

      @ Salut, il est possible de faire de la 3D en utilisant GLSL en complément de LÖve2D. Tu en auras une illustration ici : www.gamecodeur.fr/devlogs/58568/

  • @bluehealth4115
    @bluehealth4115 8 ปีที่แล้ว

    Comment fait on pour ouvrir le jeu et je tombe sur une page avec une tartine et un fond multicolore pour love 2d.

    • @gamecodeur
      @gamecodeur  8 ปีที่แล้ว

      J'ai déjà répondu un peu plus bas. On ne peut pas lancer Love2D comme ça. Suis ma formation gratuite tu sauras faire je montre tout.

    • @amazigh8087
      @amazigh8087 7 ปีที่แล้ว

      en fait tu fais un raccourci sur ton bureau, puis tu mets du code dans ton fichier texte que tu renomme en main.lua puis tu déplace ce fichier vers ton raccourci love2D

  • @the_fnaf0110
    @the_fnaf0110 3 ปีที่แล้ว

    Comment on mets le perssonage ?

  • @hybix77
    @hybix77 3 ปีที่แล้ว

    Comment mètre les personages

    • @gamecodeur
      @gamecodeur  3 ปีที่แล้ว

      www.gamecodeur.fr/parcours-debutant/

  • @TheFox2402
    @TheFox2402 8 ปีที่แล้ว +13

    Bonjour, je vais être honnête, je suis déçu. Le titre de la vidéo c'est "Comment programmer un moteur de 3D Isométrique en 50 lignes de code". Moi dans ma tête "Ouah un moteur simple en 50 lignes?! mais comment est-ce possible? Macro? Magie noire? lib fumée?". Rien de tout ça. Juste quelqu'un qui utilise les fonctions pré-implem d'un langage. En gros vous êtes en train de me dire que faire un double for et une dico c'est un moteur? C'est juste le langage qui fait tout. Rien, et je dis bien rien, ne justifie un titre contenant le mot moteur quand la seule chose présente sur ces 50 lignes est juste un équivalent d'affichage console sur un langage plus conventionnel (eg C, java et autres). Et juste parce que l'affichage est plus complexe (mais géré par le langage) ça en fait un moteur? C'est un moteur de quoi d'ailleurs? Graphique? Je ne vois pas trop comment. De jeu? Il n'y a rien d'implem sauf de quoi afficher un plan et déplacer la caméra (avec encore une fois du pré implem). Cette page de code ressemble presque a une page de C# sous unity ou a une version textuelle d'un blueprint UE4. Je veux bien qu'en 50 lignes de code il soit presque impossible d'avoir des fonctions style SDL sur linux ou DirectX sous win, mais au moins eux peuvent se vanter de faire quelque chose de plus profond que utiliser autre chose. J'espère honnêtement que c'est juste la dessus l'iceberg et que le fond n'est accessible que via vos formations payantes, parce que c'est vraiment pas ouf du tout.
    PS: quand on utilise des fonctions pré-implem, autant les expliquer parce que je suis pas certains que tout le monde soit au courant des perks de la fonction update par exemple, et comme la doc est "illisible" pour reprendre vos mots, je vois pas comment un néophyte pourrait comprendre quoi que ce soit.

    • @gamecodeur
      @gamecodeur  8 ปีที่แล้ว +8

      Salut TheFox2402. Merci pour ton commentaire :-). Sache que cette vidéo date de mes débuts sur TH-cam, j'avais une toute petite communauté (80 abonnés à l'époque je crois), je m'exerçais à faire un peu d'effet d'annonce et je ne m'attendais pas à tant de vues sur cette vidéo depuis (je ne me l'explique toujours pas, sûrement un mot clé qui va bien). J'ai effectivement totalement abusé du terme "moteur", même si personnellement je ne suis pas fan de ces débats sur la terminologie. Mais je peux comprendre que ça soit perçu pour un abus par les initiés (dont je fais partie à la base hein), mais loin de moi l'idée de tromper qui que ce soit. C'est fait, je ne vais pas changer le titre aujourd'hui car j'ai de nombreux retours positifs de vrais débutants qui se servent de ce bout de code. Pour certains (et ils sont donc nombreux) le terme "moteur" passe inaperçu même si c'est juste une boucle d'affichage comme tu le fais remarquer, et beaucoup continuent à me contacter depuis pour me dire que mon code, aussi simpliste soit il, les a débloqués ou les a amusé et qu'ils ont créé quelque chose à partir de là. Cette vidéo fait partie de mon VLOG (70 vidéos depuis) et n'avais pas pour vocation de faire référence dans le monde du moteur low level avec elle :-). Concernant l'iceberg, je n'ai rien à prouver, et je ne suis pas là pour plaire à tout le monde et déballer des concepts complexes pour étaler mon CV et mes connaissances (je vais quand même rendre public mon CV bientôt ça simplifiera les choses). Mon créneau c'est la simplicité et la vulgarisation de la programmation. Je met volontairement un torchon sur la complexité, quitte à choquer. Compte tenu de ton commentaire, tu es un programmeur avancé et initié, je n'ai donc rien à t'apporter je pense. Désolé si ma vidéo t'a semblé une arnaque, c'est très loin de mon intention... Encore merci pour ton com et à bientôt.

    • @Cheriende
      @Cheriende 8 ปีที่แล้ว +2

      shot fired