Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Java ME Discussion :

Rendre un jeux VRAIMENT portable (JavaME)


Sujet :

Java ME

  1. #1
    Membre du Club
    Profil pro
    Inscrit en
    mai 2006
    Messages
    88
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : mai 2006
    Messages : 88
    Points : 60
    Points
    60
    Par défaut Rendre un jeux VRAIMENT portable (JavaME)
    Bonjour à tous,

    Comme je viens de le voir dans un post pas loin (http://developpez.net/forums/showthread.php?t=363369), la portabilité des jeux en JavaME est problématique. Ce qui tourne bien, et correctement proportionné, sur un téléphone donné, n'a pas du tout le même rendu sur un autre (et encore moins sur un émulateur).

    Pour citer Greybird :
    La fragmentation dans le monde mobile est telle qu'en général, une compilation se fait pour chaque mobile, et au mieux pour quelques-uns quand les séries sont très proches, et ont les mêmes capacités/bugs.
    La seule chose qui ne change pas, c'est le fait qu'on code en Java. Pour le reste, et si on ne se limite pas à "ça se lance donc c'est bon" (et encore), une adaptation est toujours nécessaire.

    A titre d'illustration, une liste non exhaustive des différences possibles entre terminaux :
    taille et proportions d'écran
    JSR disponibles (et leurs bugs)
    APIs propriétaires
    méthodes d'utilisation des APIs disponibles
    disponibilité des APIs par rapport à l'implémentation de la sécurité sur le mobile
    bugs (il y en a toujours, et souvent beaucoup)
    performance
    format de ressources supportés (son, images, ...)
    taille de jar maximale supportée
    mémoire disponible à l'exécution
    ...
    D'où ma question : comment faire ? Comment faire pour que les jeux aient le même rendu sur tous les terminaux ? Notamment du point de vue graphique, comment éviter de redimensionner les images pour les adapter à la taille de l'écran ?

    Les autres contraintes sont gérables, à mon sens, mais les problématiques d'affichage sont les plus graves. Il est hors de question de produire un code spécifique à chaque terminal. Par ailleurs, il existe des produits pour faire ce boulot (tests et déploiement sur des centaines de terminaux), tels que NeoMAD. Mais que coûtent ces produits ? Y en a t-il d'autres ? Peut-on s'en passer ?

    Merci beaucoup.

  2. #2
    Rédacteur
    Avatar de Greybird
    Inscrit en
    juin 2002
    Messages
    673
    Détails du profil
    Informations forums :
    Inscription : juin 2002
    Messages : 673
    Points : 1 251
    Points
    1 251
    Par défaut
    Contrairement à ce que tu penses, le plus problématique à gérer n'est pas le redimmensionnement des aspects graphiques, mais les bugs, et les méthodes d'utilisation des API disponibles, qui varient d'un téléphone à l'autre pour le même résultat. En effet, les bugs/méthodes d'utilisation des API sont en général spécifiques à un téléphone, alors que les aspects graphiques sont en général tributaires de la taille d'écran, qui n'est pas réellement spécifique à chaque téléphone.

    L'approche courrament utilisée pour les ressources (que ce soit images, sons ou autres), est de fournir ces ressources sous différents aspects (taille/format pour les images, format pour le son, ...), de classer les téléphones cible dans des catégories, et d'utiliser tel ou tel format pour chaque catégorie.

    Au niveau des produits, je peux te citer les suivants, que je connais (sans forcément les avoir utilisés) :
    j2mepolish : http://www.j2mepolish.org/
    j2me-device-db : http://j2me-device-db.sourceforge.net/pmwiki/
    JUMP : http://www.tirawireless.com/jump/
    UMAK (Net Innovation) : http://www.netinnovations.fr/
    Celsius (Mobile Distillery) : http://www.mobile-distillery.com/

    Attention, tous ces produits n'ont pas le même degré de maturité/support, ni les mêmes prix, et ne fournissent pas les même prestations. Certains se contentent de fournir des informations utilisables via du preprocessing dans le code pour gérer à la main les contournements, ou la modification des ressources. D'autres prennent en charge cette abstraction directement en te fournissant des APIs qui seront adaptées au téléphone visé lors de la compilation sans que cela soit visible au développeur.

    Et sinon, une alternative courament utilisée : le portage des application à la main en Chine...

  3. #3
    Membre du Club
    Profil pro
    Inscrit en
    mai 2006
    Messages
    88
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : mai 2006
    Messages : 88
    Points : 60
    Points
    60
    Par défaut
    Mouais tant pis pour la Chine, c'est pas encore à l'ordre du jour. Par contre je pensais pas qu'il y avait des méthodes qui déconnaient sur certains portables. On parle bien de MIDP, et pas des API proprio ? Je ne compte pas utiliser d'API proprio en fait.

    Concernant les images et sons, ça m'ennuie vraiment d'avoir ces différents formats. Je crois que je vais développer de manière à ce que ça tourne sur mon nokia (modèle Pourrito-d-entree-de-gamme-qui-fait-tourner-du-java) et on verra ce que ça donne sur les autres, plus performants...

    Merci pour les noms des produits. Tu aurais des idées des tarifs ? Je vais chercher un peu de toute façon.

    Merci.

  4. #4
    Membre du Club
    Profil pro
    Inscrit en
    mai 2006
    Messages
    88
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : mai 2006
    Messages : 88
    Points : 60
    Points
    60
    Par défaut
    J'ai trouvé un exemple de tarif, ça allume :

    Celsius 3.0 sera disponible à la mi-février, avec des tarifs allant de 5.000 EUR à 30.000 EUR par projet en fonction du nombre de téléphones et du nombre de mises à jour applicatives pour les modèles à venir.
    source

  5. #5
    Rédacteur
    Avatar de Greybird
    Inscrit en
    juin 2002
    Messages
    673
    Détails du profil
    Informations forums :
    Inscription : juin 2002
    Messages : 673
    Points : 1 251
    Points
    1 251
    Par défaut
    Citation Envoyé par guenievre
    Mouais tant pis pour la Chine, c'est pas encore à l'ordre du jour. Par contre je pensais pas qu'il y avait des méthodes qui déconnaient sur certains portables. On parle bien de MIDP, et pas des API proprio ? Je ne compte pas utiliser d'API proprio en fait.
    Oui oui, MIDP ou autre, tout est sujet à problèmes.
    Merci pour les noms des produits. Tu aurais des idées des tarifs ? Je vais chercher un peu de toute façon.
    Pas vraiment. j2me-polish est gratuit, mais la base de terminaux n'est pas énorme, et il te faut gérer les bugs à la main. Celsius (et Jump je crois) gère les bugs par lui-même.

    De toutes façons, une constante est qu'il faut impérativement tester l'application sur les mobiles ciblés. Mobile Distillery, qui édite Celsius, propose ce service via le Paca Mobile Center. Pour les autres, c'est à voir.

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Une technologie de scan pour rendre les jeux vidéo encore plus beaux
    Par LittleWhite dans le forum Développement 2D, 3D et Jeux
    Réponses: 34
    Dernier message: 25/11/2014, 16h16
  2. Rendre une application dotnet vraiment portable sur tout Windows
    Par bruce-willis dans le forum Développement Windows
    Réponses: 15
    Dernier message: 03/01/2012, 17h31
  3. Lib de jeux 2d portable en java
    Par max_skel dans le forum Débuter
    Réponses: 2
    Dernier message: 19/11/2011, 20h05
  4. Jeux java sur telephone portable
    Par lereveur84 dans le forum Développement Mobile en Java
    Réponses: 7
    Dernier message: 19/07/2005, 16h01

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo