Inscrit le: 13 Avr 2010 Messages: 1676 Localisation: Devant l'IFSCL.
Mophie >> pas exactement. T'auras plus de détails lorsque j'attaquerais ça concrètement.
La version 3.1.3.c est sortie pour MAC & LINUX. le lien de téléchargement à simplement été remplaçé, donc si vous êtes sous ces plateformes go >> http://en.codelyoko.fr/ifscl/download.cl
Faudra attendre Lundi pour les versions WINDOWS (il me manque des fichiers à disposition).
Inscrit le: 11 Nov 2015 Messages: 37 Localisation: Territoire Montagne
Salut Immu,
Je viens de tester la 3.1.3c et on ne peut absolument rien faire.
Quand on démarre une partie ça ouvre la vmap et la carte com d'Aeltia mais pas le terminal. Les bouton cliquable qui se trouve tout en haut de l'interface ne s'affiche pas donc on ne peut pas ouvrir le terminal.
Inscrit le: 13 Avr 2010 Messages: 1676 Localisation: Devant l'IFSCL.
Ce serait bon que tu aille au bout du tuto à la base déjà (quand bien même en effet la vmap et la carte com ne sont pas sensés s'afficher).
Quel OS ? Linux ? D'autres bugs ont été rapportés sur cet version pour Linux, mais je ne pourrais pas y faire grand chose avant un temps je pense, c'est des problèmes moteurs, et je ne prévois pas de le mettre à jour pour la prochaine version vu qu'il est plutôt stable pour windows. _________________ JeuVidéo IFSCL (Interfaces Fictionnelles Simulées de Code Lyoko)
Inscrit le: 11 Nov 2015 Messages: 37 Localisation: Territoire Montagne
Je suis sous Windows 10 . Et j'avais terminer le tutoriel et toujours rien. Cest juste que j'ai recommencer une partie pour faire le screen.
Edit :
Je m'excuse Immu, je viens de redémarrer l'IFSCL et là oui après avoir fini le tutoriel l'interface est apparu mais hier, j'avais fini le tutoriel et il ne sais rien passé.
Dernière édition par jodlny le Mar 19 Jan 2016 18:49; édité 1 fois
Inscrit le: 13 Avr 2010 Messages: 1676 Localisation: Devant l'IFSCL.
Peut être qu'il y a un conflit lorsque tu demande "aelita sur lyoko" à l'initialisation du jeu et que le tuto n'est pas bien terminé.
Reset le jeu via les options, désactive 'aelita sur lyoko' et reteste stp _________________ JeuVidéo IFSCL (Interfaces Fictionnelles Simulées de Code Lyoko)
Inscrit le: 11 Nov 2015 Messages: 37 Localisation: Territoire Montagne
C'est bon je viens de retester avec les options remise à zéro, et ça marche, comme tu la dit il y eu dut y avoir un conflit dans le code au démarrage de a partie.
Inscrit le: 03 Juil 2015 Messages: 32 Localisation: avec Franz Hopper
Immu, est ce qu'il pourrait avoir l'accumulation des commandes lors qu'on transfere plusieurs LG en même temps ? _________________
Il est sensé d'être insensé
Inscrit le: 13 Déc 2010 Messages: 354 Localisation: Dans le kernel !
Salut Immu (et salut les autres aussi d'ailleurs);
Je viens de faire un petit dive in Unity et je dois dire qu'après ça, je suis encore plus impressionné par ton travail (et la refonte 3.x.x).
Non pas qu'Unity soit compliqué à prendre en main, mais que le temps nécessaire est juste monstrueux... Bon il faut dire que j'ai passé deux jours sur un parser de texte et une progress bar paramétrique, je dois pas être bien malin...
Par contre, cela m'amène pleins de questions internes sur la manière dont l'ifscl est faite.
Premièrement, l'absence du splashscreen Unity laisse à penser que tu travaille sous la version pro, qui doit être à la paille de 1500$. Tu as acheté la licence, tu en as une par ta boite / ton école, ou il y a un trick subtil pour planquer le splashscreen ? (J'ai vu des gens faire des choses plus ou moins propres pour le remplacer, mais jamais pour le virer).
Ensuite, connaissant le passé de l'IFSCL (et avec une petite idée des outils que tu utilise sur tes autres projets), j'aimerais supposer qu'une grande partie des graphiques 2D est vectorielle. Mais vu comment Unity gère les trucs vectoriels (et la rasterisation ) de manière native... Je doute un peu ! Tu as développé un moteur de rasterisation spécial pour l'ifscl ? À moins que tu en utilise un provenant de l'asset store ? J'en ai vu des pas trop chers, aucune idée de leurs fonctionnalités.
Comme le viewport principal de l'ifscl est un canevas 2D (enfin je suppose ?), ça ne pose pas de problème quand tu applique des Image Effects aux sous caméras qui gèrent entre autres les viewports 3D ? Comment, en ce cas, tu gère les superpositions ? Ça fait partie des routines de ton gestionnaire de fenêtres (qui, je suppose est fait maison, je viens d'y penser... )
JS ou C# ? C'était la question la plus courte du monde, merci beaucoup !
Vu tout ce qui peut se passer en même temps de manière asynchrone (variété des fenêtres ouvertes), la stratégie globale est de multiplier les coroutines ? Ou bien tu est allé jusqu'à faire un scheduller ?
À l'inverse, vu tous les évènements qui appellent à des connexions entre les fenêtres, comment elles communiquent avec l'extérieur ? Chacune est reliée aux autres GameObjects dont elle dépend, ou bien une classe principale sert elle de point névralgique ?
L'IFSCL résiste très bien à des rezise de résolution assez violents. C'est dû à un usage de graphismes vectoriels ? C'est pas un peu le bordel de gérer tous ces alignements et les ancres ? Ceci dit tu me diras, tout s'aligne de manière à peu près homogène...
Bon, bon, bon. C'est tout pour moi. Beaucoup (trop) de questions, désolé.
Inscrit le: 13 Avr 2010 Messages: 1676 Localisation: Devant l'IFSCL.
Oh des questions techniques, c'est rare :3
Citation:
Ensuite, connaissant le passé de l'IFSCL (et avec une petite idée des outils que tu utilise sur tes autres projets), j'aimerais supposer qu'une grande partie des graphiques 2D est vectorielle. Mais vu comment Unity gère les trucs vectoriels (et la rasterisation Shocked ) de manière native... Je doute un peu ! Tu as développé un moteur de rasterisation spécial pour l'ifscl ? À moins que tu en utilise un provenant de l'asset store ? J'en ai vu des pas trop chers, aucune idée de leurs fonctionnalités.
La plupart des graphs étaient vectoriels, je les faisait direct sous flash (illustrator j'ai jamais aimeé), ce qui me permettait de prototyper rapidement.
Cependant, même lorsque le moteur était encore flash, le vecto consommait trop, et j'avais déjà commencé à les convertir direct en bitmap et à remplacer les images au fur et à mesure.
Après j'ai fait mon passage sous scaleform/unity, qui me permettait d'avoir donc un moteur de tesselation - tout les trucs vectos devenaient des vrais polygones colorés, pas la meilleure des méthodes vu le nombre de détail mais c'était mieux.
Ensuite, vu que scaleform était au final très peu supporté, et malgré l'investissement financié que j'avais du faire, j'ai décider d'abandonner pour me concentrer sur Unity et refaire tout le jeu. Maintenant tout est en bitmap, d'où le poids bien plus conséquent du jeu. Je fais la moitié des trucs en vecto, et je les exporte depuis flash en bitmap.
Je fait essentiellement des sprites et spritesheet que j'utilise via le système de UI de unity.
Evidemment,maintenant je dois beaucoup plus planifier en avance la création des assets.
Citation:
Premièrement, l'absence du splashscreen Unity laisse à penser que tu travaille sous la version pro, qui doit être à la paille de 1500$. Tu as acheté la licence, tu en as une par ta boite / ton école, ou il y a un trick subtil pour planquer le splashscreen ? (J'ai vu des gens faire des choses plus ou moins propres pour le remplacer, mais jamais pour le virer).
Verison pro payée. Le plus gros investissement que j'ai jamais fait en software, mais je le regrette pas. Je l'utilise vraiment 4 à 16h par jour pour mes projets persos. (enfin qd je suis pas au taff quoi)
Citation:
Comme le viewport principal de l'ifscl est un canevas 2D (enfin je suppose ?), ça ne pose pas de problème quand tu applique des Image Effects aux sous caméras qui gèrent entre autres les viewports 3D ? Comment, en ce cas, tu gère les superpositions ? Ça fait partie des routines de ton gestionnaire de fenêtres (qui, je suppose est fait maison, je viens d'y penser... Laughing )
Certains Image Effects utilisés sur des RawImages (vmap, visuel aelita, rendu 3d des persos) posent en effet des problèmes de rendu, comme les effets de blur par exemple. Donc certains sont justes impossibles. A moins de très bien s'y connaitre en shader et autres, je suis loin d'être assez expérimenté, même si j'ai fait quelques progrès l'année dernière.
Les superpositions c'est simplement des changement de hauteur dans la hiérarchie °^°...
Citation:
JS ou C# ?
C#! définitivement. Langage objet comme l'AS3, je m'y suis fait vite, et franchement, on trouve plus facilement en C#.
Citation:
Vu tout ce qui peut se passer en même temps de manière asynchrone (variété des fenêtres ouvertes), la stratégie globale est de multiplier les coroutines ? Ou bien tu est allé jusqu'à faire un scheduller ?
Et c'est là que mon apprentissage auto-didacte montre ses limites. J'ai essayer quelques coroutines, mais je suis même pas sûr de toujours capter ce que c'est, et j'ai jamais entendu parler des scheduller Xp. (mais j'en fait peut être).
Citation:
À l'inverse, vu tous les évènements qui appellent à des connexions entre les fenêtres, comment elles communiquent avec l'extérieur ? Chacune est reliée aux autres GameObjects dont elle dépend, ou bien une classe principale sert elle de point névralgique ?
Pour les évènements des fenêtres, c'est un truc que j'avais commençé à mettre en place déjà dans la version Flash. Elles ne sont pas dans les gameobjects, car il m'arrive de les desactiver. et j'ai jamais eu trop confiance dans les scripts des GameObjects désactivés.
Le gameobject de la fenêtre a juste un script 'graphTypeFenetre' par type de fenêtre, chacun ayant des places dans lesquels je peux drag'n'dropper les éléments particuliers de cette fenêtre que je veut ensuite appeler par script dans le script "ActionsTypeFenetre" (qui contient des fonctions statiques uniquement dans le cas des fenêtre 'multipliables').
J'évite au max tout ce qui est FindGameObject bla bla..
Citation:
L'IFSCL résiste très bien à des rezise de résolution assez violents. C'est dû à un usage de graphismes vectoriels ? C'est pas un peu le bordel de gérer tous ces alignements et les ancres ? Ceci dit tu me diras, tout s'aligne de manière à peu près homogène...
Dès le début j'avais choisi la réso de 1650x1080, ce qui était gros pour l'époque, maintenant on est dans du 1920x1080 en moyenne, donc ça passe encore bien.
Après pour ce qui est du côté 'responsive design', le système de UI est juste le meilleur au monde pour ça. _________________ JeuVidéo IFSCL (Interfaces Fictionnelles Simulées de Code Lyoko)
Inscrit le: 13 Déc 2010 Messages: 354 Localisation: Dans le kernel !
Ouah, faster than light !
Héhé jvais t'embêter, mais tes réponses soulèvent d'autres questions.
Pourquoi choisir du bitmap ? C'est pas juste énorme pour les fichiers générés ? C'est la rapidité de lecture que tu recherche par rapport à une compression lossless ?
Le spritesheet s'affiche pas. Mais le composer à la main, j'imagine bien les soirées délire... C'était pas rentable de scripter l'opération ? Edit : Bon, ben il s'affiche, je suis un boulet. Je l'imaginais pas comme ça, du coup c'est totalement con ce que j'ai écrit, c'est pas scriptable du tout. x)
Mon dieu mais tu as acheté Unity ! oO Tu le "rentabilises" sur autre chose que l'IFSCL ?
Quand je pense que certains studios indés se plaignent de pas pouvoir se payer la version pro.
Pour les superpositions, Unity a parfois des problèmes (avec le Stencil Buffer sans doute), et les effets s'appliquent à des layers où ils ne devraient pas. Je pense qu'Unity a encore des progrès à faire sur les shaders, car certaines choses sont juste pas possibles (comme appliquer du glow a certains éléments seulement d'une scène 3D...)
Héhé, je suis dubitatif sur l'intérêt du JS vu comment l'API C# d'Unity est nickel. Ceci dit, ça change pas grand chose généralement. L'intérêt c'est de pas utiliser un language de Microsoft en fait
Les coroutines sont en effet très décoroutantes (au moins pour nous deux en tout cas), mais ça semble assez puissant. Comment tu gère les opérations timées (trucs qui clignotent, etc) si tu t'en sers pas ?
Un scheduler c'est un truc qui s'occupe de synchroniser d'autre trucs et surtout de gérer la manière dont ils accèdent à des ressources, mon emploi du terme était vraiment abusif...
Sinon, quand un GameObject est désactivé le principe c'est pas que la méthode Update() soit plus appellée ?
Niveau résolution, de l'intérêt de prévoir large. Brillamment prévoyant ! J'avais du 1920*1200 du temps de la 2.x.x et je savais même pas que c'état conçu pour des résolutions inférieures. Enfin, il y avait des vectoriels, mais bon.
C'est vrai que bien pensé, le système d'UI est assez plaisant (choisir qu'est ce qui est rezisé, qui s'aligne où, etc).
Inscrit le: 13 Avr 2010 Messages: 1676 Localisation: Devant l'IFSCL.
Citation:
Quand je pense que certains studios indés se plaignent de pas pouvoir se payer la version pro.
Bein j'ai économiser plusieurs mois de salaire. C'est un gros investissement certes, m'enfin à part en ayant une famille à nourrir, un appart à 1000 euros par mois, une affreuse manie d'acheter n'importe quoi tout le temps, ou des putains de dettes d'école, je vois pas comment un célibataire avec un smic ne peut pas faire ça.
Citation:
Pourquoi choisir du bitmap ? C'est pas juste énorme pour les fichiers générés ? C'est la rapidité de lecture que tu recherche par rapport à une compression lossless ?
Puissance de calcul, le vecto consomme immensément plus. Le bitmap, c'est la mémoire qu'il consomme. Et dieu sait si les gens ont généralement plus de mémoire que de puissance de calcul.
L'IFSCL tourne bien mieux ainsi, grâce aux optims, je crois qu'elle consomme moins d'un GB de mémoire, ce qui est rien du tout en plus.
Et puis tu peux voir le résultat, niveau poids j'optimise bien, le jeu n'atteint même pas les 500 mo malgré le grand nombre d'images. Et parfois d'animations en images par images : j'essaye d'éviter, mais certains effets seraient trop couteux à faire en particules ou flous et autres, donc je choisi la mémoire (une centaines d'images avec un sprite qui les fait défiler) plutôt que le calcul (des game objects et des render textures avec des effets spéciaux), c'est toujours une balance à maitriser.
Peut être à la fin il fera 2GB, mais même là, c'est très peu vis à vis de ce qui se fait aujourd'hui.
Citation:
Pour les superpositions, Unity a parfois des problèmes (avec le Stencil Buffer sans doute), et les effets s'appliquent à des layers où ils ne devraient pas. Je pense qu'Unity a encore des progrès à faire sur les shaders, car certaines choses sont juste pas possibles (comme appliquer du glow a certains éléments seulement d'une scène 3D...)
Bein, glow sélectif, y'a des trucs pour ça, mais ça demande de faire des passes supplémentaire sur la caméra en plus, et ça consomme plus.
Comme moi je vise toujours au plus bas (et au plus joli en même temps), ça ne passe pas le cahier de contraintes que je me suis fixé. (et j'évite de faire une ultra jolie version qui va consommer à mort juste pour les 3 joueurs qui auront des ordis de malades, j'ai pas le temps pour ça, je me suis déjà fixé 4 niveaux de qualité graphique, c'est suffisant à devoir gèrer).
J'ai encore des problèmes avec les masques et shader additif sur les sprites notamment (visibles dans le livestream où je bosse sur la fenêtre de sat) https://www.youtube.com/watch?v=3L0QQGHhS2k vers 2h15 il me semble
Citation:
Les coroutines sont en effet très décoroutantes (au moins pour nous deux en tout cas), mais ça semble assez puissant. Comment tu gère les opérations timées (trucs qui clignotent, etc) si tu t'en sers pas ?
Certaines anims, c'est dans les anims elles mêmes, avec des event à certaines frames (bien que le système soit très balbutiant pour unity). Où sinon je me base sur les fonctions 'update' des classes que j'utilise. J'ai fait une classe 'timer'
pour optimiser le tout et limiter le nombre d'appel à la miliseconde ou seconde selon la rapidité d'update que je souhaite pour chaque objet.
C'est sûrement pas la meilleure façon de faire, mais c'est loin de porter atteinte aux fps vu que je suis un minimum prudent. Seule la partie graphique peut ralentir le jeu.
Citation:
Sinon, quand un GameObject est désactivé le principe c'est pas que la méthode Update() soit plus appellée ?
Inscrit le: 13 Déc 2010 Messages: 354 Localisation: Dans le kernel !
Citation:
Citation:
Pourquoi choisir du bitmap ? C'est pas juste énorme pour les fichiers générés ? C'est la rapidité de lecture que tu recherche par rapport à une compression lossless ?
Puissance de calcul, le vecto consomme immensément plus. Le bitmap, c'est la mémoire qu'il consomme.
Bien que ta prose sur la mémoire est très intéressante, on ne s'est pas compris je crois.
Ma question c'était pas "pourquoi tu fais des images matricielles à la place d'images vectorielles", chose que tu avais déjà éclairée plus haut ; mais plutôt "pourquoi tu prends un format matriciel bitmap non compressé à la place d'images matricielles compressées sans perte" (style png ou jpeg lossless).
Citation:
Bein, glow sélectif, y'a des trucs pour ça, mais ça demande de faire des passes supplémentaire sur la caméra en plus, et ça consomme plus.
À titre personnel, si un jour tu as le temps et la volonté de m'expliquer plus en détail ou de me rediriger vers une doc quelconque ça m'intéresse beaucoup, parce que j'ai vraiment galéré comme un fou pour au final tirer un trait sur l'idée...
Ton discours sur "équilibre" de performances et ton humilité graphique sont absolument remarquable, on peut tous te féliciter et te remercier pour ça. Je suis absolument d'accord avec toi sur ces sujets (en particulier la version gpu killer qui au final ne sert qu'à servir l'ego de son auteur). Notons que tu fais en indépendant ce que des gros studios de production n'ont toujours pas compris, mais bon. :neutral:
J'ai regardé un bout du livestream après le timing indiqué, et j'ai rien remarqué de particulier concernant l'additive.
Citation:
J'ai fait une classe 'timer' pour optimiser le tout et limiter le nombre d'appel à la miliseconde ou seconde selon la rapidité d'update que je souhaite pour chaque objet.
Je vois. Je sais pas trop ce que ça signifie que la qualité du code dans l'absolu. C'est clair qu'il faut être, comme tu dis, prudent ; mais si ça se trouve c'est même pas moins performant que d'utiliser la race de coroutines avec des WaitForSeconds().
Vous ne pouvez pas répondre aux sujets dans ce forum
Toutes les heures sont au format GMT + 1 Heure
Vous ne pouvez pas poster de nouveaux sujets dans ce forum Vous ne pouvez pas répondre aux sujets dans ce forum Vous ne pouvez pas éditer vos messages dans ce forum Vous ne pouvez pas supprimer vos messages dans ce forum Vous ne pouvez pas voter dans les sondages de ce forum