4832pts
3015pts
3006pts
2621pts
2569pts
2451pts
2396pts
2321pts
2190pts
1745pts
1730pts
1701pts
1627pts
1616pts
public
public
public
public
privé
privé
public
public
privé
public
public
public
public
public
public
, publié le 02 novembre 2009 à 00h01 par del65
Fête d'Halloween oblige, je n'ai pas pu résister à mettre un peu d'humour (noir) dans le titre de cette news.
Sous ce titre donc se cache le résultat de mes recherches sur Enlightenment et en particulier sur le module Edje (d'où le "Edje of" du titre).
Sachez qu'il est possible de créer un jeu vidéo simple rien qu'en utilisant le langage de script Embryo inclus dans Enllghtenment.
La mise en oeuvre est nettement simplifiée par rapport à celle de l'environnement freebox-elixir complet. Il suffit d'avoir installé Enlightenment sur sa machine pour pouvoir coder.
Mise en oeuvre :
1. installer l'environnement Enlightenment pour votre système d'exploitation:
2. créer un ou plusieurs fichiers EDC pour décrire le jeu et importer les images qui vont avec:
3. compiler ces fchiers EDC dans un fichier EDJ exécutable par le programme "Edje viewer".
D'après la documentation du SDK Freebox-elixir, tout fichier EDJ sera -en principe- directement utilisable sur la Freebox via un simple appel à exj.include("
Toutefois les évènements clavier/souris devront être remplacés ou mappés sur les boutons de la télécommande.
EDC: fichier(s) de script décrivant l'interface graphique ainsi que l'interaction avec l'utilisateur via des scripts Embryo.
EDJ/EET: archive contenant un thème graphique, voire une application complète (type calculatrice, mini-jeu, etc...).
Un fichier EDC est un fichier texte qui décrit les éléments graphiques qui composent l'application (ici le jeu).
Là où cela devient très intéressant c'est que cette description comprend également les animations (à base d'images-clé ou keyframes) ainsi que l'apparition/disparition d'objets, avec même la possibilité de rendre certaines animations aléatoires !
La documentation officielle de la partie descriptive d'EDC se trouve ici :
http://docs.enlightenment.org/api/edje/html/edcref.html
En dehors de cette partie purement descriptive, chaque élément de l'interface peut être relié à un script en langage Embryo. Ce sont ces scripts qui permettront de donner vie aux éléments d'un jeu et de gérer par exemple les collisions.
La documentation officielle du langage Embryo se trouve ici :
http://wiki.enlightenment.org/index.php/Category:Embryo/Examples
Et ià : (pourquoi faire simple...)
http://trac.enlightenment.org/e/wiki/Embryo
Pour terminer ce week-end en beauté je vous propose rien de moins qu'un exemple de jeu de tir entièrement codé avec EDC et Embryo !
http://wiki.enlightenment.org/index.php/Embryo/Examples/Game
Bien sûr pour que ça fonctionne sur la freebox il faudra remplacer le signal "mouse,down,1" par un équivalent pour l'un des boutons de la télécommande.
Joyeux Hallowwen !
MAJ:
Je reproduit ici un commentaire posé sur le wiki de freebox-elixir:
"Le contenu du Wiki d'Enlightenment n'est pas a considere a jour, car une bonne partie n'a pas encore ete migre, voir reecrit pour le Trac http://trac.enlightenment.org/e.
Il est ainsi a noter qu'il ne vaut mieux pas trop mettre d'espoir et d'effort dans embryo qui pourrait etre supprimer a terme. Les efforts allant plutot vers Lua."
...donc en ce qui concerne les langages de scripts supportés par la Freebox au niveau des EDC on n'est pas plus avancé. 



Comme dit par Anonyme, il est possible d'utiliser Lua a la place de embryo ce qui est recommande car :
- embryo est abandonné au profit de Lua
- Lua est plus complet et plus performants.
Il est possible d'utiliser le mot clé "define" pour régler le problème des touches claviers/télécommande.
Par exemple :
#define FREEBOX
#ifndef FREEBOX
#define SHOOT "mouse,down,1"
#else
#define SHOOT "freebox key"
#endif
Pour un exemple commentaire d'un fichier Edje voir ce fichier : http://fr.enlightenment.org/wp-content/edje-edc.c
Il est possible de faire un jeux en utilisant le javascript, il n'est pas obligatoire de tous coder dans le fichier edc.



Merci pour ces précisions, en espérant que la Freebox intègre des librairies Enlightenment suffisamment récentes pour accepter LUA.
Tant que l'on ne sait pas comment lancer un scrpt Javascript sur la Freebox ou tant que l'on de dispose pas d'un binaire ou des sources de Freebox-elixir, le fait de pouvoir "bricoler" avec Edje et LUA/ mbryo a pas mal d'importance je trouve.
Personnellement je considère plutôt le Javascript comme un "liant" qui servira pour associer l'image et le son (via SDL mixer), gérer les sauvegardes (via SQLlite).
Ainsi le moteur d'un jeu devrait se retrouver clairement séparé entre les actions purement IHM et la gestion du jeu en lui-même.
Bien sûr j'attends avec impatience que Free dévoile les jeux, mais en attendant il y a de quoi s'occuper utilement et c'est déjà pas mal ! 












à marquer Replique Montre Pour une fois qu'un grand médiapublie un article de presse fouillé, c'est un jour d'une Rolex Replica pierre blanche
Votre adresse ip (38.107.179.228) ne se trouve pas en France vous devez créer un compte Freezone et être connecté afin de pouvoir poster un commentaire.
Notez que si vous n'aimez pas Embryo comme langage de script, Edje support aussi Lua, qui est quand même un peu plus connu... Par contre, vu que l'ajout est récent, il n'y a pas de doc formelle sur l'utilisation de Lua dans un EDC