+ Répondre à la discussion Actualité déjà publiée
  1. #1
    Responsable Delphi

    Avatar de gvasseur58
    Homme Profil pro
    Cultivateur de code (bio)
    Inscrit en
    février 2013
    Messages
    1 020
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Isère (Rhône Alpes)

    Informations professionnelles :
    Activité : Cultivateur de code (bio)
    Secteur : Enseignement

    Informations forums :
    Inscription : février 2013
    Messages : 1 020
    Points : 11 911
    Points
    11 911
    Billets dans le blog
    33

    Par défaut Delphi Boot Camp, quatre jeux d'arcade pour tester l'App tethering et les capteurs de mouvement

    Nom : 2e1ax_embarcadero_entry_DelphiBootCamp.jpg
Affichages : 2604
Taille : 184,1 Ko

    Présentée par Elie M. de FMXExpress.com, la quatrième journée du Delphi Boot Camp 2016 a été entièrement dédiée à la création de jeux d'arcade classiques. En fait, par-delà les quatre réalisations complètes qui pourront intéresser les nostalgiques, il s'agissait surtout de montrer en quoi Delphi et son framework FireMonkey pouvaient être utilisés là où on les attend sans doute le moins, tout en introduisant un certain nombre de techniques et concepts modernes.

    Le premier jeu proposé, une invasion d'extra-terrestres (Alien Invasion), a été l'occasion d'illustrer la grande polyvalence d'un composant bien plus léger qu'un TImage, à savoir TRectangle, ainsi que la pertinence d'employer TFrame pour réaliser l'interface afin de pouvoir réutiliser des blocs entiers de fonctionnalités. Comme FireMonkey est multiplateforme, le code source a généré aussi bien une application Windows (32 ou 64 bits) qu'une application Apple ou Android .

    Après cette mise en bouche, le deuxième jeu proposé a été un exemple d'atterrissage (?) sur Mars (Mars Rocket). Les deux objectifs de la démonstration étaient d'une part d’intégrer un afficheur des meilleurs scores géré par une base SQLite et LiveBindings, et d'autre part d'accéder au capteur de mouvement d'une tablette ou d'un smartphone.


    Nom : vlcsnap-2016-09-09-09h46m59s885.png
Affichages : 877
Taille : 213,6 Ko

    Suivant la découverte progressive de la richesse de FireMonkey, la démonstration s'est poursuivie par un troisième jeu tout aussi classique de destruction de vaisseaux ennemis lors d'un voyage fictif à bord d'une fusée (Rocket Ship Delta). Ce sont les techniques d'animation qui ont alors prévalu (object pooling et sprite sheet animation).

    Nom : vlcsnap-2016-09-09-09h47m27s381.png
Affichages : 904
Taille : 134,0 Ko

    Le dernier jeu dont l'objectif essentiel est de détruire des météores menaçant un vaisseau (Space Rocks) a servi de support à l'emploi de l'App tethering, c'est-à-dire la capacité à interagir avec d'autres applications se trouvant sur la même machine ou sur une machine distante. Ici, les commandes (gamepad) ont été prises en charge par une machine alors que le jeu était affiché sur une autre. On a donc vu un smartphone sous Android ou un iPad piloter un PC sous Windows, sachant que d'autres combinaisons étaient possibles .


    Nom : 2016-09-08_155555.png
Affichages : 870
Taille : 767,2 Ko


    Si certains ont regretté de ne pas disposer à l'issue de cette formation d'une application 3D qui aurait démontré l'excellence du produit, il faut reconnaître que les exemples étaient malgré tout intéressants, et bien au-delà de la réalisation de jeux. Il n'est d'ailleurs pas certain que Delphi dispose en ce domaine de compléments tiers à la hauteur des attentes du public des développeurs de jeux. La génération d'applications multiplateformes à partir d'une seule base de code est certainement l'atout majeur de cet EDI aujourd'hui et son utilisation dans les applications mobiles le prouve.

    Vous trouverez le code source complet des jeux ici.

    Le film de la formation est accessible ici :


    Que pensez-vous de cette journée de formation ?
    Quel champ d'application reconnaissez-vous à Delphi et à son framework FireMonkey ?
    Accès à mon site et à mon blog. Actualités, cours et ressources Delphi, Lazarus et Pascal.
    Pensez à la balise - Quelqu'un vous a aidé ou vous appréciez une intervention ? Pensez au

  2. #2
    Membre chevronné
    Homme Profil pro
    Développeur informatique
    Inscrit en
    novembre 2007
    Messages
    2 314
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 55
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : novembre 2007
    Messages : 2 314
    Points : 2 122
    Points
    2 122

    Par défaut

    Manquant de temps pour voir ça en semaine, je regarderai le tout ce w-e.

    FMX est une bonne avancée mais le soit-disant code unique pour du multi-os reste encore incomplet. C'est dommage mais gageons que ça va évoluer.

  3. #3
    Expert éminent sénior
    Avatar de ShaiLeTroll
    Homme Profil pro
    Développeur C++\Delphi
    Inscrit en
    juillet 2006
    Messages
    10 821
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 36
    Localisation : France

    Informations professionnelles :
    Activité : Développeur C++\Delphi
    Secteur : High Tech - Électronique et micro-électronique

    Informations forums :
    Inscription : juillet 2006
    Messages : 10 821
    Points : 16 371
    Points
    16 371

    Par défaut

    J'ai pu lancé AlienInvasionStarter
    les autres (MarsRocketStarter, RocketShipDeltaStarter et SpaceRocksStarter ), tous provoques "EReadError - Ancêtre de 'Rectangle2' non trouvé."
    Il faut ouvrir les fenêtres et si Delphi est de bonne humeur c'est à dire ne surtout pas utiliser le groupe de projet * mais ouvrir les projets un par un sans groupe de projet
    il propose le renommage de 'Rectangle2' en 'CenterPiece'/'AsteroidRect' ou 'Rectangle1', j'ai pris l'un des deux au pif

    Une fois avoir corriger chaque projet, ils fonctionnent très bien,
    je jetterais un œil au code, je pourrais comparer avec mes vieux code D5 du même genre mais tout moche (juste des carrés )

    Curieux, j'ai ré-ouvert le groupe de projet,
    et boom, de nouveau Delphi confond les fenêtres qui ont le même nom et le massacre des noms recommence !

    Alors un travail très fun de FMXExpress
    Mais un à Embarcadero qui ne corrige pas des bugs historiques !
    Franchement ce bug du groupe de projet (déjà présent en BCB2007 et DXE2) avec plusieurs projets ayant le même nom de fenêtre plusieurs fois, un classique, qui n'a pas eu la flemme de choisir un nom plus original que MainForm, MainDataModule
    Là ou je travaille, on a fait un refactoring de masse pour tout renommer (DFM, PAS ...) en ProjectName_FormName pour éviter tous les doublons et que Delphi se plante de fichier ressource en DesignTime ce qui nuit à la compilation
    Aide via F1 - FAQ - Guide du développeur Delphi devant un problème - Pensez-y !
    Attention Troll Méchant !
    "Quand un homme a faim, mieux vaut lui apprendre à pêcher que de lui donner un poisson" Confucius
    Mieux vaut se taire et paraître idiot, Que l'ouvrir et de le confirmer !
    L'ignorance n'excuse pas la médiocrité !

    L'expérience, c'est le nom que chacun donne à ses erreurs. (Oscar Wilde)
    Il faut avoir le courage de se tromper et d'apprendre de ses erreurs

  4. #4
    Expert éminent sénior
    Avatar de Paul TOTH
    Homme Profil pro
    Freelance
    Inscrit en
    novembre 2002
    Messages
    6 711
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 47
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Freelance
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : novembre 2002
    Messages : 6 711
    Points : 21 380
    Points
    21 380

    Par défaut

    Bonsoir,

    alors je viens de tester sous Berlin les projets AlienAttack et MarsRocket

    pour éviter les surprises, j'ai ouvert directement "AlienInvasion.dproj" dans la branche "Full"...et ça compile sans erreur sous Windows.
    sous Android (SONY Tablette Z2) ça fonctionne...par contre l'écran est trop grand pour ce jeu, comme on ne peut tirer qu'une roquette à la fois, le temps qu'elle traverse l'écran on s'ennuie

    MarsRocket fait une erreur d'accès au démarrage qui ne plante pas le jeu (c'est le MotionSensor qui retourne cette erreur), et j'ai un écran noir sous Android...ce doit être lié, car en effet dans LoadSettings, GyroEnabled est par défaut actif alors qu'il ne l'est pas dans le premier projet....par contre après avoir enregistrer la modif au rechargement j'ai une erreur étrange...
    Nom : bug.pnh.png
Affichages : 359
Taille : 6,4 Ko

    j'ai récupéré les sources d'origine et je ne parviens pas à reproduire ce bug...par contre, en effet en désactivant le gyro le jeu se lance sous Android...et si j'active le gyro, la fusée part droit dans le décors

    j'ai compilé rapidement les autres projets sans soucis sous Windows

    tient, en faisant un Drag&Drop de AlienInvasion sur Delphi ouvert sur SpaceRocks je retombe sur l'erreur Rectangle1 de Shai...c'est donc bien un problème de confusion entre les différentes unités des différents projets

    on pourra reprocher à FMXExpress de ne pas avoir créé un groupe de projets ni d'avoir partagé ce qui est commun entre ces jeux...d'ailleurs ce sont des jeux très similaires, personnellement j'aurai cherché à extraire la logique du jeu de la partie interface pour avoir une sorte de moteur de jeu réutilisable, et pourquoi pas compatible FMX/VCL avec Graphis32, DirectX ou OpenGL pour la partie UI.

    mais bon soyons positif, c'est bien de publier des petits jeux Delphi, de montrer ce qu'il est possible de faire, on est encore loin de WoW ou même Minecraft, mais c'est sympa
    Developpez.com: Mes articles, forum FlashPascal
    Entreprise: Execute SARL
    Produits : UPnP, RemoteOffice, FlashPascal

Discussions similaires

  1. Réponses: 0
    Dernier message: 08/09/2016, 17h31
  2. Réponses: 1
    Dernier message: 07/09/2016, 13h42
  3. Delphi Boot Camp, la première séance déjà en ligne
    Par gvasseur58 dans le forum Delphi
    Réponses: 0
    Dernier message: 06/09/2016, 08h33
  4. Réponses: 3
    Dernier message: 30/01/2006, 10h52

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo