– Où est-ce que je met ça ?

Je reviens à la charge avec les bureaux et l’éditeur de ceux-ci.

A quoi ça sert ?

Un bureau sert à gérer des fenêtres, boutons et autre objets graphique, bref les OGs de LibK.

L’écriture d’un bureau est longue, abstraite et pénible (je le sais par expérience) autant écrire le contenu d’un Widows Form à la main…

L’éditeur est donc l’homologue de Visual Studio (en + simple et basique) adapté pour les OGs de LibK pour leurs intégration facile dans les projets GRAK.

Une future super classe de LibK : Bureau, sera le siège de la gestion des événements et rendus de cette couche. (capte et redistribue les événements, gère le rendu)

En découlera une classe auto-générée de base par l’éditeur selon vos désirs.

Ajoutez votre nouvelle classe bureau à votre projet de CR et inscrivez-le dans le gestionnaire de bureau de GRAK et le tour est joué.

Cette nouvelle classe contiendra le squellette suivant :

– décalaration de vos OGs et modification des propriétés de ceux-ci
– arborescence père-fils des OG entre eux
– écriture des fonctions vierge des événements désirés des OG (via l’éditeur : cases à cocher pré-établies par défaut)
– tout le code est indenté et #regionné selon la hiérarchie père-fils

Ceci devrait définir la première structure fiable d’OGs

Relation à des milliers de clusters d’ici

C’est l’époque des déménagements, liebesstein déménage, quitte le foyer natal sécuritaire et prend son indépendance… quoique il reste bien accroché à GRAK et restent sont bien lié via des écris registré.

Explication simple : pour jouer à des jeux en flash il vous faut le jeu et le plugin flash installé, on ne vous redonne pas le plugins avec chaque jeu.

En montant un cran plus haut en restant simple : exemplede java, vous avez le JRE sur votre pc et les applications java l’appelle pour fonctionner

Et de manière complete :

1) regarder l’image suivante et la garder sous les yeux 🙂

globalisation-grak

2) avant correspond à la partie gauche de l’image (séparé par la ligne noire 😉 )

tout était réunit, tout le monde se connaissait et était rassemblé dans le même répertoire

3) globalisation, je ne veu pas redistribuer grak avec tout les jeux, 1 installation utilisable pour toutes les applications

on va séparer le coeur vital GRAK

l’exe et les dll système
+ 1 répertoire lngs contenant les fichiers langues des erreurs pour le fichier de logs 🙂
+ 1 répertoire crs pour contenir des crs élémentaire : vide et charge

4) vous installez le jeu Liebesstein

là vous aurez votre répertoire quelque part sur votre pc et il contiendra

des répertoires basique propre au jeu : captures (d’écran), fmls (monde du jeu), mp3s, textures
+ 1 répertoire plugins
+ 1 répertoire conf
+ 1 répertoire lngs contenant cette fois les fichiers langue du jeu
+ 1 répertoirecrs avec les CR du jeu (et meme vide et charge si pas oublié)

+ 1 batch (bas de l’image pour le détails) qui pour cette 1ere version appelle grak avec les paramètres

+ 1 répertoire créé DANS le rep de GRAK (la nomenclature de ce rep est strict et contiendra à priori 1 seule dll utilisée pour l’application/jeu)

dans notre cas les CRs et le plug-in ont besoin d’infos communes centralisées dans cette dll supplémentaire (et pour des raisons technique doit se trouver dans le rep de gra dans un rep du meme nom que la dll…)

5) dans un avenir pas lointain un programme lancera le jeu/application au lieu du batch, celui-ci pourra vérifier les mise à jour, la stabilité du système, et autres brol préparatoires sympa et utile (evidemment ceci reste propriétaire au jeu, le batch est le minimum à respecter pour que ca fonctionne)

6) note concernant le point 3), quand GRAK s’installe il peut être exécuté en mode initilalisation : d:grakgrak.exe -init ce qui aura poureffet d’écrire ou de réparer le registre windows pour dire ou se trouve GRAK

comma ça le lanceur du point 5) pourra constituer dynamiquement le chemin d’accès à GRAK

Voilà donc un bon pas en avant dans l’idée framework

A venir comme déjà dit la relecture des OG + la conception de la classe objet

Je me suis aussi lancé dans l’analyse spatiale des points et des plans pour élaborer des systèmes de colision précis voir également des modifications des mayage des objets. On verra bien 🙂

Vexel

Après plusieurs jours de discussion sur forum, de recherches interminables, de lecture et relecture du code d’initialisation de GRAK, j’ai enfin réussi a refaire fonctionner le SwitchMode, cad le passage entre un mode fenêtré ou un mode plein écran pendant que GRAK s’exécute.

De plus, si, à la fin du programme, le jeu est en plein écran, il le remet en fenêtré de tel sorte que vos programmes (explorateur de fichier, navigateur, msn, winamp, …) reprenne leur positions initial. (Pour info la position des autres fenêtre change lorsque l’on passe en plein écran dans une résolution differente)

A venir en matière de correction : la relecture complete des OG.

en-cor-ection

Le chargement sonore a été accéléré, on passe par un autre device prioritéaire (comme on aurait du faire depuis le début), enfin soit ça va + vite et c’est tant mieu !

GRAK a été utilisé pour la réalisation d’un petit programe bibitif : le jackpot-afond qui a été utilisé lors de la soirée d’embassade annuel de l’Ordre de la Questure Raymaldienne. Ce même programme a déjà été repris et utilisé par d’autres Ordres ! youhou 🙂 Ce logiciel se trouvera un jour dans les téléchargements. A venir donc…

aïeuh ça fait mal

Nouveautés :

  • 1er système de collision 😀 !!!
  • Chargement du monde globalisé (via dll du jeu)
  • CR init de chargement global

A faire :

  • Modifier le système de passage de niveau
  • Améliorer la méthode de chargement des niveaux

On en est à remplir le niveau d’objets divers.

ich speak internazional

Tadaaa grande nouveauté, GRAK gère un système de langue.

2 fichiers : le fichier pour grak concernant les erreurs (logs) et un autre fichier propre à l’application développée.

Il est impératif qu’une ligne option>langage se trouve dans le setup.conf, si les fichiers existent pas tampis.

Il suffira donc que qqun decide de traduire les fichiers (mode xml) et en avant la musique

2ème nouveauté : le calcul du FPS par la boucle d’Action principale. On affichait du 200-250 fps avec le premier monde de Liebestein 🙂

Souvenir souvenir

Editeur de Liebesstein : suite 🙂

  • Sauver
  • Sauver sous
  • Ouvrir

De plus j’ai amélioré la fenêtre de plugins pour qu’elle s’adapte à une taille idéale (donnée par le plugins en dur)

Le système de texture n’a été fait qu’en partie (liste XML des fichiers à chargé) ne pouvant pas encore définir le fonctionnement générale. Nous avions parlé d’un CR de chargement générale et pour le moment c’est l’Editeur qui charge les textures. CR à mettre en place donc.

Nous nous rappellerons (pour les bon vieux fans) le moteur Y (2002 – histoire de Nahyan). La salle (en capture), sauf le renfoncement, est un clin d’oeil à la salle de test de ce moteur. Une forme en L. Mais à l’époque par face murale il y avait 2 triangle et pas 2 x bloc, comme notre système actuel.

Captures :

06-04-05-editeur-0 06-04-05-editeur-1

[E]x[TI]nction

Les ETI ça n’a pas marché, les problèmes rencontrés et l’utilisation de ces effets là ne justifient pas de passer + de temps sur le sujet (en tout cas actuellement).

On avisera directement des effets HLSL. J’ai déjà une idée de multi-rendu-texture pour appliquer plusieurs effet independant sur le resultat final. Nous verrons ça plus tard donc.

Dans l’immediat on va se concentrer sur l’Editeur de Liebesstein.

ETI mologie ?

1er ETI le fondu au noir, et ben non ça ne vas pas :

  • Le rendutexture n’est pas modifiable, je cherche un moyen de copier cette fouttue texture
  • Si même j’utilise une texture (imposée) le fondu au noir se fait proprement, mais envahit la mémoire à chaque traitement et ne décrois jamais… crasse crasse crasse et je ne sais pas nettoyer ça (je cherche encore)

Sinon les effets s’empilent bien, s’exécutent bien aussi… c’est déjà ça.

Pour vous montrer ça je cherche un moyen de créer une vidéo directement par GRAK.