Partage
  • Partager sur Facebook
  • Partager sur Twitter

Jeu Web + Moteur de jeu SFML pour Web, Android, PC

    9 février 2020 à 0:46:09


    Bonjour / Bonsoir à tous, :)

    Je vous présente is::Engine un moteur de jeu 2D créé avec SFML. Il vous offre des outils (Language Manager, Game Scene, TMXLite, TMXLoader, Box 2D, Config System, Virtual Game Pad pour Android, Swoosh, Admob, Tiny File Dialogs, ...) qui vous permettent de développer facilement vos jeux sur le Web (HTML 5 - CSS 3), PC (Windows, Linux) et Android.

    Lien du moteur : Ici

    Le moteur est accompagné d'un éditeur de niveau qui vous permet de créer vos propres niveaux et de l'intégrer au moteur de jeu
    Lien de l'éditeur de niveau : Ici

    Dans ce post, je vais vous montrer comment l'utiliser pour développer sur Android:
    Il est nécessaire de connaître les bases de SFML et POO en C ++ avant de pouvoir utiliser ce moteur.
    Ce didacticiel est destiné aux utilisateurs de Windows. On y va !

    • Téléchargez Android Studio 3.x (version recommandée 3.1.3)
    • Téléchargez Android SDK et installez-le dans C:/Android/SDK
    • Téléchargez Android NDK android-ndk-r20b-windows-x86_64 : Ici
    Et créez un dossier sur votre disque comme suit C:/Android/NDK puis extrayez le contenu du zip dans ce dossier.

    • Définissez la variable d'environnement ANDROID_NDK avec le chemin C:/Android/NDK
    • Téléchargez cette version de SFML déjà compilée pour Android NDK : Ici
    Et extrayez-le dans C:/Android/NDK/sources/sfml

    • Téléchargez maintenant le moteur: Ici
    Déplacez le projet is-Engine dans C:/ (C:/is-Engine)
    Ouvrez le dossier is-Engine avec Android Studio et démarrez la compilation.

    Si tout se passe bien, vous aurez un Ecran Hello World sur votre émulateur Android.


    Jeu Web


    Lien du jeu : Ici

    Maintenant c'est à vous de jouer !

    Tout commentaire est le bienvenu.  :)

    -
    Edité par Is Daouda 8 novembre 2020 à 18:53:59

    • Partager sur Facebook
    • Partager sur Twitter
      9 février 2020 à 14:43:33 - Message modéré pour le motif suivant : Message complètement hors sujet


        10 février 2020 à 20:58:06

        Salut à tous,
        Vous pouvez maintenant utiliser is::Engine avec Visual Studio Code pour développer vos jeux sur Windows ou Linux.
        Disponible sur GitHub : SFML_VSCode

        -
        Edité par Is Daouda 10 février 2020 à 21:05:56

        • Partager sur Facebook
        • Partager sur Twitter
          10 mars 2020 à 0:25:27

          Salut à tous,
          Nouvelle mise à jour pour is::Engine.

          - Ajout de la fonction basicSFMLMain() implémenter dans core/basicSFMLMain.cpp et utilisable dans le main.cpp.

          Cette fonction lance une fenetre SFML sans passer par le rendu principal du moteur. Elle vous permet d'utiliser votre propre boucle de rendu avec le moteur.

          Ceci a pour but de permettre aux débutants d'utiliser facilement le moteur et de permettre à d'autres personnes d'utiliser le moteur pour exporter des projets existants sur d'autres OS (Android, Linux, Windows).

          -
          Edité par Is Daouda 10 mars 2020 à 0:26:34

          • Partager sur Facebook
          • Partager sur Twitter
            20 mars 2020 à 17:09:50

            Salut tout le monde,

            Vous pouvez télécharger le projet complet (déjà compilé) pour Android Studio ici.
            Utile lorsque vous rencontrez des soucis de compilation ou si vous désirez ne plus recompiler le projet.
            • Partager sur Facebook
            • Partager sur Twitter
              8 avril 2020 à 0:45:35

              Salut à tous,

              La version 2.0 de is::Engine est enfin disponible.

              Cette version apporte beaucoup de nouveautés comme :

              • intégration de la bibliothèque SWOOSH
              • Game Pad Virtuel (avec 6 touches) pour Android (avec Configuration)
              • Intégration de Tiny File Dialogs
              • Gestionnaire de langue
              • Affichage de PUB de type vidéo récompense pour Android
              • Redesign complet de la structure du moteur

              Et plein d’autres choses..

              Lien du moteur : https://github.com/Is-Daouda/is-Engine/tree/2.0.x

              Cette fois ci il est accompagné d’un éditeur de niveauhttps://github.com/Is-Daouda/is-Level-Editor

              -
              Edité par Is Daouda 8 avril 2020 à 0:47:45

              • Partager sur Facebook
              • Partager sur Twitter
                7 mai 2020 à 21:25:11

                Salut à tous,

                Le guide d'utilisation de is::Engine est disponible ici
                Dans le guide il y a une partie qui vous montre comment utiliser le moteur pour développer un jeu.

                -
                Edité par Is Daouda 7 mai 2020 à 21:26:40

                • Partager sur Facebook
                • Partager sur Twitter
                  17 juin 2020 à 21:35:39

                  Salut,
                  Une nouvelle mise à jour de is::Engine v2.0 est disponible.
                  Vous pouvez maintenant définir le FPS et les styles de la fenêtre dans le fichier configuration du projet (GameConfig.h).
                  • Partager sur Facebook
                  • Partager sur Twitter
                    22 juin 2020 à 14:18:17

                    Merci à vous et bonne journée ! :)
                    • Partager sur Facebook
                    • Partager sur Twitter
                      7 juillet 2020 à 21:19:46

                      Salut à tous,
                      is::Engine 2.1 est disponible et apporte beaucoup de nouveautés :
                      - Support des outils de développement récent : C++17, SFML 2.5.1, Android NDK 20

                      - Le système SDM (Step and Draw Manager) : vous permet de mettre à jour et d'afficher automatiquement les objets d'une scène (ex : un Niveau).
                      Tout ce que vous avez besoin de faire est de créer une Classe qui hérite de MainObject (la classe de base du moteur), en suite d'implémenter la méthode step() (update) et draw() (celle-ci est optionnel car is::Engine le fait pour vous), ensuite ajouter l'objet dans la liste des objets SDM à gérer et voilà !

                      Le SDM vous permet aussi de gérer la profondeur d'affichage de chaque objet (très utile pour faire des effets 3D dans un jeu 2D).

                      Notez que vous avez le choix de décider du moment où le SDM va mettre à jour ou afficher automatiquement les objets.

                      Avec le SDM le code source de votre jeu est mieux structuré!

                      - Le système GSM (Game Sound Manager) : vous permet de jouer un son ou une musique sans initialiser d'instance sf::Sound, sf::Buffer et sf::Music.

                      - Le SDM et le GSM ont été utilisés dans l'exemple qui accompagne la version 2.1 du moteur.
                      Le SDM a été utilisé pour gérer les objets de la classe GameLevel, et le GSM dans toutes les parties du moteur.
                      Veuillez consulter l'exemple pour voir comment ces deux (2) systèmes fonctionnent.

                      Créer des jeux avec is::Engine n'a jamais été aussi Fun!  :D

                      -
                      Edité par Is Daouda 7 juillet 2020 à 21:26:12

                      • Partager sur Facebook
                      • Partager sur Twitter
                        14 juillet 2020 à 21:02:13

                        Salut à tous,
                        - is::Engine pour CMake est disponible ici.
                        Cette fois ci il y a une surprise qui vous attend dans la Démo!
                        - le SDM permet maintenant de donner des noms (Oui des vrais noms ^^) à vos objets afin de pouvoir mieux les contrôler.

                        Voici un exemple de code qui fait sauter le joueur :
                        // On ajoute l'objet player
                        SDMaddSceneObject(std::shared_ptr<Player>(new Player()), true, true, "Player One");
                        
                        // Utiliser l'objet player
                        if (auto player = SDMgetObject("Player One"); player != nullptr) player.jump();
                        • Partager sur Facebook
                        • Partager sur Twitter
                          7 août 2020 à 22:05:43

                          Salut, :)
                          is::Engine 2.2 est disponible! Nouvelles fonctionnalités :

                          Maintenant le SDM permet de gérer entièrement une fenêtre SFML c-à-d il gère automatiquement :
                          - Les évènements de fermeture, focus et clavier / toucher (sur Android)
                          - La mise à jour et affichage des Sprites SFML
                          - L'affichage d'un dialogue de confirmation quand on essaie de fermer l'application avec la touche CANCEL (Touche paramétrable dans GameConfig.h)

                          Notez que vous pouvez changer la façon dont is::Engine gère les évènements et les réponses (YES, OK, NO) de la boite de dialogue, en surchargeant tout simplement les méthodes SDMmanageSceneEvents() et SDMmanageSceneMsgAnswers().

                          Un système de Background qui permet de créer facilement des arrières plan dans une scène.

                          Amélioration du moteur de collision basique :
                          - Ajout du masque de collision Cercle
                          - Possibilité de dessiner (dans une scène) les masques de collision de chaque objets (le moteur détermine automatiquement le type de masque utilisé)

                          Le but du moteur de collision basique n'est pas de remplacé Box 2D mais de vous permettre de faire facilement des tests de collision simple. Croyez-moi on peut faire beaucoup de choses avec les collisions Basiques (Rectangle et Cercle) la preuve le premier jeu du moteur I Can Transform a été créé uniquement avec des masques de collision Rectangle.

                          Le guide d'utilisateur est disponible maintenant en version Web (HTML).

                          Amélioration de l'Editeur de Niveau



                          Le projet Démo qui est sur Git hub a été remplacé par un projet Hello world à la sauce is::Engine afin de vous permettre de démarrer rapidement avec le moteur.

                          En moins de 50 lignes de code la scène du projet Hello World fait ces choses :
                          - Charge les ressources (musique, texture, police)
                          - Gère les événements de la fenêtre SFML (focus, fermeture, touche)
                          - Affiche une boite de confirmation quand on appuie sur ESCAPE (représente la touche Back sur Android)
                          - Définie une couleur de fond pour la scène
                          - Change la langue du jeu (Anglais / français)
                          - Communique avec vous grâce à une boite de dialogue de style RPG
                          - Affiche automatiquement un Sprite SFML
                          - Affiche automatiquement un background qui remplit la scène et qui se défile verticalement et horizontalement (avec une vitesse)
                          - Met à jour et dessine un objet qui s'anime (Bien sur une Classe a été créée pour cet objet ^^)
                          - Joue une bonne musique
                          Vous pouvez jeter un coup d'œil au projet afin de le constater vous même !

                          Le but de is::Engine est de vous permettre de créer tout ce que vous voulez facilement et simplement ! ;)

                          -
                          Edité par Is Daouda 7 août 2020 à 22:09:50

                          • Partager sur Facebook
                          • Partager sur Twitter
                            7 septembre 2020 à 21:03:14

                            Salut à tous, j’espère que vous allez bien ! :)
                            is::Engine 3.0 est disponible et apporte d’énorme nouveautés :

                            Prise en charge de la bibliothèque TMXLite et TMXLoader : qui vous permet d'utiliser l'éditeur Tiled avec le moteur.
                            La version Officiel supportée est TMXLite mais vous pouvez utiliser une autre version du moteur avec TMXLoader.


                            Moteur multiplateforme : Vous pouvez maintenant utiliser un seul et même projet pour développer sur Android, Windows et Linux (Pour compiler sur les différents OS il suffit de changer l’éditeur).

                            Supporte de plusieurs outils de développement : Vous pouvez utiliser Android Studio, CMake, Visual Studio et Code::Blocks avec le même projet.

                            Un système d’événement pour objet : permet d'utiliser des événements SFML dans les objets (A été utilisé dans l'exemple TMXLoader).

                            Un système de Bouton : Vous permet de créer des boutons personnalisables et de l’utiliser dans vos jeux (A été utilisé dans l'exemple TMXLoader).

                            Optimisation du moteur : Les jeux sont deux (2) fois plus fluide.

                            Cette fois ci la Démo du moteur porte sur jeu emblématique qui a marqué toute une génération et qui fête ces 35 ans cette année : Il s’agit de Super Mario Bros !


                            En bonus quelques petits ajouts ont été apportés à cette version pour le rendre encore plus Fun ! ;)

                            Joyeux anniversaire Super Mario Bros !

                            La vidéo de la démo:

                            -
                            Edité par Is Daouda 7 septembre 2020 à 21:18:39

                            • Partager sur Facebook
                            • Partager sur Twitter
                              7 octobre 2020 à 21:16:00

                              Salut à tous, j’espère que vous vous portez bien ! :)
                              is::Engine 3.1 est disponible, voici les nouveautés :

                              ► Support du web (HTML 5 – CSS 3) : vous pouvez maintenant exécuter vos jeux C/C++ dans un Navigateur Web.


                              Le système GRM (Graphics Resources Manager) : vous permet d’utiliser des Textures et des polices de caractères sans utiliser (instancier) d’objet SFML dans le code.

                              Le système CFF (CMake Files Fusion) : Maintenant tous les fichiers CMakeLists.txt qui permet de compiler vos jeux sur Android, PC et Web sont tous reliés au même fichier d’inclusion (app_src.cmake / isengine.cmake).
                              - Explication :
                              Lorsque vous renseignez un fichier source (.cpp) dans le fichier d’inclusion app_src.cmake ou isengine.cmake, il est automatique détecter dans tous les fichiers CMakeLists.txt qui vous permettent de compiler sur différent plateforme (Web, Windows, Linux & Android).
                              - Notez que :
                              Vous pouvez décider de comment le fichier sera inclut (ex : éviter que les fichiers C++ qui sont destinés uniquement au PC soient prise en charge lors de la compilation sur Android / Web) !

                              Bonne journée ! ;)

                              -
                              Edité par Is Daouda 7 octobre 2020 à 21:17:20

                              • Partager sur Facebook
                              • Partager sur Twitter
                                8 octobre 2020 à 10:31:12

                                Bonjour,

                                Très beau projet, good job ! :)

                                Au niveau du développement sur Android, comment les résolutions d'écran sont gérées ? C'est le moteur qui gère ou l'utilisateur ?

                                • Partager sur Facebook
                                • Partager sur Twitter
                                  9 octobre 2020 à 0:17:08

                                  Bonjour / Bonsoir à vous,

                                  Merci pour le soutient. :)

                                  Sur Android, par défaut c'est le moteur qui gère la résolution.

                                  -
                                  Edité par Is Daouda 9 octobre 2020 à 0:24:22

                                  • Partager sur Facebook
                                  • Partager sur Twitter
                                    27 octobre 2020 à 23:21:52

                                    Salut à tous, j'espère que vous allez tous bien.
                                    La démo web de is::Engine est disponible ici:

                                    -
                                    Edité par Is Daouda 28 octobre 2020 à 2:29:39

                                    • Partager sur Facebook
                                    • Partager sur Twitter
                                      8 novembre 2020 à 19:41:12

                                      Salut tout le monde, j'espère que vous allez bien! :)
                                      Une nouvelle mise à jour de is::Engine est disponible mais cette fois ci elle vient avec un jeu Web qui été créé avec le moteur.
                                      Il s'agit d'une version spéciale (Refonte complète du jeu) du jeu I Can Transform (sortie sur Android) créée pour fêter ces 2 ans.
                                      Le jeu avait été créé avec du SFML sauf le moteur physique que j'avais codé moi même (C’était une vraie partie de plaisir ^^).

                                      Voici les nouveautés de la version 3.1.1:
                                      IS_ENGINE_RENDER : permet d'optimiser vos jeux afin qu'ils puissent tourner sur des vieux ordinateurs. (le mien par exemple ^^).
                                      Game Slider : permet de faire des actions glisser (comme sur les Smartphones) pour manipuler vos menus.
                                      Transition Effect : permet de faire des effets transition de type Fade Out et Fade In.
                                      Amélioration du support Web : beaucoup de bugs ont été corrigés.
                                      Support du Render Texture dans le développement Web.

                                      Lien du moteur: Ici


                                      Voici lien du jeu Web: Ici
                                      (C'est un jeu web donc il est jouable sur PC comme mobile)
                                      Une astuce pour bien démarrer le jeu, notez que l'environnement est votre meilleur allié dans ce jeu.

                                      Voici le trailer:


                                      Le développement du jeu et la mise à jour du moteur ont été effectués au cours de cette semaine
                                      (à mes heures libres bien sûr) donc je n’ai pas eu le temps de créer beaucoup de niveaux. Mais
                                      croyez-moi, il y en assez pour vous amuser pendant un bon bout de temps. :)

                                      Vos questions sont les bienvenues.

                                      Bonne journée :)

                                      -
                                      Edité par Is Daouda 8 novembre 2020 à 20:42:05

                                      • Partager sur Facebook
                                      • Partager sur Twitter

                                      Jeu Web + Moteur de jeu SFML pour Web, Android, PC

                                      × Après avoir cliqué sur "Répondre" vous serez invité à vous connecter pour que votre message soit publié.
                                      • Editeur
                                      • Markdown