Difference between revisions of "Game Distribution (Français)"

(remet un peu les choses à leur place)
(Distribution pour Linux)
Line 158: Line 158:
  
 
ou, si le paquet créé une association de fichier (type MIME <tt style="font-size:1.3em">application/x-love-game</tt>), de (double-)cliquer sur le fichier .love depuis un explorateur de fichier par exemple.
 
ou, si le paquet créé une association de fichier (type MIME <tt style="font-size:1.3em">application/x-love-game</tt>), de (double-)cliquer sur le fichier .love depuis un explorateur de fichier par exemple.
 +
 +
Assurez vous de bien inclure in [[Config Files|fichier <code>conf.lua</code>]] comportant au moins la version de LÖVE utilisée.
 +
<source lang="lua">
 +
function love.conf(t)
 +
    t.version = "11.4"
 +
end
 +
</source>
  
 
Une erreur fréquente est d'utiliser la méthode pour Windows avec les binaires Linux;
 
Une erreur fréquente est d'utiliser la méthode pour Windows avec les binaires Linux;

Revision as of 20:05, 1 May 2022

Une fois votre jeu terminé, vous voudrez sûrement le rendre accessible aux autres. En général vous devriez commencer par créer un fichier .love qui peut être soit directement distribué (ce qui requiert l'installation de LÖVE par les utilisateurs), soit utilisé pour créer des paquets spécifiques a certaines plate-formes.

Voici les manières les plus appropriées de distribuer votre jeu selon la cible (tous utilisent le fichier .love):

Créer un fichier .love

Gardez à l'esprit que certains systèmes d'exploitation utilisent des chemins de fichiers sensibles à la casse. Pour éviter les embrouilles, vérifiez bien que les chemins que vous précisez dans votre code correspondent à ceux de vos dossiers et fichiers.

Pour créer un fichier .love, vous devez créer un fichier .zip du dossier contenant le leu. Veillez à ce que main.lua soit à la racine de l'archive, par ex. si vous avez

   <undossier>/SuperJeu/gfx/character.png
   <undossier>/SuperJeu/main.lua
   <undossier>/SuperJeu/conf.lua

Vous devez vérifier que le zip contient

   gfx/character.png
   main.lua
   conf.lua

et pas le dossier SuperJeu/.

Une fois que vous avez votre fichier .zip, changez l'extension en .love. Voilà!

Si vous utiliser un système de fichier insensible à la casse (c'est à dire Windows), il est envisageable de déplacer le fichier .love à un endroit différent du dossier où est votre jeu, et de le tester de nouveau. Cela devrait mettre en avant tout problème lié à la différence de casse que d'autres utilisateurs pourrait subir lors de l'utilisation de votre jeu. Si il fonctionne dans le même dossier, il y trouvera les fichiers qu'il ne trouve pas dans le fichier .love, vous devez donc le déplacer avant tout test. Un endroit approprié pour le déplacer est un dossier à l'intérieure de votre dossier de jeu, c'est à dire love/MonJeu.love.

Notes spécifiques à certaines plate-formes

Windows

Windows permet la création de fichiers zip sans logiciel externe. Pour des instructions détaillez rendez vous sur http://windows.microsoft.com/fr-fr/windows/compress-uncompress-files-zip-files

Vous pouvez aussi utiliser l'Utilitaire de Distribution (Distribution Utility, en anglais) disponible https://www.love2d.org/forums/viewtopic.php?f=5&t=30259 ici]

Linux / macOS

En supportant que le répertoire actif soit SuperJeu/, vous pouvez créer le fichier .love directement en utilisant la commande

   zip -9 -q -r SuperJeu.love .

Créer un exécutable Windows

Une fois votre jeu compressé dans un .love, vous pouvez créer un exécutable qui lancera directement votre jeu.

Pour ce faire il faut ajouter le fichier .love à la fin du fichier love.exe qui vient avec l'archive .zip officielle de LÖVE. Le fichier en résultant est votre exécutable de jeu.

Une fois que vous avez votre exécutable, vous pouvez compresser avec les autres fichiers DLL de LÖVE dans un .zip et le partager avec le monde.

Note: Certaines personnes n'ont pas de version 64 bit de Windows, donc il est une bonne pratique de soit distribuer une version 32 et une version 64, soit uniquement une version 32 (qui fonctionne aussi sur 64).

Instructions spécifiques à certaines plate-formes

Windows

Pour créer votre exécutable, utilisez la ligne de commande pour lancer

   copy /b love.exe+SuperJeu.love SuperJeu.exe

Note: Il se peut que vous ayez à lancer la ligne de commande en tant qu'administrateur. Pour se faire, allez dans le dossier Windows\System32, clic droit sur cmd.exe puis sélectionnez l'option Exécuter en tant qu'administrateur. Vous devrez taper la commande cd C:\Program Files\LOVE\ (ou autre selon le dossier d'installation de LÖVE) pour revenir dans le dossier de LÖVE et exécuter la commande ci-dessus.

Vous pouvez aussi créer un fichier .bat (par ex. creer_exe_jeu.bat) avec le contenu suivant

   copy /b love.exe+%1 "%~n1.exe"

puis déplacer SuperJeu.love sur le fichier .bat, il créera tout seul SuperJeu.exe, que vous pourrez utiliser pour la distribution.

Cette méthode crée un jeu fusionné.

Pour distribuer votre jeu vous devrez inclure les fichiers DLL venant avec LÖVE (ne mélangez pas les DLL 32 et 64 bits). Sans ces fichiers SuperJeu.exe ne donnera qu'un message d'erreur et se fermera.

Le contenu de l'archive finale devrait ressembler à ceci:

  • SDL2.dll
  • OpenAL32.dll (note: s'appelle tout de même 'OpenAL32.dll' sur 64 bits)
  • SuperGame.exe
  • license.txt (note: l'inclusion de ce fichier est obligatoire dans toute distribution)
  • DevIL.dll
  • love.dll
  • lua51.dll
  • mpg123.dll
  • msvcp110.dll
  • msvcr110.dll

Linux / macOS

Vous pouvez créer l'exécutable Windows depuis Linux ou OS X en utilisant la ligne de commande.

Téléchargez l'archive zip officielle (32 ou 64 bits, pas l'installeur) depuis https://www.love2d.org/. Sous x86 et la majorité des ARM, Les jeux 32 bits peuvent fonctionner sur les systèmes 64 bits mais pas le contraire, donc pour gagner du temps pouvez ne fournir qu'une version 32 bits.

Lancez alors cette commande dans un terminal une fois le contenu extrait

   cat love.exe SuperJeu.love > SuperJeu.exe

pour obtenir l'exécutable SuperJeu.exe.


Créer une application Mac OS X

Une fois votre jeu compressé en .love, vous pouvez le publier pour les utilisateurs de Mac OS X en téléchargeant le zip de LÖVE pour Mac depuis https://www.love2d.org.

Suivez ces instructions:

  1. Téléchargez et décompressez l'archive de LÖVE pour Mac
  2. Renommez love.app en SuperJeu.app
  3. Copiez SuperJeu.love dans SuperJeu.app/Contents/Resources/
  4. Modifiez SuperJeu.app/Contents/Info.plist (détails plus bas)
  5. Zipez le dossier SuperJeu.app et distribuez le

Lors de la modification de SuperJeu.app/Contents/Info.plist veillez à bien changer les valeurs des balises XML suivantes:

  • CFBundleIdentifier
  • CFBundleName

et supprimez la section UTExportedTypeDeclarations pour éviter que Mac OS n'associe tous les fichiers .love avec votre application. Les changements devraient ressembler à ceci:

Info.plist original Info.plist modifié
   ...
   <key>CFBundleIdentifier</key>
   <string>org.love2d.love</string>
   ...
   <key>CFBundleName</key>
   <string>LÖVE</string>
   ...
   <key>NSPrincipalClass</key>
   <string>NSApplication</string>
   <key>UTExportedTypeDeclarations</key>
   <array>
   ...
   </array>
   </dict>
   </plist>
   ...
   <key>CFBundleIdentifier</key>
   <string>com.SuperCompanie.SuperJeu</string>
   ...
   <key>CFBundleName</key>
   <string>SuperJeu</string>
   ...
   <key>NSPrincipalClass</key>
   <string>NSApplication</string>
   </dict>
   </plist>

Distribution pour Linux

Pour Linux, il n'y a pas (encore) de moyen facile de distribuer un jeu LÖVE, à cause de l'infinité de configurations et de versions de logiciels utilisés. La première chose à faire est d'installer LÖVE à l'aide du gestionnaire de paquets de distribution Linux utilisée (apt-get, pacman, emerge, ...), puis de lancer le jeu avec la commande

love SuperJeu.love

ou, si le paquet créé une association de fichier (type MIME application/x-love-game), de (double-)cliquer sur le fichier .love depuis un explorateur de fichier par exemple.

Assurez vous de bien inclure in fichier conf.lua comportant au moins la version de LÖVE utilisée.

function love.conf(t)
    t.version = "11.4"
end

Une erreur fréquente est d'utiliser la méthode pour Windows avec les binaires Linux;

cat /usr/bin/love SuperJeu.love > SuperJeu
chmod a+x ./SuperJeu

Bien que le binaire "SuperJeu" se lancera sur votre machine, ainsi que les distributions similaires avec les mêmes bibliothèques logicielles, il y a de fortes chances qu'il ne fonctionne pas sur une autre distribution, ou même après une mise à jour des paquets dont LÖVE dépend.

Distribution sur le web

Il existe un projet expérimental pour lancer les jeux .love dans un navigateur supportant WebGL (Firefox, Opera, Safari, Chrome... à jour) sans plugins, c.f. le fil de discussion sur le forum (en anglais)

Distribution sur mobile

Il existe un projet expérimental pour lancer des jeux .love de manière native sur Android, c.f. le sous-forum (en anglais)

Autres langues