Skip to content

Latest commit

 

History

History
122 lines (67 loc) · 10.6 KB

LISEZMOI.md

File metadata and controls

122 lines (67 loc) · 10.6 KB

Delphi Game Engine

This page in English.

FireMonkey est le framework de composants et librairies multiplateforme fourni avec Delphi. Il permet de développer des logiciels natifs (= compilés) pour Windows, Mac, iOS, Android et Linux à partir d'une seule base de code.

Comme ce framework est basé sur un moteur graphique il est idéal pour développer des jeux vidéo 2D et 3D sans apprendre le fonctionnement d'un moteur de jeux spécialisé (comme par exemple le génial Castle Game Engine qui embarque en plus de nombreux outils (éditeurs de map, sprites, ...) pour les développeurs de jeux en Pascal).

Vous trouverez d'autres moteurs de jeux vidéo en Pascal (Delphi, Lazarus, ...) listés sur Awesome Pascal.

Ce dépôt de code propose des unités et exemples réutilisables dans vos projets de jeux vidéo.

Il est issu d'années de développement de jeux pour le fun et des sessions de codage en direct sur Twitch démarrées en 2021 (et bien avant Twitch).

Vous trouverez des exemples de fonctionnalités classiques sur des jeux vidéos dans Delphi FMX Game Snippets si vous cherchez l'inspiration.

Certain de mes jeux vidéo sont aussi disponibles en open source sur GitHub. Vous les trouverez en sous-modules de ce dépôt.

Depuis juillet 2024, un kit de démarrage de codage de jeux sous forme de projets FireMonkey est disponible. Il s'agit du Gamolf FMX Game Starter Kit. Il utilise Delphi Game Engine pour les routines de base (son, contrôleurs de jeu, interface utilisateur, scores, ...) et vous fournit un modèle de projet Delphi pour créer vos jeux avec de nombreux exemples.

Ce dépôt de code contient un projet développé en langage Pascal Objet sous Delphi. Vous ne savez pas ce qu'est Dephi ni où le télécharger ? Vous en saurez plus sur ce site web.

Présentations et conférences

Code Rage 2018

Learn To Code Summer Camp 2021

DelphiCon 2021

Dev Days of Summer 2024

Twitch

Suivez mes streams de développement de logiciels, jeux vidéo, applications mobiles et sites web sur ma chaîne Twitch ou en rediffusion sur Serial Streameur la plupart du temps en français.

Installation des codes sources

Pour télécharger ce dépôt de code il est recommandé de passer par "git" mais vous pouvez aussi télécharger un ZIP directement depuis son dépôt GitHub.

Ce projet utilise des dépendances sous forme de sous modules. Ils seront absents du fichier ZIP. Vous devrez les télécharger à la main.

Documentation et assistance

Je passe par des commentaires au format XMLDOC dans Delphi pour documenter mes projets. Ils sont reconnus par Help Insight qui propose de l'aide à la saisie en temps réel dans l'éditeur de code.

J'utilise régulièrement l'outil DocInsight pour les saisir et contrôler leur formatage.

L'export de la documentation est fait en HTML par DocInsight ou PasDoc vers le dossier /docs du dépôt. Vous y avez aussi accès en ligne grâce à l'hébergement offert par GitHub Pages.

D'autres informations (tutoriels, articles, vidéos, FAQ, présentations et liens) sont disponibles sur le site web du projet ou le devlog du projet.

Si vous voulez utiliser les fonctionnalités de contrôleur de jeu sur iOS et macOS, pensez à ajouter le framework GameController à vos SDK(s) dans Outils/options/Déploiement/SDK puis mettre à jour leurs fichiers.

Les paquets des composants ne dépendent de rien d'autre que la RTL pour limiter les conflits à l'installation.

Pour les composants TDGEGamepadDetected et TDGEHelpBar vous devrez également activer Skia4Delphi sur votre projet. C'est utilisé par l'unité Olf.RTL.SVGToBitmap.pas de DeveloppeurPascal/librairies pour dessiner les images SVG.

Si vous avez besoin d'explications ou d'aide pour comprendre ou utiliser certaines parties de ce projet dans le vôtre, n'hésitez pas à me contacter. Je pourrai soit vous orienter vers une ressource en ligne, soit vous proposer une assistance sous forme de prestation payante ou gratuite selon les cas. Vous pouvez aussi me faire signe à l'occasion d'une conférence ou pendant une présentation en ligne.

Compatibilité

En tant que MVP Embarcadero je bénéficie dès qu'elles sortent des dernières versions de Delphi et C++ Builder dans RAD Studio. C'est donc dans ces versions que je travaille.

Normalement mes librairies et composants doivent aussi fonctionner au moins sur la version en cours de Delphi Community Edition.

Aucune garantie de compatibilité avec des versions antérieures n'est fournie même si je m'efforce de faire du code propre et ne pas trop utiliser les nouvelles façons d'écrire dedans (type inference, inline var et multilines strings).

Si vous détectez des anomalies sur des versions antérieures n'hésitez pas à les rapporter pour que je teste et tente de corriger ou fournir un contournement.

Licence d'utilisation de ce dépôt de code et de son contenu

Ces codes sources sont distribués sous licence AGPL 3.0 ou ultérieure.

Vous êtes libre d'utiliser le contenu de ce dépôt de code n'importe où à condition :

  • d'en faire mention dans vos projets
  • de diffuser les modifications apportées aux fichiers fournis dans ce projet sous licence AGPL (en y laissant les mentions de copyright d'origine (auteur, lien vers ce dépôt, licence) obligatoirement complétées par les vôtres)
  • de diffuser les codes sources de vos créations sous licence AGPL

Si cette licence ne convient pas à vos besoins (notamment pour un projet commercial) je propose aussi des licences classiques pour les développeurs et les entreprises.

Certains éléments inclus dans ce dépôt peuvent dépendre de droits d'utilisation de tiers (images, sons, ...). Ils ne sont pas réutilisables dans vos projets sauf mention contraire.

Les codes sources de ce dépôt de code comme leur éventuelle version compilée sont fournis en l'état sans garantie d'aucune sorte.

Comment demander une nouvelle fonctionnalité, signaler un bogue ou une faille de sécurité ?

Si vous voulez une réponse du propriétaire de ce dépôt la meilleure façon de procéder pour demander une nouvelle fonctionnalité ou signaler une anomalie est d'aller sur le dépôt de code sur GitHub et d'ouvrir un ticket.

Si vous avez trouvé une faille de sécurité n'en parlez pas en public avant qu'un correctif n'ait été déployé ou soit disponible. Contactez l'auteur du dépôt en privé pour expliquer votre trouvaille.

Vous pouvez aussi cloner ce dépôt de code et participer à ses évolutions en soumettant vos modifications si vous le désirez. Lisez les explications dans le fichier CONTRIBUTING.md.

Soutenez ce projet et son auteur

Si vous trouvez ce dépôt de code utile et voulez le montrer, merci de faire une donation à son auteur. Ca aidera à maintenir ce projet et tous les autres.

Vous pouvez utiliser l'un de ces services :

Vous pouvez acheter une licence d'utilisateur pour mes logiciels et mes jeux vidéo ou une licence de développeur pour mes bibliothèques si vous les utilisez dans vos projets.

Je suis également disponible en tant que prestataire pour vous aider à utiliser ce projet ou d'autres, comme pour vos développements de logiciels, applications mobiles et sites Internet. Contactez-moi pour en discuter.