Installeurs en .exe

Pour discuter des langages que nous utilisons pour réaliser nos jeux : problèmes, solutions, suggestions...

Modérateurs: Stormi, Otto Grimwald

Installeurs en .exe

Messagepar Mule hollandaise le Sam Aoû 30, 2014 11:41 pm

J'y réfléchissais depuis un moment, mais vu que plusieurs nouveaux avaient l'air intéressés par la fiction interactive sur Twitch (et que mes deux derniers jeux passent pas sur Parchment...), j'ai créé des .exe pour mes jeux. Ca veut dire que plus besoin de télécharger un interpréteur, on clique et c'est bon ; apparemment c'était un gros débat il y a quelques années sur intfiction.org, et les gens ont pas l'air d'aimer parce que y'a toute une philosophie derrière l'interpréteur, mais il me semble que c'est le meilleur moyen (avec Parchment) pour que des gens se lancent dans le bain tout de suite.

Si ça vous intéresse, donc : la méthode que j'ai suivie est ici :
  • Créer un dossier spécial
  • Y créer un sous-dossier où vous mettez l'interpréteur
  • Y mettre le jeu, et éventuellement une icône (par exemple, ça)
  • Créer un fichier texte contenant le code suivant (remplacer "curses" par votre jeu et "WindowsFrotz" par le nom du dossier où y'a votre terp) et le mettre dans le même dossier
  • Installer NSIS, le lancer et cliquer sur "compiler un script", puis ouvrez le fichier script, et voilà !
Le script c'est :
Spoiler ! :
; NULLsoft Scriptable Install System
; use this to bundle an interpreter and an IF game
;
; based on:
; "make a REBOL Script executable"
; provided by http://www.digicamsoft.com
; downloaded from http://nsis.sourceforge.net/How_to_turn ... t_into_EXE
;
; crudely adapted for IF purposes by StJohnLimbo

; Name of the installer (don't really care here because of silent below)
Name "Curses"

; Don't want a window, just unpack files and execute
SilentInstall silent

; Set a name for the resulting executable
OutFile "Curses.exe"

; Set an icon (optional)
Icon "IF.ico"

; The stuff to install
Section ""
; Set output path to a temporary directory.
InitPluginsDir
SetOutPath $PLUGINSDIR

; put the required files here
File /r WindowsFrotz ; add the interpreter directory and its contents recursively
File "curses.z5" ; IF game file

; Execute and wait for the session to end
ExecWait '"$PLUGINSDIR\WindowsFrotz\Frotz.exe" "$PLUGINSDIR\curses.z5"'

; Set working directory to something else
; If it's not set, $PLUGINSDIR will not be deleted
SetOutPath $TEMP
SectionEnd


Ca crée un .exe, et quand le joueur le lance ça 'décompresse' tout ça dans le répertoire temporaire et ça le nettoie quand on quitte le jeu. Bref, c'est transparent pour le joueur, pratique :)

Pour linux j'ai rien trouvé, mais il me semble de toute façon que les gens qui sont sur linux seront plus enclins à télécharger un paquet pour ouvrir les fichiers .z5 :wink:
Mule hollandaise
Grand Ancien
 
Messages: 1124
Inscription: Mar Aoû 29, 2006 10:57 pm

Re: Installeurs en .exe

Messagepar Akien le Dim Aoû 31, 2014 9:03 am

Je valide le concept, c'est bien d'avoir une solution "clés en main" pour les nouveaux venus de la fiction interactive.
Tant que tu donnes toujours la possibilité de télécharger le binaire .z5 ou .z8 (voire le code source pour les plus tarés d'entre nous), les puristes peuvent toujours utiliser l'interpréteur de leur choix (il y a eu un peu de travail sur Gargoyle récemment par ailleurs, mais pas de nouvelle release en vue).

Pour les linuxiens j'ai toujours l'idée d'écrire un utilitaire dans le même style que le défunt DJL, mais spécialisé pour les fictions interactives. Un outil qui dans l'absolu n'aurait qu'à se connecter à un site ayant un format de métadonnées connu pour en extraire les noms de jeux, liens de téléchargements, images, etc. et qui laisserait bien sûr choisir son interpréteur préféré, pourvu qu'il soit installé sur le système.

Le jour où je m'y mettrais vraiment, j'essaierai de garder à l'esprit la compatibilité multi-plateformes en utilisant un langage de style Python ou Lua, et une interface en Qt5 :)
Avatar de l’utilisateur
Akien
Grand Ancien
 
Messages: 298
Inscription: Mer Mai 09, 2007 1:31 pm
Localisation: En Allemagne, en France ou au Danemark, ça dépend

Re: Installeurs en .exe

Messagepar Otto Grimwald le Dim Aoû 31, 2014 2:19 pm

je trouve que le plus simple reste de renommer gargoyle.exe en le_nom_du_jeu.exe avec à côté le fichier zcode ou glulx, et quand on clique sur le .exe ça ouvre le jeu qui a le même nom que l'exécutable. Et puis je ne veux pas polémiquer, mais avec la multiplication des OS (android, iOS, mac os x, linux, windows), windows est de moins en moins majoritaire, et parchment me semble une solution élégante pour faire jouer rapidement des joueurs qui n'ont pas envie de s'embêter à installer un interpréteur.

Pour le script sous Linux, j'avais fait ça il y a quelques années, mais c'est uniquement en console et c'est largement améliorable :

viewtopic.php?f=2&t=633

(ça va chercher les jeux sur notre site, et les sauvegardes dans un répertoire ~/.ifictionfr/)

note : http://hlabrande.fr/if/ et http://hlabrande.fr/if/games/ présentent la même page, par contre si on arrive directement sur http://hlabrande.fr/if/ les liens sont tous cassés (sauf pour jouer avec parchment)

Avatar de l’utilisateur
Otto Grimwald
Très Ancien
 
Messages: 3028
Inscription: Mar Aoû 24, 2004 12:02 pm

Re: Installeurs en .exe

Messagepar Mule hollandaise le Dim Aoû 31, 2014 4:54 pm

Ah mince, j'ai tout cassé hier soir ^^ C'est corrigé, merci !

Je suis d'accord pour Parchment, mais vu que les effets de temps ne sont pas supportés ça rend mes jeux injouables... (pour l'instant)
Je sais pas si les gens les utiliseront, mais au moins y'aura cette option :)
Mule hollandaise
Grand Ancien
 
Messages: 1124
Inscription: Mar Aoû 29, 2006 10:57 pm

Re: Installeurs en .exe

Messagepar StephaneF le Mar Sep 02, 2014 9:48 am

Question bête mais j'ai pas tout suivi, on peut faire un jeu en Parchment quand on est au format Glulx et non pas Z-code ?

Et quand on a un jeu fait en 6G60 ?
Avatar de l’utilisateur
StephaneF
Grand Ancien
 
Messages: 547
Inscription: Jeu Déc 27, 2007 3:53 pm
Localisation: Moselle

Re: Installeurs en .exe

Messagepar Otto Grimwald le Mar Sep 02, 2014 11:27 am

oui, tout ça c'est possible, par contre comme ça utilise un interpréteur javascript ça sera sensiblement plus lent qu'avec gargoyle. Et ça téléchargera le jeu complet à chaque fois. En limitation, ça ne prendra pas en compte les images et les sons, juste le fichier jeu.

Glulx est maintenant géré, je pense depuis 6G60 (mais sinon on peut bidouiller pour le faire, juste ça ne sera pas automatique), il suffit de rajouter "release along with an interpreter".

Avatar de l’utilisateur
Otto Grimwald
Très Ancien
 
Messages: 3028
Inscription: Mar Aoû 24, 2004 12:02 pm

Re: Installeurs en .exe

Messagepar Mule hollandaise le Sam Nov 22, 2014 10:02 pm

Retour d'expérience... Créer un exécutable, c'est bien, sauf que les antivirus (notamment Windows Defender, celui de Windows) paniquent en disant qu'ils n'ont jamais vu cet exécutable (normal, y'a que 3 personnes dans le monde qui l'ont déjà lancé) et que donc ça doit être un virus. Après avoir testé sur plusieurs Windows qui ne sont pas les miens, j'en arrive à la conclusion que c'est une fausse bonne idée parce que Windows lancera des alertes sur votre programme (et y'a pas mieux pour refroidir un joueur je parie).

Donc j'ai mis des .zip avec WinFrotz renommé avec le même nom que le .z5, comme ça cliquer sur l'exécutable lance automatiquement le jeu (c'est une feature de WinFrotz, comme Gargoyle - j'ai préféré WinFrotz à Gargoyle parce que ce dernier est trop gros). Sauf que l'exécutable c'est WinFrotz, que les antivirus connaissent, alors pas de souci. Ca devrait marcher !
Mule hollandaise
Grand Ancien
 
Messages: 1124
Inscription: Mar Aoû 29, 2006 10:57 pm

Re: Installeurs en .exe

Messagepar Yoruk le Mer Nov 26, 2014 1:08 pm

Mule hollandaise a écrit:Donc j'ai mis des .zip avec WinFrotz renommé avec le même nom que le .z5, comme ça cliquer sur l'exécutable lance automatiquement le jeu (c'est une feature de WinFrotz, comme Gargoyle - j'ai préféré WinFrotz à Gargoyle parce que ce dernier est trop gros). Sauf que l'exécutable c'est WinFrotz, que les antivirus connaissent, alors pas de souci. Ca devrait marcher !


On peut se contenter de mettre uniquement l'exécutable de WinFrotz dans l'archive ? Je veux dire, pas besoin de fichiers annexes ? (DLL, fichiers d'aide ou de configuration...?)
Yoruk, SATOR AREPO TENET OPERA ROTAS
Avatar de l’utilisateur
Yoruk
Grand Ancien
 
Messages: 1065
Inscription: Lun Juin 11, 2007 9:50 am
Localisation: Chiddes, à 150 mètres du lavoir

Re: Installeurs en .exe

Messagepar Mule hollandaise le Mer Nov 26, 2014 10:56 pm

Oups pardon c'était pas clair - non, je crois qu'il faut absolument les DLL et le fichier de config. Plus, par exemple "WinFrotz.exe" renommé en "espions.exe" + le fichier 'espions.z5'.
Mule hollandaise
Grand Ancien
 
Messages: 1124
Inscription: Mar Aoû 29, 2006 10:57 pm

Re: Installeurs en .exe

Messagepar Yoruk le Jeu Nov 27, 2014 9:06 am

Ok !

Il me semble toutefois me souvenir d'une vielle version d'un winfrotz ou équivalent n'étant constitué que d'un seul exécutable autonome, mais il est, en plus d'être un peu agé, surement incompatible avec la technique du renommage.
Yoruk, SATOR AREPO TENET OPERA ROTAS
Avatar de l’utilisateur
Yoruk
Grand Ancien
 
Messages: 1065
Inscription: Lun Juin 11, 2007 9:50 am
Localisation: Chiddes, à 150 mètres du lavoir


Retourner vers Questions techniques et aide pour votre code

Qui est en ligne

Utilisateurs parcourant ce forum: Aucun utilisateur enregistré et 2 invités

cron