Freenews

Elixir : l'API des jeux sur Freebox
« le: 19 November 2009 08:54:12 »
On le sait désormais, n?importe qui peut concevoir ses propres jeux pour la Freebox. C?est un véritable atout qui permettra sans doute de voir émerger quelques perles, avec le talent des développeurs de la communauté.

Lire l'intégralité de la news

nouknouk

Elixir : l'API des jeux sur Freebox
« Réponse #1 le: 19 November 2009 09:15:12 »
Le SDK étant la seule partie qui m'intéressait réellement dans cette "grande annonce", j'attendais avec anxiété de voir ce qu'il aurait réellement "dans le ventre":

1- concernant les possibilités graphiques elle-même, les EFL sont plutôt une bonne chose et me donne un à priori positif (qu'il faudra confirmer avec des tests concrets).

2- par contre, l'utilisation du Javascript n'augure absolument rien de bon pour l'étendue des possibilités que va offrir ce SDK: si le Javascript est effectivement interprété (et pas compilé), il sera suffisant pour assurer le développement de quelques jeux et/ou applications qui ne nécessiteront absolument aucune puissance (sudoku, jeu de cartes, majjhong, ...) mais va très rapidement montrer ses limites dès que le jeux aura besoin d'un minimum de calculs temps réel (un peu de physique très basique) .

Bien entendu, seuls des tests (que je ne tarderai pas à faire personellement) permettront de se rendre concrètement compte de l'étendue des possibilités et de la puissance disponible du bazar. Mais d'emblée, quel dommage de ne pas avoir opté pour un autre langage bien plus prometteur comme un binding en Java par exemple : cela n'aurait en rien remis en cause les possibilités de 'sécuriser' la box, mais ça aurait non seulement eu de bien meilleures performances (même que du JScript compilé) et ça aurait permis de réutiliser les millions de librairies Java déjà disponibles.

My 2 cents.

Yoann Ferret

Elixir : l'API des jeux sur Freebox
« Réponse #2 le: 19 November 2009 09:24:57 »
Permissif mais complexe à comprendre. Ca se résume un peu comme ça à mon avis.

cretineur

Elixir : l'API des jeux sur Freebox
« Réponse #3 le: 19 November 2009 09:34:26 »
Le javascript est utilisé en binding, il sert seulement à limiter le nombre de fonctions de l'API disponibles. Les fonctions elles-mêmes sont exécutées par des librairies binaires programmées en C!

Bref, ça ne pose aucun problème pour les performances.

Exemple de jeu fait suivant le même principe : FrozenBubble (binding perl->SDL).


nouknouk

Elixir : l'API des jeux sur Freebox
« Réponse #4 le: 19 November 2009 09:46:42 »
Citation de: yoann007
Permissif mais complexe à comprendre. Ca se résume un peu comme ça à mon avis.
J'ai pas compris le sens de ta phrase, tu pourrais détailler ?

Citation de: Zézinho
Le javascript est utilisé en binding, il sert seulement à limiter le nombre de fonctions de l'API disponibles. Les fonctions elles-mêmes sont exécutées par des librairies binaires programmées en C!
Bref, ça ne pose aucun problème pour les performances.
On est d'accord: les fonction de l'API sont exécutées en natif, donc pour tout ce qui touche notamment au graphisme, il ne devrait pas y avoir de soucis

MAIS comme précisé dans mon premier post, le souci se posera pour tout le code qui ne fait pas appel à l'API des EFL qui grosso modo comprendra tout ce que le développeur codera avec ses petits doigts. Et ça représente notamment tout le moteur du jeu.

Donc ça posera des limites à partir du moment où tu voudras gérer de la physique où tout autre besoin en calculs 'temps réel' pour ton jeu comme par exemple si tu veux faire:
- un équivalent de 'world of goo'
- un moteur 'physique' avancé pour le comportement des voitures dans un jeu automobile
- la gestion des données réseau pour du jeu d'action en multijoueur online (plusieurs dizaines de paquets reçus par client et par seconde)
- etc...

Bref, à partir du moment où tu devras faire du calcul un peu plus lourd en 'temps-réel' ... là le Javascript pourra peut-être être le facteur limitant.

A nouveau, cet aspect technique est à confronter à la réalité avec des tests faits en 'grandeur nature' ; tant que ceux-ci ne seront pas menés avec des exemples représentatifs, on ne pourra guère conclure quoi que ce soit.
Rien qu'entre du code javascript interprété ou le même javascript compilé avant d'être exécuté, il y a déjà un gouffre (et j'espère ardemment que les ingé R&D de Free y ont pensé et ont opté pour la seconde solution).

Pour continuer dans les questions, je suis curieux de voir ce que le framework autorisera (ou pas) en matière de réseau, notamment:
- la possibilité de faire de la requête 'http' simple => permettra de faire à minima du jeu en tour par tour.
- la possibilité d'utiliser directement des sockets TCP => permettra d'envisager des petits jeux d'actions en réseau
- la possibilité d'utiliser directement des sockets UDP => ça ouvre un peu plus l'ensemble du champ des possibles, avec même des jeux d'action à très fortes contraintes temps-réel (FPS-like, ...).

lmp01

Elixir : l'API des jeux sur Freebox
« Réponse #5 le: 19 November 2009 10:18:23 »
Le site est FORBIDDEN 403; Que se passe-t-il ?

Yoann Ferret

Elixir : l'API des jeux sur Freebox
« Réponse #6 le: 19 November 2009 10:21:37 »
Citation de: lmp01
Le site est FORBIDDEN 403; Que se passe-t-il ?
Aucune idée, ptet qu'ils sont en retard.


lmp01

Elixir : l'API des jeux sur Freebox
« Réponse #7 le: 19 November 2009 10:51:10 »
Ca y est le site est de nouveau accessible.

bandi

Elixir : l'API des jeux sur Freebox
« Réponse #8 le: 19 November 2009 12:30:14 »
Y'a t'il moyen de faire des jeux en reseau entre plusieurs Freebox ? Comme par exemple un Tetris en battle ?

Yoann Ferret

Elixir : l'API des jeux sur Freebox
« Réponse #9 le: 19 November 2009 12:33:18 »
Citation de: bandi
Y'a t'il moyen de faire des jeux en reseau entre plusieurs Freebox ? Comme par exemple un Tetris en battle ?
L'API permet d'ouvrir des communications en HTTP mais on manque encore un peu de détails sur ce sujet.
Voir la légitime question de nouknouk à ce sujet sur le forum Jeux Freebox : http://www.jeuxfreebox.fr/forum/topic.php?id=6 (restée sans réponse pour l'instant)

nouknouk

Elixir : l'API des jeux sur Freebox
« Réponse #10 le: 19 November 2009 12:44:24 »
j'ai eu un début de réponse à ce propos, par Watchwolf sur PC-Inpact:

Citer
(d'après le commit sur elixir) TCP/UDP et il y a ecore_download (qui utilise ecore_con) qui propose le http/ftp dans une optique de téléchargement d'un fichier (zip, html, xml ...). Il y a également 'eet' qui permet de sérialiser une structure et la sauver dans un fichier ou l'envoyer par le réseau (avec gestion de la compression et du chiffrement)
Par contre, pas de réponse pour la question subsidiaire (hautement technique, mais importante) : quid de la possibilité de désactiver l'algo de Nagle, aussi connu comme le flag 'TCP_NODELAY' ? C'est indispensable pour les applis réseau et jeux temps-réel si on veut utiliser le TCP.

filoboss

Elixir : l'API des jeux sur Freebox
« Réponse #11 le: 19 November 2009 13:16:56 »
Tain il faut que je me lance aussi sure ce truc... bon je fait d'abord la télé et je m'attaque a ce truc :D

nouknouk

Elixir : l'API des jeux sur Freebox
« Réponse #12 le: 19 November 2009 13:19:37 »
Citation de: nouknouk
j'ai eu un début de réponse à ce propos
J'ai également d'autres éléments de réponse sur le groupe de discussion de freebox-elixir.

PS aux admins freenews: arrêtez cette utilisation d'IFrame pour les liens (plutôt qu'ouvrir le lien dans une nouvelle fenêtre), c'est juste kikoolol, totalement inutile et agaçant au possible.

filoboss

Elixir : l'API des jeux sur Freebox
« Réponse #13 le: 19 November 2009 16:21:04 »
Citation de: nouknouk
Citation de: nouknouk
j'ai eu un début de réponse à ce propos
J'ai également d'autres éléments de réponse sur le groupe de discussion de freebox-elixir.

PS aux admins freenews: arrêtez cette utilisation d'IFrame pour les liens (plutôt qu'ouvrir le lien dans une nouvelle fenêtre), c'est juste kikoolol, totalement inutile et agaçant au possible.
C'est pas faux... on va dire que c'était un test pour les videos provenant de youtube et dailymotion ... j'enleverais la chose pour les liens normaux pour la prochaine version qui arrive bientôt.