Game Develop Linux


#421

Ah oui, et bien bravo Donut alors :slight_smile: (toujours aussi doué en graphismes :smiley: )
Pour le bug, ce que j’ai eu c’était ça (c’est assez difficile a expliquer en fait):
1 - J’ouvre l’édition d’un objet
2 - Je sélectionne une image dans la banque d’image (j’en ai 5 ou 6 dedans)
3 - J’ai du cliquer 2 fois lentement, et ça renomme l’image
→ le problème, c’est qu’ensuite le widget en question reste en mode pour renommer et ne reviens plus en mode standard
4 - j’ai ce problème avec d’autres images dans la même édition de l’objet (j’ai donc plusieurs widgets de la banque d’image bloqué en mode pour renommer)
5 - quand je clique sur OK pour terminer l’édition de l’objet, GD se ferme. (plantage)

Je précise que je n’ai pas renommé les noms des images, les noms sont restés tels qu’ils étaient même si les widgets étaient en mode pour renommer (je sais pas comment appeler ça, faute de mieux…)

Voilà, sinon GD a l’air de bien plaire a mon petit frère, je pense que le logiciel est vraiment bien destiné soit aux gens qui veulent développer des jeux facilement et qui sont trop vieux pour apprendre a programmer, ou qui n’ont pas le temps ou l’envie de le faire, soit, surtout aux jeune de 10 a 15 ans qui ne sont pas forcément encore assez “mature” pour réussir à apprendre le C++ (bien que des langages plus simple comme le html arrivent petit a petit), et ça leurs permet facilement de créer quasiment tout ce qu’ils auraient pu faire en C++, sans programmer.
Donc en fait, je trouve que le logiciel est très bien fait surtout pour les jeunes (très jeunes), et j’ai remarqué un truc aussi, vers 15 ans généralement la personne qui sait maîtriser GD et qui commence a faire de la programmation va commencer a apprendre le C++ et généralement réussir plutôt bien. (J’ai acheté le LDZ du C++, j’ai appris en quelque semaines grâce a ça :slight_smile: )

Pour ma part et pour ceux que ça intéresse, je pense GD est une très très bonne initiation a la programmation, à la base on ne programme pas, mais ça ouvre très bien l’utilisateur sur le concept de l’informatique (programmation), comment ça marche etc…moi personnellement GD m’as beaucoup aidé a débuter en C++ et d’ailleurs, avant d’apprendre Qt j’ai appris a utiliser la SFML parce GD utilise la SFML et que c’est beaucoup plus facile de commencer a utiliser une bibliothèque que l’on a déjà utilisé auparavant avec GD, la conception est la même finalement :slight_smile:
Et en fait plus généralement je conseille GD aux gens que je croise qui ne savent pas programmer mais qui veulent créer des jeux :slight_smile: (Je ne saurais pas dire combien d’heure j’ai passé sur GD, ça se compte en milliers d’heures sûrement…comptez: 2 ou 3 ans a raison d’entre 2 a 10h par jour, vacances et week-end inclus) [size=85]→ Oui je raconte ma vie…[/size]
Bref, cette version Linux stable (ou quasiment aussi stable que la version Windows) est une très bonne nouvelle :slight_smile:

J’indiquerais juste que GD oublie de copier libglew1.5.so (et le 2ème qui sert a la même chose sous un autre nom) dans le dossier du jeu compilé, ce qui renvoie une erreur de version (ELF CLASS) sur sur les 64bits.
Pour corriger l’erreur, c’est en fait très simple si quelqu’un l’as:
1 - Ouvrez un terminal (ctrl+alt+t sur GNOME/Unity)
2 - Entrez: apt-get download libglew1.5:i386 (pas besoin de le faire en tant que root, sinon le deb téléchargé appartient au root et il faut ensuite changer les droits)
3 - Ouvrez le .deb téléchargé avec le gestionnaire d’archive
4 - Dans l’archive, vous verrez le répertoire usr, puis lib, mettez les 2 fichiers .so de ce dossier dans le dossier de votre jeu
5 - Lancer le jeu, et ça démarre :slight_smile:
Voilà, merci et encore une fois bonne continuation GD est vraiment le meilleur :slight_smile:


#422

(Effectivement ! Et moi aussi j’ai passé des centaines/milliers d’heures sur GD avant de savoir programmer :smiley: )
Donc, j’ai essayé de l’installer sous Linux (Distribution Linux Mint). Au moins, j’aurai pas de screen of the dead comme sous Windows (d’ailleurs c’est toujours pas réglé chez moi, je sais pas si tu as essayé de lancer en aperçu mon projet envoyé par MP 4ian ?).
Donc j’ai tenté de suivre la procédure à propos des dépendances 64 bit, etc… j’ai même regardé les librairies qu’il me manquait avec getlibs, mais finalement, j’ai toujours pas réussi à lancer GD :frowning:
Il y a toujours une histoire de libstdc++.so.6 (j’ai tenté de faire un lien symbolique nommé libstdc++.so.6 vers libstdc++.so.5 comme je l’avait trouvé sur internet, mais cela m’a généré de nouvelles erreurs, je l’ai donc retiré)
Voilà l’erreur que j’ai :

./GDEditor: error while loading shared libraries: libstdc++.so.6: cannot open shared object file: No such file or directory

(j’ai bien lancé le bash “Start Game Develop”)
A noté que quand j’ai voulu faire “apt-get download libglew1.5:i386” comme l’a dit Crone, ça m’a retourné :

E: Impossible de trouver le paquet libglew1.5:i386 E: Impossible de trouver de paquet correspondant à l'expression rationnelle « libglew1.5 »
Voilà, donc merci de m’indiquer la démarche à suivre finalement quitte à engraisser le fichier README.txt d’ailleurs.


#423

Euh, apt-get download libglew1.5:i386 chez moi ça fonctionne… (j’ai ré-essayé)
Essaye voir un apt-get update, et si c’est pas dans tes sources, essaye voir de mettre universe et multiverse comme dépôts dans tes sources (voir la doc d’Ubuntu)

Pour ton fichier manquant, je sais pas, mon frère et moi on ne l’as pas avec GD, mais je sais pas si ça joue, mais on a gcc, les libs de dev de Qt et de la sfml d’installé, donc si ça se trouve dans ces dépendances ça a été installé, mais ça aurait été du 64 non?


#424

J’ai déjà regardé tout ça, et apt-get update je l’ai fait il y a très peu de temps :wink:
Donc oui, je crois que c’est ça. Moi j’ai bien installé gcc pour python mais pour les libs de Qt et de la SFML j’en ai pas particulièrement eu besoin. Après je pense que tant qu’il trouve une bibliothèque qu’il arrive à lire, il est content :laughing:

Donc sinon, j’ai ajouter les dépôts universe et multiverse.
Voilà l’erreur complète :

benoit@Benoit-linux-mint ~/Programmes_divers/GameDevelop $ apt-get download libglew1.5:i386 W: Duplicate sources.list entry http://security.ubuntu.com/ubuntu/ natty-security/universe amd64 Packages (/var/lib/apt/lists/security.ubuntu.com_ubuntu_dists_natty-security_universe_binary-amd64_Packages) W: Duplicate sources.list entry http://security.ubuntu.com/ubuntu/ natty-security/multiverse amd64 Packages (/var/lib/apt/lists/security.ubuntu.com_ubuntu_dists_natty-security_multiverse_binary-amd64_Packages) W: Vous pouvez lancer « apt-get update » pour corriger ces problèmes. E: Impossible de trouver le paquet libglew1.5:i386 E: Impossible de trouver de paquet correspondant à l'expression rationnelle « libglew1.5 »

Edit : j’avais bien fait apt-get update avant :stuck_out_tongue:


#425

Tu est sur d’avoir activé le dépôt standard (main) au cas ou…parce que là :astonished:


#426

C’est les mêmes dépots pour Ubuntu et Linux Mint ?

J’inclurai alors ce fichier dans les prochaines versions, merci de l’avoir signalé.
Pour l’histoire du renommage, ça doit être spécifique à Linux car j’arrive pas à reproduire ça, j’essayerai sur linux dès que possible.

@Crone123, content que GD a pu t’aider dans l’apprentissage de la programmation. J’essayai au maximum de faire joindre GD les deux bouts que ce sont la possibilité d’être utilisé facilement par un débutant tout en offrant des capacités puissantes et des conceptions qu’on retrouve dans les langages de programmation habituels.


#427

C’est vrai que GD marche vraiment bien sur Ubuntu. C’est con, Ubuntu 12.04 va bientôt sortir, on peut espérer que GD fonctionnera toujours…


#428

Oui, il sort exactement le 26, mais normalement, je ne vois pas pourquoi GD ne fonctionnerais pas, parce qu’en fait un programme Linux est un programme Linux, il doit marcher sur toutes les distributions tant qu’il a les .so nécessaires et qu’il est sur le bon processeur.

@4ian: Oui, en dehors de permettre de faire de jeux, il nous apprends beaucoup :slight_smile:

Sinon, j’ai remarqué qu’il n’y a pas d’icônes dans les menus contextuels sous Linux, c’est un peu déstabilisant quand on a l’habitude sur GD de repérer quelque chose grâce à l’icône du menu :slight_smile:

Et je pense un truc: Développant actuellement un jeu en réseau en C++ avec la SFML, je pense qu’il est indispensable que GD puisse utilise aussi du TCP.
Dans un jeu en réseau il y a beaucoup de données, les positions du joueur passent en UDP, mais pour savoir si un joueur est connecté, il faut bien utiliser du TCP, on ne peut pas le savoir en UDP.
Ensuite, il y a des données importante qui ne sont pas sur d’arriver en UDP, dans ce cas là aussi c’est bien d’avoir du TCP. (Mon jeu utilise le TCP pour énormément de choses, tout ce qui est important que ça arrive, et l’UDP pour le reste, la fameuse connexion au serveur TCP est franchement facile a faire :slight_smile: )
Et enfin, je pense que quelque chose de similaire a l’extension tableaux de victor devrait être disponible (Genre: Variable(Tableau[1]) ou Variable(Tableau[Compteur]) ) directement dans GD, quand j’avais crée il y a quelque temps un serveur de jeu sur GD uniquement en UDP, bon, j’avais pleins de bugs parce que l’UDP a ses limites, mais surtout sans le tableau on ne peut pas stocker l’ip de tous les joueurs (a moins de créer des objets inutiles un peu partout dans la scène) c’est assez compliqué, avec l’extension tableau de victor, j’arrivais a faire ça, bien que j’avais parfois des freeze (je sais pas si ça venait de l’extension ou de GD a l’époque, mais voilà…) au moins ça marchait a peu près correctement, et grâce aux tableaux. (Aujourd’hui en programmant en C++ je ne peux pas me passer des tableaux, et depuis déjà très longtemps en PHP, les tableaux je m’en passe pas…)
Donc si pour une future version tu as le temps (et l’envie) de rajouter ça, ça servira à plus d’un a mon avis :slight_smile:

Sinon, j’y pense: Comment GD envoie t-il ses données en UDP avec les socket de la SFML? Je veux dire, utilise t-il un format spécial d’envoi, un formatage de données a lui, ou autres?
ça serait intéressant de le savoir pour le cas ou l’on veuille utiliser GD en réseau avec un serveur de jeu codé directement en C++ (un serveur en console par exemple)

Et j’ai aussi remarqué un truc: GD ne peut que écrire du xml, ou lire du xml, je pense que ça serait bien aussi de pouvoir écrire dans un fichier texte, et de pouvoir charger un fichier texte dans une variable, personnellement en C++ j’ai ma propre syntaxe pour l’enregistrement de données que je préfère au xml et il me suffit de la bibliothèque standard du C++ pour l’utiliser :slight_smile:
Donc ensuite avec une action permettant de lire une variable ligne par ligne ou mots par mots, ou caractère par caractères, on pourrait facilement récupérer ce que l’on veut :slight_smile:

Et j’ai pensé a une dernière proposition, je sais pas si elle est réalisable, a toi de voir, pouvoir masquer les sous-événements, tu vois avec les + et - du même style que les listes pour choisir une action ou condition, l’idée est de gagner des ressources a l’affichage des événements, et surtout avoir une meilleure lisibilité quand il y a beaucoup d’événements.

Merci :slight_smile:

PS: Je sais qu’il y a une catégorie pour les Demandes de nouvelles fonctionnalités, j’y ai assez posté, mais bon, j’allais pas créer un sujet juste pour ça, je le dis en passant :slight_smile:


#429

Déjà faisable, avec les flèches présentes juste sur le côté de l’événement.


#430

Ah peut être j’ai pas vu… :confused:


#431

Ah, donc sinon, quelqu’un peut me fournir le fichier qu’il me manque s’il vous plaît ? :confused:


#432

Pour ton fichier: profil.smglive.org/?Mode=FJ_View … 57295.3175 :slight_smile:
EDIT: Tu extrait le .deb et tu récupère les fichiers dont tu as besoin :slight_smile:


#433

help !

ubntu lts 12.04 64

cosmic@cosmic-desktop:~/Downloads/GameDevelop$ ./GDEditor
./GDEditor: error while loading shared libraries: libgdl.so: cannot open shared object file: No such file or directory


#434

Il faut lancer le script présent dans le dossier de Game Develop (“Start Game Develop”), pas directement l’exécutable du logiciel.


#435

ok !

cosmic@cosmic-desktop:~/Downloads/GameDevelop$ ./Start\ Game\ Develop
./GDEditor: error while loading shared libraries: libjpeg.so.62: cannot open shared object file: No such file or directory


#436

Essaie voir de trouver libpng dans les dépôts.


#437

Oui, les .so nécessaires, voilà justement le casse tête sous Linux ( enfin sous Windows c’est pareil, mais les dlls sont distribuées de façon plus uniforme alors que sous Linux une fois il manque ceci, une fois il manque cela, une fois la bibliothèque n’est pas compatible sous la forme disponible sur le système avec celle utilisée pour compiler le programme… ).


#438

J’avoue que les .so sont assez chiant quand on ne les as pas, enfin, quand on les as sur le système, on apprécie de ne pas avoir a télécharger 60mo de plus par programme a cause d’eux.
Maintenant, je vous propose un paquet que j’ai gardé: profil.smglive.org/?Mode=FJ_View … 97276.1078 ça s’appelle getlibs, malheureusement, je ne le trouve plus dans les dépots, si mon lien ne vous conviens pas, ou que ce n’est pas la bonne version pour votre processeur, cherchez sur Google, notez que c’est pas pour la dernière version d’Ubuntu ce paquet, mais y a pas le choix, j’ai pas trouvé de version plus récente.

Ce programme détecte les erreurs de .so, et vous télécharge automatiquement ce qu’il manque :slight_smile:
C’est ultra pratique :smiley:


#439

J’ai installé Ubuntu 12.04 (32bits, i686). Game Develop démarre mais la compilation plante systématiquement.
Je pense qu’il suffit de recompiler GD (voir Clang) sur Ubuntu 12.04 pour que ça remarche (pourtant quasiment la même version de la libstd… :frowning: )

[code]In file included from /tmp/GDTemporaries/0xaddf950events.cpp:1:
In file included from include/GDL/GDL/BuiltinExtensions/MouseTools.h:4:
In file included from include/linux/usr/include/c++/4.6/string:53:
In file included from include/linux/usr/include/c++/4.6/bits/basic_string.h:40:
In file included from include/linux/usr/include/c++/4.6/ext/atomicity.h:34:
In file included from include/linux/usr/include/c++/4.6/i686-linux-gnu/bits/gthr.h:162:
In file included from include/linux/usr/include/c++/4.6/i686-linux-gnu/bits/gthr-default.h:41:
/usr/include/pthread.h:228:31: error: expected function body after function declarator
void *__restrict __arg) __THROWNL __nonnull ((1, 3));
^
/usr/include/pthread.h:743:6: error: expected function body after function declarator
__THROWNL __nonnull ((1));
^
/usr/include/pthread.h:747:6: error: expected function body after function declarator
__THROWNL __nonnull ((1));
^
/usr/include/pthread.h:753:20: error: expected function body after function declarator
__abstime) __THROWNL __nonnull ((1, 2));
^
/usr/include/pthread.h:758:6: error: expected function body after function declarator
__THROWNL __nonnull ((1));
^
/usr/include/pthread.h:882:6: error: expected function body after function declarator
__THROWNL __nonnull ((1));
^
/usr/include/pthread.h:886:3: error: expected function body after function declarator
__THROWNL __nonnull ((1));
^
/usr/include/pthread.h:892:23: error: expected function body after function declarator
__abstime) __THROWNL __nonnull ((1, 2));
^
/usr/include/pthread.h:897:6: error: expected function body after function declarator
__THROWNL __nonnull ((1));
^
/usr/include/pthread.h:901:6: error: expected function body after function declarator
__THROWNL __nonnull ((1));
^
/usr/include/pthread.h:907:23: error: expected function body after function declarator
__abstime) __THROWNL __nonnull ((1, 2));
^
/usr/include/pthread.h:912:6: error: expected function body after function declarator
__THROWNL __nonnull ((1));
^
/usr/include/pthread.h:962:6: error: expected function body after function declarator
__THROWNL __nonnull ((1));
^
/usr/include/pthread.h:966:6: error: expected function body after function declarator
__THROWNL __nonnull ((1));
^
/usr/include/pthread.h:1037:6: error: expected function body after function declarator
__THROWNL __nonnull ((1));
^
/usr/include/pthread.h:1041:6: error: expected function body after function declarator
__THROWNL __nonnull ((1));
^
/usr/include/pthread.h:1045:6: error: expected function body after function declarator
__THROWNL __nonnull ((1));
^
/usr/include/pthread.h:1063:6: error: expected function body after function declarator
__THROWNL __nonnull ((1));
^
In file included from /tmp/GDTemporaries/0xaddf950events.cpp:1:
In file included from include/GDL/GDL/BuiltinExtensions/MouseTools.h:4:
In file included from include/linux/usr/include/c++/4.6/string:53:
In file included from include/linux/usr/include/c++/4.6/bits/basic_string.h:40:
In file included from include/linux/usr/include/c++/4.6/ext/atomicity.h:34:
In file included from include/linux/usr/include/c++/4.6/i686-linux-gnu/bits/gthr.h:162:
In file included from include/linux/usr/include/c++/4.6/i686-linux-gnu/bits/gthr-default.h:42:
/usr/include/unistd.h:779:28: error: expected function body after function declarator
extern __pid_t fork (void) __THROWNL;
^
In file included from /tmp/GDTemporaries/0xaddf950events.cpp:1:
In file included from include/GDL/GDL/BuiltinExtensions/MouseTools.h:4:
In file included from include/linux/usr/include/c++/4.6/string:53:
In file included from include/linux/usr/include/c++/4.6/bits/basic_string.h:40:
In file included from include/linux/usr/include/c++/4.6/ext/atomicity.h:34:
In file included from include/linux/usr/include/c++/4.6/i686-linux-gnu/bits/gthr.h:162:
include/linux/usr/include/c++/4.6/i686-linux-gnu/bits/gthr-default.h:122:9: error: use of undeclared identifier ‘pthread_create’; did you mean ‘pthread_key_create’?
__gthrw(pthread_create)
^
ET J’EN PASSE …

 ^

/usr/include/stdio.h:405:6: error: expected function body after function declarator
__THROWNL attribute ((format (printf, 2, 3))) __wur;
^
/usr/include/stdio.h:408:6: error: expected function body after function declarator
__THROWNL attribute ((format (printf, 2, 3))) __wur;
^
/usr/include/stdio.h:898:6: error: expected function body after function declarator
__THROWNL attribute ((format (printf, 2, 3)));
^
/usr/include/stdio.h:902:6: error: expected function body after function declarator
__THROWNL attribute ((format (printf, 2, 0)));
^[/code]


#440

Bon, en fait, ça marche très bien avec la version que tu fournis sur le forum anglophone de la SFML.
http://www.compilgames.net/dl/gd2110682linuxpatched2.tar.lzma
Ce serait pas mal qu’elle remplace la version actuellement disponible sur le site, en mettant “Ubuntu 12.04” à la place de “Ubuntu 11.10”.