Sauvegarder avant de quitter

Je suis sans doute étourdi, mais ça fait 2 fois que je quitte Game Develop sans sauvegarder. J’imagine que ce ne doit pas être trop compliqué de proposer une sauvegarde avant de quitter ? Si c’est trop de boulot, pas de problème. A nous de faire attention…

Bonjour Clique-Mulot,

Effectivement, ce n’est pas très compliqué de sauvegarder ton travail avec Game Develop ; en fait, c’est exactement comme avec la plupart des logiciels classiques : il suffit simplement de cliquer sur l’icône qui ressemble à une disquette, dans l’onglet “Général” du menu, tout à fait à gauche… (d’ailleurs, c’est écrit “enregistrer” au-dessous, si tu regardes bien :wink: ). Et en cliquant sur la petite flèche encore en dessous, tu ouvres une petite fenêtre qui te propose l’option “enregistrer sous…”, des fois que tu voudrais enregistrer ton projet en plusieurs versions différentes.

Heureusement qu’on peut sauvegarder, on ne s’en sortirait pas, autrement… :astonished:

Merci pour ta réponse Voyageur.
Ce que je voulais dire c’est habituellement quand on quitte un logiciel, il propose de sauvegarder.

Je trouve ta suggestion très bien. Moi je suis un maniaque de la sauvegarde. A chaque action que je modifie ou crée je sauvegarde avant de tester. Une habitude que je te conseil :smiling_imp: en attendant la nouvelle version.

Ben
Moi ça je m’en fous un peut pour être franc c’est pas hyper important parce que moi je clique toujours sur sauvegarder (c’est un réflexe)
Ce qu’il faut surtout c’est un truc qui empêche l’écrasement d’un fichier par un autre jeu
Genre une fois avec mon 1er mario bros(depuis je l’ai plus)
J’ai cliqué sur enregistrer au lieu d’ouvrir
Et paf direct écrasement d’un fichier plein par un fichier vide :frowning:

Et il t’avait pas demandé “êtes vous sur de vouloir écraser le fichier” par hasard ? :wink:

[size=150]Je ne voudrais pas déterrer mais je vois que je n’ai pas répondu a la question de 4ian :smiley: [/size]
Alors:

Non rien du tout :frowning:
C’était le Mario bros 0.7 qui y est passé un soir (bon depuis j’ai fait mieux mais bon il ne faudrait pas que ça arrive a chaque fois :smiley: )

mois je dit que c’est une bonne idée alors pourquoi ne pas le faire
j’ai remarquer que tu fessait un peut ce qui t’arrange 4ian, ont a beau
proposer des truc, tu fait la grimace alors faite comme mois, ne proposer
plus rien du tout comme sa il est cotent

combien de fois j’ai proposer des bon truc mais non 4ian fait la grimace
alors sa sert a quoi de proposer qu’elle que chose

Je me trompe peut-être, mais je ne vois pas ou 4ian à fait la grimace ici ou que ce n’était pas une bonne idée à implanter. Il n’a répondu qu’à Crone123 pour l’écrasement de fichier. Pour les propositions, il en reçois de tous les côtés, il faut le laisser un peu respirer… :stuck_out_tongue: Déjà qu’il prend du temps pour répondre c’est déjà beaucoup ! Moi je suis déjà fou, rien que pour mes propres suggestions pour améliorer mes programmes PHP, s’il fallait en plus qu’on me suggère des choses et me faire attaquer pour une simple réponse… Aimes-tu GameDevelop ? Déjà qu’il est gratuit on pourrait se passé de commentaire comme ça ! :smiley:

non mais c’est que l’on a eu des intercasion dans le passer c pour sa

C’est quoi une intercasion ?
Je pense que 4ian passe beaucoup de temps à perfectionner Game Develop, il ne peut pas satisfaire toutes nos demandes.

Prenons points par points :

Question temps

J’ai recopié les dates de création des sujets dans la catégorie “Demande de nouvelles fonctionnalités” :

24 sujets en moins de deux mois, ce qui fait un sujet tout les 2.5 jours.
Rajoute le fait que il y a aussi des bugs à corriger, des nouvelles fonctionnalités “de moi” que je compte aussi implémenter, le fait qu’il y a des jours où j’ai très peu de temps à consacrer au développement, et le fait que je dois aussi répondre sur le forum, et tu verra que je ne peux pas être partout à la fois :wink:

Question faisabilité

Si c’est pour demander de transformer d’un coup le logiciel en création de jeu 3D, ça va être difficile de répondre positivement à la demande.

Question utilité

On ne croirait pas comme ça, mais tout n’est pas bon à prendre.
Il faut voir si la fonctionnalité demandée peut être intégrée sans ressembler à une grosse verrue dans le logiciel, si elle est vraiment utile à plus d’une personne, bref, si elle ne va pas prendre de la place pour rien :wink:

Question “J’ai aussi mes propres nouvelles fonctionnalités”

En tant que créateur du logiciel, j’ai aussi des idées sur les nouvelles fonctionnalités dont il aurait besoin, il n’y a pas que celles qui me sont proposées, loin de là.

Question priorité

Il y a des fonctionnalités qui sont plus urgentes que d’autre. Par exemple, le manque ( en partie maintenant et bientôt totalement comblé ) d’un système d’extension ou d’une traduction anglaise.

Question “Il faut aussi penser à ce qui est déjà fait”

Car ce qui est déjà fait, c’est déjà pas mal aussi :slight_smile:

Voila c’est une réponse claire :slight_smile:

oui, excuse mois 4ian, c’est vrais
c’est vrais que game dévelop est bien et évolue
d’ailleurs les dernière version sont très bien

je reconnais que tu fait de bonne chose et que tu te met disponible
alors que tu n’as pas toujours forcement le temps

tu est la très souvent, tu nous répond et tu augmente les possibilités de ton superbe logiciel
alors oui, tu n’as que du mérite, je le sait bien tu sais

bien mois en ce qui me concerne je trouve game develop pas asse complet
mais sa viendra par la suite, disons que je pense qu’il pourrais être encore bien plus complet tu voie

enfin c’est facile a dire ce genre de truc hein mais c’est pas mois qui me casse la tête a ton logiciel
ont ne se rend pas du tout compte de la masse de travail de ton logiciel

enfin voila quoi

Pour revenir au sujet (même si vous êtes assez touchant, je dois reconnaître :laughing: ) :

Proposer un enregistrement automatique n’a rien de compliqué, il suffit de rajouter un membre à la classe de projet, de type bool, par exemple, qui indique si le projet est modifié depuis la dernière sauvegarde. Disons un membre style

class Project
{
    bool mChanged;
    
    public:
    inline bool IsProjectChanged() const {return mChanged;}; // Juste un accesseur tout bête
    void SetProjectChanged(bool);
}

On fait une méthode, disons void SetProjectChanged(bool); qui donne à mSaved la valeur de son paramètre, puis chaque fonction permettant de modifier le jeu inclurait quelque chose comme SetProjectChanged(true); et à la fermeture du projet (qui arrive également à la fermeture du logiciel, de toute façon), on aurait une vérification style

if( project->IsProjectChanged() )
{
    // Proposer l'enregistrement (exemple : avec une boite de dialogue comme celle de Code::Blocks)
}
// Sinon, la fermeture continue normalement

Quant à la confirmation d’écrasement, un simple petit code dans la fonction d’enregistrement comme

if( wxFileExists(filename) )
{
// Demander confirmation
}

Seulement, il se pourrait qu’à la longue, une telle confirmation deviendrait ennuyeuse.
Il faudrait donc trouver un moyen d’identifier les solutions où l’écrasement est gênant, mais pour ça je vous laisse y réfléchir.

Sinon, un bon compromis serait de créer une copie “backup” du fichier avant la sauvegarde si ce dernier a changé (pour éviter de copier inutilement un fichier identique à lui-même) et de proposer une option dans le menu “dropdown” du bouton “Enregistrer” du ruban une option
“Restaurer la sauvegarde précédente” (ou, si tu aimes Windows 7, ou pour des soucis d’intégration, “Restaurer la version précédente”).
Mais proposes toujours une option permettant de désactiver ce système qui pourrait ralentir le système pour les utilisateurs qui sauvegardent toutes les 5 minutes.

La solution n’était pas compliquée en elle-même. Parfois, c’est à se demander combien il y a de programmeurs dans la salle…

Alors, attends, je fais une liste :
victor, Crone123, 4ian, toi et moi… Bon alors il y a 5 programmeurs dans la sale. :smiley:
Oui, tu as raison, je vois pas ce qui est difficile là dedans… C’est de loin l’une des choses les plus simples que l’on puisse faire en GUI. Allez, ça doit faire une dizaine de lignes de code en plus.

[…]

4ian préfère conserver le code source, nous ne pourrons pas plus l’aider. Je comprends son choix, et c’est ce qui m’arrive aussi quelque fois, quand on a travaillé pendant des semaines à faire un logiciel, on a envie de garder le code pour soi plutôt que de partager le code source, fruit d’un travail fastidieux pour un résultat pas forcément attendu.