Game Develop 2.0 Bêta 9

J’ai mis en ligne une version de test pour Game Develop 2.
Il s’agit uniquement de pouvoir tester comment se comportent les jeux créés avec la version 1.x, ainsi qu’avoir quelques retours sur l’éditeur d’évènements qui n’est pas non plus finalisé.

[size=150]Avant de tester, plusieurs remarques :[/size]

-Ne paniquez pas. Si votre jeu ne ressemble plus à rien quand vous le testez avec GD2, restez calme. :wink:
J’ai fait des tests, j’ai réussi à faire fonctionner tous les exemples et des jeux entiers comme Eternity Under Fire, Ecce Deus ou Shoot All 4. Si votre jeu pose un soucis de comportement, identifiez la source du problème et prévenez moi.

-Ne paniquez pas. Si votre jeu ne se lance pas dans l’aperçu.
Il se peut qu’il reste encore des actions/conditions qui font que la compilation ne se fait pas. Dans ce cas là, vous entendrez un “BIP”. Allez voir du coté de la console noire, et copiez moi ici ce qu’il s’affiche, les erreurs de compilation surtout si vous arrivez à les repérer.

-Ne paniquez pas. Si Game Develop crashe avant de lancer l’aperçu ( à la fin de la compilation précisement )
Il se peut qu’il reste encore des actions/conditions que j’ai techniquement oublié de déclarer comme “à exporter”, ce qui fait que GD peut crasher si il les rencontre une fois la compilation terminée.
Dans ce cas, veuillez là aussi vous référer à la console noire, et me copier ici ce qu’il s’affiche ( Essentiellement la fin, où est souvent marqué LLVM ERROR si le crash est dû à ce que je viens de citer )

-Il faut (parfois) attendre avant de pouvoir tester l’aperçu de la scène. Je sais que c’est nul :
Quand vous modifiez les évènements, Game Develop va discrètement lancer la compilation de ceux ci. Lors de mes premiers tests, compiler les évènements prenait facile une minute sur mon PC ( Core i5 ). En allégeant tout au possible, désactivant les optimisations du compilateur, et en utilisant une ou deux techniques, j’arrive à une compilation des évènements en ~13 secondes pour Ecce Deus, ~10 secondes pour Eternity Under Fire et ~8 secondes pour Shoot All 4.
La compilation se passant discrètement “dans votre dos”, vous ne la verrez donc pas ( Pas de fenêtre liée à ça ou ce genre de truc : C’est transparent. Si vous voulez l’admirer, les messages s’affichent dans la console. ), à part si vous lancez un aperçu et que la compilation n’est pas terminée. Dans ce cas, Game Develop vous informera que la compilation est en cours.

-En parlant d’optimisations, les tests que j’ai fait donnent :
->Des FPS semblables entre GD 1.x et GD2 pour EcceDeus et Shoot All 4 ( Limite régression pour Ecce Deus à un moment, mais c’est corrigé ).
->Une belle amélioration pour Eternity Under Fire.
Lors des tests dans l’éditeur, les optimisations du compilateur sont désactivées pour améliorer ( grandement ) la vitesse de compilation. Je pense pouvoir réactiver les optimisations lors de la compilation en EXE des jeux, ce qui pourrait donner peut être un petit boost aux performances.

[size=150]L’éditeur d’évènement[/size]

Plus d’infos sur les améliorations ici : compilgames.net/forum/viewto … 5&start=50

[size=150]Autres remarques[/size]

-Le suivi des performances n’est pas fonctionnel.
-Si vous êtes intéressé par le code C++ généré, il est écrit dans le répertoire Temporaries. ( D’ailleurs, aucun fichier de ce répertoire n’est supprimé, vous pouvez supprimer les fichiers de ce répertoire une fois GD fermé sans soucis ). Il ne vous servira probablement à rien cependant : Il ne gère “que” l’appel aux actions/conditions et la gestion des sélections des objets ( Qui est fait de manière automatisée, ce qui donne un code assez imbuvable ( Mais pas crade pour autant attention :slight_smile: ) ).

-Si vous avez pas la police de caractère Consolas ( normalement livrée sur Vista/Seven ), elle est avec GD : Installez la en faisant un clic droit dessus et en choisissant Installer. Elle est utilisée dans l’éditeur d’évènements.

-Game Develop 2 ne supporte plus l’opérateur ^ ( Puissance ). Remplacez le par pow(x,n) sans quoi il y aura des erreurs à la compilations ( Pour le moment, c’est pas automatiquement converti ) : 4^2 devriendra pow(4,2).

[size=150]Téléchargement[/size]
Dernière mise à jour le 29/08/2011

compilgames.net/dl/GD2Beta9.7z
Merci de ne pas redistribuer cette version et de ne pas l’annoncer sur les forums/sites web.

Désolé mais sur ce coup je ne pourrai pas t’aider dans l’immédiat car je refait entièrement Jnp…

Comme les règles sont faites pour ne pas être respectées, que les textes trop longs ne sont pas à lire, et que j’aime bien la ramener, voici un bug lorsque je tente de créer une nouvelle scène : ‘stdio.h’ file not found, dès la ligne include.
Problème de chemins pas mis à jour on dirait … dans le FileManager.cpp à la ligne 413

Pareil quand j’ouvre une scène, mais c’est le include qui râle. Même fichier, même ligne.

Au moins, le nouveau logo est joli. :sunglasses:

Même erreur, parfois ça me fait à la place une erreur à l’inclusion de aussi.

Même erreur lorsque je double-clique sur la scène dans le gestionnaire des projets.
Comme ça ne marchait pas, j’ai essayé d’autres choses. J’ai créé une feuille d’évènements externes. Puis, un texte s’affiche : “Ajouter une condition”, mais lorsque je passe le curseur du gestionnaire à l’éditeur d’évènements, ce texte disparaît. J’ai beau cliquer là où il était, rien ne se passe…

EDIT : Je trouve que l’aide ainsi que le tutoriel méritent aussi une mise à jour. Je dis ça parce que plus Game Develop évolue, plus ces deux fichiers s’éloignent de l’éditeur.

EDIT 2 : Autre petit bug, on peut ouvrir deux instances de Game Develop à la fois !

EDIT 3 : Aucune erreur ne s’affiche à la fermeture de Game Develop. :slight_smile:

EDIT 4 : Ca veut dire que les événements vont être exécutés directement depuis le PlayWin ?

J’ai essayé d’ouvrir la dernière version de mon jeu, et dès que j’ouvre la scène principale, le logiciel plante;
la console elle aussi plante immédiatement et j’ai juste eu le temps de faire une capture d’écran :

Mais j’ai l’impression que l’erreur affichée sur la console n’est pas liée au crash, car des fois le chargement
de la scène continue un peu après.

Au passage pour la présentation, ça utilise un langage spécifique comme le CSS par exemple ? Auquel cas on pourrait te filer un coup de main :slight_smile:

Alors, ça plante dès que j’ouvre une scène (elle s’affiche mais le plantage a lieu moins d’un dixième de seconde après) avec la même erreur que les autres.
A savoir que le fichier FileManager.cpp n’existe pas dans ton Game Develop.
Je peux rien faire…

EDIT : Je sais pas si ça peut être utile, mais tous les fichiers (il y en a un à chaque fois) de Temporaries contiennent ça :

[code]#include <stdio.h>
extern void * pointerToRuntimeContext;
int _CRT_MT = 1; //Required, when using O3, but not exported by any dlls?

int main()
{
RuntimeContext * runtimeContext = static_cast< RuntimeContext *> (pointerToRuntimeContext);return 0;
}[/code]

C’est normal que ça ne fonctionne pas, le type RuntimeContext n’est pas déclaré pour le main.

C’est pas ça la cause du bug de GD2 car ce genre de chose provoquerait une erreur de LLVM (le compilateur des jeux créés avec GD2)

Est-ce que ces erreurs pourrait venir du fait que GD ne trouve pas les fichier .h car il ne cherche pas dans son dossier d’exécution.
Je n’ai pas le bug avec stdio.h peut-être car le dossier de minGW est dans mon PATH ?

Moi ça ne marche pas, en éditant une scène, ça bug, fichier manquant
même pas pue voir ce que sa donnais :cry:

Oui, dayvid, c’est le bug que tout le monde a sauf 4ian.

EDIT : C’est une assertion qui plante Game Develop, c’est normalement désactivable mais elle doit révéler une erreur cachée.

Moi j’ai un bug dès que j’ouvre un jeux (j’ai essayer tout les exemple recrée un nouveau jeux modifier les taille fenêtre…) Rien!

(En tout cas pas besoin d’attendre sa sortie si on veut les icônes et les images du lancement…)

Désolé 4ian mais je ne testerai pas pour l’instant.
Je suis à fond sur SGL et j’ai pas trop envi de me retrouver bloqué.

J’ai mis en ligne une deuxième bêta, voir mon premier post. J’ai testé sur deux autres PC, dont un qui n’a jamais eu de compilateur d’installé, et c’est donc normalement réglé. Je n’avais pas compris qu’un fichier utilisait des noms de fichiers qui faisait directement référence aux répertoires de mon ordinateur, et j’avais zappé d’autres fichiers par dessus le marché.

Y a rien de méchant à faire, la version bêta ne s’installe pas, il suffit de l’extraire et de la lancer pour tester.
( Par contre, n’enregistrez pas votre jeu avec cette version, sans quoi vous pourrez plus ouvrir votre jeu avec la version 1.x ). Donc tant que vous n’enregistrez pas, y a rien à craindre, au contraire, vous vous assurez que vos jeux fonctionnent correctement dessus.

Il est déclaré dans l’entête précompilé qui pose problème.

Normal, c’est une version de développement.

L’éditeur d’évènements ? Hélas non, j’ai regardé de ce coté pour voir si il y avait moyen de rendre les évènements avec du HTML+CSS, mais rien de concluant de ce coté là. Le rendu est donc toujours fait en interne.

Merci 4ian , je vais tester la beta

Ca marche maintenant très bien, enfin presque.
La compilation est un peu plus lente que chez toi, en même temps, j’ai pas un Intel Core i5, ni même i3. :laughing:

Il y aurait moyen que GD2 se force d’utiliser ces header de mingw et pas les miens parce que ça me mets : fatal error : the file c:\mingw\include\blabla.h has been modified since the last precompiled header.

Ca plante sur les PC non compatible avec les shaders.
Apparemment, il faut rajouter une vérif avant d’afficher les objets Lumiere, sinon ça crash.
Voir ci dessous.

[code]*****************************************************************
Création d’une nouvelle scène, puis basculement vers une scène déjà créée = plantage


Config file setted
Language loaded
Image Handlers loaded
Single instance checked
GDL checked
Help file setted
Crash management ended
Splash Screen created
Game Develop - 2.0.10470.52829 Beta
Built 12/08/2011
Target system : Windows, 32-bits

Initializing LLVM/Clang…
Loading libstdc++…
Loading extensions
New extension added to manager : BuiltinObject
New extension added to manager : BuiltinCommonInstructions
New extension added to manager : BuiltinCommonConversions
New extension added to manager : BuiltinVariables
New extension added to manager : BuiltinMouse
New extension added to manager : BuiltinScene
New extension added to manager : BuiltinTime
New extension added to manager : Sprite
New extension added to manager : BuiltinMathematicalTools
New extension added to manager : BuiltinCamera
New extension added to manager : BuiltinAdvanced
New extension added to manager : BuiltinKeyboard
New extension added to manager : BuiltinAudio
New extension added to manager : BuiltinFile
New extension added to manager : BuiltinJoystick
New extension added to manager : BuiltinNetwork
New extension added to manager : BuiltinWindow
New extension added to manager : BuiltinStringInstructions
New extension added to manager : AES
New extension added to manager : AStarAutomatism
New extension added to manager : Box3DObject
New extension added to manager : CommonDialogs
New extension added to manager : Function
New extension added to manager : Light
New extension added to manager : LinkedObjects
New extension added to manager : Network
New extension added to manager : ParticleSystem
New extension added to manager : PathAutomatism
New extension added to manager : PhysicsAutomatism
New extension added to manager : PrimitiveDrawing
New extension added to manager : TextEntryObject
New extension added to manager : TextObject
New extension added to manager : TimedEvent
New extension added to manager : VideoObject
Loading extensions : End
Creating main window
Connecting shortcuts

Tests unitaires en cours :
Aucune erreur de test
OpenObjectsOpenGroupesObjetsOpenGroupesObjetsOpenObjectsOpenPositionsEventsEvent
sEventsEventsEventsReload:
ReloadFirstPart:
New worker launched
Compilation: Worker started compilation task(s).
Game and scene copy made, executionEngine shared_ptr ok.
Generating C++ code…
C++ events file to bitcode compilation started

Creating Clang compiler job…

ReloadSecondPart
Chargement :Loading scene
Chargement :Loading objects resources
Chargement :Adding objects to their initial position
Chargement :Loading finished
clang invocation:
“” “-cc1” “-triple” “i686-pc-mingw32” “-fsyntax-only” “-disable-free” “-main-fi
le-name” “0xd380de8events.cpp” “-mrelocation-model” “static” “-mdisable-fp-elim”
“-mconstructor-aliases” “-momit-leaf-frame-pointer” “-resource-dir” “…\lib\c
lang\3.0” “-include-pch” “include/GDL/GDL/RuntimePrecompiledHeader.h.pch” “-D”
“GD_IDE_ONLY” “-D” “GD_API=__declspec(dllimport)” “-D” “GD_EXTENSION_API=__decls
pec(dllimport)” “-D” “DEV” “-I” “Extensions/include” “-I” “include/GDL” “-I” “in
clude/SFML/include” “-I” “include/TDM-GCC-4.5.2/include” “-I” “include/TDM-GCC-4
.5.2/lib/gcc/mingw32/4.5.2/include” “-I” “include/TDM-GCC-4.5.2/lib/gcc/mingw32/
4.5.2/include/c++” “-I” “include/TDM-GCC-4.5.2/lib/gcc/mingw32/4.5.2/include/c++
/mingw32” “-I” “include/boost” “-I” “include/llvm/tools/clang/lib/Headers” “-I”
“include/wxwidgets/include” “-I” “include/wxwidgets/lib/gcc_dll/msw” “-w” “-fdep
recated-macro” “-fno-dwarf2-cfi-asm” “-ferror-limit” “19” “-fmessage-length” "80
" “-fcxx-exceptions” “-fexceptions” “-fno-use-cxa-atexit” “-fgnu-runtime” “-fdia
gnostics-show-option” “-fcolor-diagnostics” “-x” “c++” “Temporaries/0xd380de8eve
nts.cpp”

Creating compiler instance…
Compiling…
Writing bitcode…
Events C++ file to bitcode compilation ended.
Compilation duration: 2.42575s
Mapping objects of execution engine…
JIT Compilation to machine code…
JIT Compilation duration: 0.00224191s
Scene compilation successful. Total duration: 2.4983s
Reload:
ReloadFirstPart:
New worker launched
Compilation: Worker started compilation task(s).
Game and scene copy made, executionEngine shared_ptr ok.
Generating C++ code…
C++ events file to bitcode compilation started

Creating Clang compiler job…

clang invocation:
“” “-cc1” “-triple” “i686-pc-mingw32” “-fsyntax-only” “-disable-free” “-main-fi
le-name” “0xd43b9e8events.cpp” “-mrelocation-model” “static” “-mdisable-fp-elim”
“-mconstructor-aliases” “-momit-leaf-frame-pointer” “-resource-dir” “…\lib\c
lang\3.0” “-include-pch” “include/GDL/GDL/RuntimePrecoReloadSecondPart
Cmpiledhargement :Loading scene
Chargement :HeaderLoading objects resources
ImageManager: Load G.h.pchrueDeTriage-Bad.png
I” "-D"mageManager: Load GrueDeTriage-BoiteBleue.png
“GD_IImageManager: Load GrueDeTriage-BoiteRouge.png
DE_ONLImageManager: Load GY” “-DrueDeTriage-BoiteVerte.png
I” “GD_mageManager: Load GrueDeTriage-BouleBleue.png
API=__ImageManager: Load GrueDeTriage-BouleRouge.png
declspec(dllImageManager: Load GrueDeTriage-BouleVerte.png
importImageManager: Load GrueDeTriage-Ok.png)” "-D
ImageManager: Load " “GD_GrueDeTriage-Pince.png
EXTENSION_APChargement :Adding objects to their initial position
I=__declspec(dllimport)” “-D” “DEV” “-I” “Extensions/include” “-I” “include/GDL”
“-I” “include/SFML/include” “-I” “include/TDM-GCC-4.5.2/include” “-I” “include/
TDM-GCC-4.5.2/lib/gcc/mingw32/4.5.2/include” “-I” “include/TDM-GCC-4.5.2/lib/gcc
/mingw32/4.5.2/include/c++” “-I” “include/TDM-GCC-4.5.2/lib/gcc/mingw32/4.5.2/in
clude/c++/mingw32” “-I” “include/boost” “-I” “include/llvm/tools/clang/lib/Heade
rs” “-I” “include/wxwidgets/include” “-I” “include/wxwidgets/lib/gcc_dll/msw” “-
w” “-fdeprecated-macro” “-fno-dwarf2-cfi-asm” “-ferror-limit” “19” “-fmessage-le
ngth” “80” “-fcxx-exceptions” “-fexceptions” “-fno-use-cxa-atexit” “-fgnu-runtim
e” “-fdiagnostics-show-option” “-fcolor-diagnostics” “-x” “c++” “Temporaries/0xd
43b9e8events.cpp”

Creating compiler instance…
Compiling…
Creating Light ManagerFailed to create a shader: your system doesn’t support sha
ders (you should test Shader::IsAvailable() before trying to use the Shader clas
s)
Chargement :Loading finished
Assertion failed: DirInfo && “The directory of a virtual file should already be
in the cache.”, file D:\Florian\Programmation\GameDevelop2\ExtLibs\llvm\tools\cl
ang\lib\Basic\FileManager.cpp, line 413

This application has requested the Runtime to terminate it in an unusual way.
Please contact the application’s support team for more information.[/code]

Toujours le même problème pour le bêta 2 : Dans l’éditeur d’événements s’affiche le texte “Ajouter une condition”, et dès que je passe la souris sur l’éditeur, le texte disparaît, et je ne peux rien faire. :astonished:

Un ptit dernier pour la route :

ImageManager: Load trollface.png Failed to create image, its internal size is too high (8192x4096, maximum is 204 8x2048)
Les images trop grandes ne sont pas affichées dans l’éditeur de scène.
Les images sont limitées à 2k x 2k ?

Au passage, ce serait bien qu’on puisse avoir les mêmes actions dans la fenêtre “Liste des Objets de la scène” que celles de la fenêtre “Editeur d’Objets”.
Dans le cas présent, je ne peux pas supprimer les images mal affichées, car trop petites pour être cliquées. Rageant, alors que je peux les sélectionner depuis la liste d’objets de la scène.