Le scripting.
Le scripting.
Bon retour! J'ai eu peur que le projet tombe dans l'oublie
Sans nécessairement aller dans quelque chose d'aussi complexe que le scripting au runtime, si tu fais un éditeur qui permet à un utilisateur de créer n'importe quel map, placer des ennemies, choisir ses points de vie, boîte de dialogue, etc, ça serait parfait
Vu que 1) ce n'est pas moi qui code, et que 2) il serait étonnant que j'ai à utiliser ton éditeur malgré tout le bien que je pense de ton projet, c'est toi qui voit ^^
Bonsoir
Doucement doucement, j'ai dit que je souhaitais trouver un bon compromisEnvoyé par yahiko
L'éditeur permettra tout cela Cependant l'ajout d'un objet inédit passera inévitablement par la création d'une nouvelle classe dans le jeu. Reste à limiter cela au maximum.Envoyé par maeiky
Bonsoir
Le développement de l'éditeur avance à grands pas
Cependant je souhaite prendre mon temps et ne pas me fixer de planning car je ne les tiens généralement pas
La voie que j'ai choisi de suivre me convient plutôt bien. L'éditeur est relativement modulable, suffisamment pour le projet je pense. En effet il est capable de charger n'importe quel fichier XML qui suit un minimum la trame imposée :
Code XML : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26 <object> <tab title="Main"> <group name="Coordinates"> <row> <label qt="1">X</label> <QLineEdit disable="1">0,00</QLineEdit> </row> <row> <label qt="1">Y</label> <QLineEdit disable="1">0,00</QLineEdit> </row> <row> <label qt="1">Z</label> <QDoubleSpinBox min="-1000000000" max="1000000000">0,00</QDoubleSpinBox> </row> </group> </tab> <tab title="Graphics"> <group name="Pixmap"> <row> <label qt="1">Texture</label> <QPushButton qdialog="QFileDialog">aurevoir/textures/pixmap.png</QPushButton> </row> </group> </tab> </object>
Lors de l'édition d'un objet, un formulaire est généré à partir de ce code :
- <tab> devient un onglet
- <group> devient un cadre
- <row> devient une ligne de formulaire contenant un label et un widget
Le programme est quasiment opérationnel dans son ensemble bien que je compte encore améliorer/optimiser certains points.
Mais du coup, c'est très proche d'un fichier .ui ?
Bonsoir,
Très proche je ne sais pas, je n'en ai jamais utilisé même si je sais à quoi ils ressemblent.
Disons que c'est du code XML que le programme interprète pour générer le contenu d'une fiche d'édition.
Donc dans la définition ça s'en approche oui
Bonsoir
Un petit message pour vous indiquer l'état d'avancement du projet sur lequel je travaille de nouveau sérieusement depuis 1 mois
Le projet complet s'articule autour de 3 parties :
- SpinyENGINE
- SpinyEDITOR
- Eerie Inhabitants
1. SpinyENGINE
Il s'agit du moteur qui fera tourner mon nouveau jeu.
Je n'y ai pas touché récemment, néanmoins j'y ai beaucoup pensé et vais m'y replonger très rapidement, dès que l'éditeur sera terminé.
La première étape sera de faire la liaison entre l'éditeur et le moteur.
Il est évident que les maps générées par l'éditeur devront pouvoir être chargées par le moteur afin de créer les objets de la scène.
2. SpinyEDITOR
Il s'agit de l'éditeur de map qui me servira à élaborer les scènes du jeu.
C'est la partie sur laquelle je travaille en ce moment. Il a fait l'objet d'une certaine réflexion il y a quelques semaines car je n'avais pas tout à fait fixé mon "cahier des charges".
Tout est beaucoup plus clair aujourd'hui.
L'éditeur est capable de charger "n'importe quel" objet défini dans un modèle XML avec une syntaxe bien précise.
Chaque objet peut ainsi contenir tous les champs dont il a besoin pour être décrit.
Une fois la map générée, le moteur sera capable de charger un grand nombre d'objets de façon autonome, mais pas tous...
Les objets plus complexe devront obligatoirement être implémentés dans le moteur pour prendre vie pleinement.
Je donne pour exemple le héros, qui par exemple est composé de 2 sprites qui s'animent chacun de façon asynchrone.
3. Eerie Inhabitants
L'objectif final est de créer le jeu Eerie Inhabitants à l'aide du moteur et de l'éditeur du projet.
Comme vous l'avez peut-être vu dans les démos, le moteur est déjà capable de donner vie au héros.
Cela est déjà un bon début dans la mesure où le héros est en général l'un des objets les plus complexe d'un jeu
3. Conclusion
Beaucoup de travail m'attend mais la motivation est bien là et je suis plutôt dans une période productive (ce n'est forcément toujours le cas )
Par ailleurs je travaille sur la réfection de mon site, ou plutôt de mon nouveau site.
Vous y trouverez notamment d'autres projets oubliés, moins ambitieux mais sans doute tout autant divertissants
Je vais essayer de vous partager le tableau des projets dès ce soir, vous y trouverez mon tout premier projet "Sonic SDL" pour lequel je peux céder le cheat code si vous êtes intéressés
Bonjour à tous,
Voici le tableau des projets dont je vous ai parlé :
http://www.ynothanstudio.net/site/in...ad&target=list
N'hésitez pas à prendre le temps de télécharger les anciens projets
Je suis à votre disposition pour vous distribuer les cheat codes
De mon côté, l'éditeur, à priori, est terminé à quelques détails près. Je travaille maintenant sur le site que je souhaitais refaire depuis très très très longtemps
Je viens de télécharger Eerie Inhabitants.
C'est pas mal. Les commandes répondent bien et l'animation du héros est tout à fait convaincante.
Bon courage et bonne continuation
PS : Je voulais savoir un truc. Le sprite du héros, il est de toi ou c'est un asset externe ?
Merci beaucoup
En ce qui concerne mon héros, j'ai repris le personnage de Halo Zero dans la mesure où je suis incapable de dessiner ce genre de personnage et que je souhaitais un héros armé digne de ce nom.
J'ai rapidement décidé de bien séparé le buste des jambes, donc j'en ai fait mes propres grilles pour que le buste puisse pivoter indépendamment des jambes
Hey Ynothan !
Je n'avais pas vu ton nouveau site que je me suis empressé de visiter.
C'est très sommaire, mais cela a le mérite d'être clair et concis.
Je ne savais pas que tu avais fait d'autres projets à part Sonic Sfml dis donc !
C'est sympa en tout cas de faire partager tout ça.
Bon courage !
Merci Vetea
Je l'ai mis en ligne ce soir J'hésite à écrire un nouveau sujet pour en faire une brève présentation car le site n'est pas spécifiquement lié au projet actuel.
Effectivement j'ai souhaité réaliser un site relativement épuré. Et comme rien n'est figé en informatique, il pourra toujours être davantage alimenté par la suite
Sinon oui, j'ai fait 2 autres projets avant Sonic & Knuckles SFML, si on peut dire, car le Tetris like a été développé en 1 semaine
Un projet est un projet qu'il ai demandé un an ou un jour.
Mais j'aime le côté épuré du site, très lisible.
Ça manque de médias par contre ... Mais bon, je suis un inconditionnel des vidéos & images ... Et puis mon site n'est pas une référence non plus !
Pour en revenir a ton dernier projet, j'ai hâte de découvrir le "véritable" jeu même si l'épitaphe demande un maximum de discrétion de ta part pour en dévoiler un minimum.
Ton projet dans l'idée que j'en ai, me fait penser au fabuleux "Flashback".
Si tu connais pas, tu pourrais t'en inspirer pour gon jeu concernant le design général, la mise en scène du scénario, etc ...
Bon courage amigo !!
Merci
Concernant les vidéos / images, je pense que tu n'as pas vu que tu pouvais cliquer sur les images dans "l'index des projets".
Il y a une page de présentation pour chaque projet
Sinon oui je connais Flashback mais je pense que je vais y rejouer pour bien me le remettre en mémoire
J'ai hâte de vous en dévoiler davantage moi aussi mais chaque chose en son temps
Hello !
Petite déception ce soir : l'objectif était de migrer vers SFML 2.3
J'ai commencé par tenter une simple migration mais la version du compilateur ne semblait pas compatible. Malgré une compilation sans erreur, mon programme se crashait à l'ouverture.
J'ai donc pris la décision de compiler ma propre release SFML. Ne l'ayant pas fait depuis longtemps, j'avoue avoir mis un certain temps à y parvenir
Une fois chose faite, j'ai recompilé entièrement mon moteur. J'ai eu le plaisir de constater que cela fonctionnait, mais ce fut de courte durée.
Mon problème de focus / événements clavier ne semble pas être résolu avec cette nouvelle version SFML
Pour rappel, lors du lancement du programme, les événements clavier sont totalement ignorés. Il faut ouvrir une fenêtre Qt puis la refermer afin de redonner le focus.
J'ai ce problème depuis SFML 2.1, mais je vais me pencher sur le couplage Qt / SFML, je trouverai peut-être de ce côté là
Voilà, j'avais besoin d'en parler
Plus sérieusement, si quelqu'un a une piste, je suis preneur
Merci
Bonjour,
Est-ce que la fenêtre SFML est intégré dans un widget de Qt ? Le setFocus() sur le widget de Qt, ne règle pas le souci ?
Bonjour LittleWhite,
Oui la fenêtre SFML est intégrée en tant que "CentralWidget" dans une QMainWindow.
Le setFocus() ne règle pas le soucis.
En fait :
- je n'ai aucun problème avec les événements souris
- au démarrage du programme, les événements clavier sont ignorés
- si j'ouvre une fenêtre de dialogue Qt depuis la menuBar et que je la referme, les événements clavier sont de nouveau opérationnels
- si je réduis mon programme dans la barre des tâches et que je le réaffiche, les événements clavier sont de nouveau inactifs
Je deviens fou avec ce truc
Bonsoir
Alors voici un petit bilan de ces derniers jours.
On peut dire que je suis sur tous les fronts dans la mesure où j'ai travaillé à la fois sur le site, sur l'éditeur et sur le moteur
Ynothan Studio
Dans la section "Index des projets", il est possible de cliquer sur l'image du projet afin d'accéder à sa page de présentation.
Je me suis rendu compte que cela ne sautait pas aux yeux.
J'ai donc corrigé cette petite erreur : http://www.ynothanstudio.net/site/in...s&target=table
Merci Vetea
SpinyEDITOR
En ce qui concerne l'éditeur, j'ai apporté quelques modifications mais j'ai surtout retravaillé sur l'harmonie des icônes afin d'avoir une interface plus cohérente.
En dehors de cela, l'éditeur est sans doute proche de sa version finale même si j'aurai sans aucun doute des adaptations à revoir afin qu'il soit 100% compatible avec le moteur.
SpinyENGINE
Le site et l'éditeur étant maintenant proches de me satisfaire, c'est bien au niveau du moteur en lui-même qu'il me reste le plus gros du travail.
Néanmoins c'est une étape de franchie et je vais pouvoir me concentrer pleinement sur cette partie.
Je m'y suis déjà replongé cette semaine :
- J'ai effectué la migration vers SFML 2.3
- J'ai préparé le terrain pour charger une map générée par l'éditeur
- il s'agit ni plus ni moins que d'un fichier XML
- ce fichier est associé à une clé de cryptage pour éviter que des petits futés modifient ou corrompent la map Désolé
- le programme charge en premier lieu une liste de noms de fichiers relatifs aux différentes maps
- le programme peut ensuite charger l'un de ces fichiers de map : soit dans l'ordre, soit éventuellement à la demande dans le cadre d'un cheat code
Actuellement le programme est capable de charger un fichier de map et débute son interprétation : il construit un quadtree aux dimensions précisées dans le fichier.
L'étape suivante va être de poursuivre l'interprétation du fichier afin d'insérer des objets dans le quadtree
Partager