Bienvenue, Invité. Merci de vous connecter ou de vous inscrire.
Avez-vous perdu votre e-mail d'activation ?

Auteur Sujet: Moteur de jeu SFML pour Web (HTML 5 - CSS 3), Android et PC  (Lu 1559 fois)

0 Membres et 1 Invité sur ce sujet

IsDaouda

  • Jr. Member
  • **
  • Messages: 51
    • Voir le profil
    • E-mail
Moteur de jeu SFML pour Web (HTML 5 - CSS 3), Android et PC
« le: Novembre 29, 2019, 01:07:10 pm »

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.
Game Engine Github

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
Level Editor Github

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. Allons-y !
  • 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.



Image de la Démo



Maintenant c'est à vous de jouer !

Tout commentaire est le bienvenu.
« Modifié: Octobre 07, 2020, 08:36:54 pm par IsDaouda »

IsDaouda

  • Jr. Member
  • **
  • Messages: 51
    • Voir le profil
    • E-mail
Re: Moteur de Jeux SFML Android
« Réponse #1 le: Décembre 07, 2019, 04:29:17 pm »
Salut tout le monde,
Une mise à jour a été apportée au projet.
- Ajout du fichier project_cache.zip qui contient les caches du projet, ceci vous permet de compiler facilement le projet.

Le contenu du fichier zip est invisible parce que se sont des dossiers caches. Télécharger le fichier et dezipper le contenu et ils seront visible.
« Modifié: Décembre 07, 2019, 04:37:23 pm par IsDaouda »

IsDaouda

  • Jr. Member
  • **
  • Messages: 51
    • Voir le profil
    • E-mail
Re: Moteur de Jeux SFML Android
« Réponse #2 le: Janvier 10, 2020, 06:45:11 pm »
Salut,
Nouvelle mise à jour pour le moteur is::Engine (Version Android) :
- Prise en charge du moteur physique Box 2D

Pour l'utiliser, Vous devez ajouter le repertoire ext_lib/Box2D dans app_modules de votre projet :
https://github.com/Is-Daouda/is-Engine/tree/master/SFML_AndroidStudio-master/app/src/main/cpp/app_modules

Après ajoutez les sources de Box2D grâce à CMakeLists.txt :
https://github.com/Is-Daouda/is-Engine/tree/master/SFML_AndroidStudio-master/app/CMakeLists.txt

Les sources sont déjà inclues dans le CMakeLists.txt de Github
« Modifié: Janvier 10, 2020, 07:13:22 pm par IsDaouda »

IsDaouda

  • Jr. Member
  • **
  • Messages: 51
    • Voir le profil
    • E-mail
Re: Moteur de Jeux SFML Android
« Réponse #3 le: Janvier 12, 2020, 03:30:35 pm »
Salut,
Voici l'exemple qui montre comment utiliser is::Engine et Box 2D pour vos jeux : Lien
« Modifié: Janvier 12, 2020, 03:36:53 pm par IsDaouda »

IsDaouda

  • Jr. Member
  • **
  • Messages: 51
    • Voir le profil
    • E-mail
Re: Moteur de jeu SFML pour Android et PC
« Réponse #4 le: Février 10, 2020, 09:10:07 pm »
Salut à tous,
Vous pouvez maintenant utiliser is::Engine avec Visual Studio Code pour développer vos jeux sur Windows ou Linux.
Lien : https://github.com/Is-Daouda/is-Engine/tree/master/SFML_VSCode

IsDaouda

  • Jr. Member
  • **
  • Messages: 51
    • Voir le profil
    • E-mail
Re: Moteur de jeu SFML pour Android et PC
« Réponse #5 le: Mars 10, 2020, 12:20:22 am »
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).
« Modifié: Mars 10, 2020, 12:27:42 am par IsDaouda »

IsDaouda

  • Jr. Member
  • **
  • Messages: 51
    • Voir le profil
    • E-mail
Re: Moteur de jeu SFML pour Android et PC
« Réponse #6 le: Mars 20, 2020, 05:03:17 pm »
Salut à  tous,
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.

IsDaouda

  • Jr. Member
  • **
  • Messages: 51
    • Voir le profil
    • E-mail
Re: Moteur de jeu SFML pour Android et PC ☆☆☆ Nouvelle Version ☆☆☆
« Réponse #7 le: Avril 07, 2020, 11:56:03 pm »
Salut à tous,
La version 2.0 de is::Engine est 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...

Game Engine Github

Cette fois ci il est accompagné d’un éditeur de niveau.
Level Editor Github
« Modifié: Avril 08, 2020, 12:50:57 am par IsDaouda »

IsDaouda

  • Jr. Member
  • **
  • Messages: 51
    • Voir le profil
    • E-mail
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.
« Modifié: Mai 07, 2020, 09:17:40 pm par IsDaouda »

IsDaouda

  • Jr. Member
  • **
  • Messages: 51
    • Voir le profil
    • E-mail
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).
« Modifié: Juin 17, 2020, 09:36:45 pm par IsDaouda »

IsDaouda

  • Jr. Member
  • **
  • Messages: 51
    • Voir le profil
    • E-mail
Re: Moteur de jeu SFML pour Android et PC ☆☆☆ Nouvelle Version ☆☆☆
« Réponse #10 le: Juillet 07, 2020, 08:49:51 pm »
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!  :)

IsDaouda

  • Jr. Member
  • **
  • Messages: 51
    • Voir le profil
    • E-mail
Re: Moteur de jeu SFML pour Android et PC ☆☆☆ Nouvelle Version ☆☆☆
« Réponse #11 le: Juillet 14, 2020, 08:47:13 pm »
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();
 
« Modifié: Juillet 14, 2020, 08:55:22 pm par IsDaouda »

syapk

  • Newbie
  • *
  • Messages: 5
    • Voir le profil
    • E-mail
Re: Moteur de jeu SFML pour Android et PC ☆☆☆ Nouvelle Version ☆☆☆
« Réponse #12 le: Juillet 22, 2020, 10:37:27 am »
impressionnant !! tu as fait un boulot colossal IsDaouda.
j'aurais  bien étudier ton projet mais je n'ai plus de temps a consacrer, ou alors visionné un petit tuto' youtube ( a bon entendeur ;D )

IsDaouda

  • Jr. Member
  • **
  • Messages: 51
    • Voir le profil
    • E-mail
Re: Moteur de jeu SFML pour Android et PC ☆☆☆ Nouvelle Version ☆☆☆
« Réponse #13 le: Juillet 24, 2020, 06:11:05 pm »
Merci pour le soutien et l'astuce. :)
Bonne journée à vous !  ;D

IsDaouda

  • Jr. Member
  • **
  • Messages: 51
    • Voir le profil
    • E-mail
Re: Moteur de jeu SFML pour Android et PC ☆☆☆ V2.2 Disponible ☆☆☆
« Réponse #14 le: Août 07, 2020, 09:33:15 pm »
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 !  ;)