IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
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

2D Java Discussion :

[Java2D] Utile pour jeux type Memory


Sujet :

2D Java

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre éclairé
    Profil pro
    Développeur informatique
    Inscrit en
    Mars 2004
    Messages
    257
    Détails du profil
    Informations personnelles :
    Âge : 41
    Localisation : France

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Mars 2004
    Messages : 257
    Par défaut [Java2D] Utile pour jeux type Memory
    Bonsoir,

    Pour un projet universitaire, je vais développer un jeu de carte type Memory, ou il faut tout simplement trouver des paires de cartes.

    Je voulais savoir si l'utilisation de Java2D pouvait m'apporter quelque chose pour ce type de projet.

    Je pense que SWING/AWT seront largement suffisant, mais peut être que java2D peut m'apporter des points intéressants pour avoir un jeu graphiquement un peu plus poussé.

    Merci par avance pour votre aide

  2. #2
    Membre éclairé
    Homme Profil pro
    NoOb
    Inscrit en
    Mai 2007
    Messages
    554
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : NoOb

    Informations forums :
    Inscription : Mai 2007
    Messages : 554
    Par défaut
    Citation Envoyé par akito Voir le message
    Je voulais savoir si l'utilisation de Java2D pouvait m'apporter quelque chose pour ce type de projet.

    Je pense que SWING/AWT seront largement suffisant, mais peut être que java2D peut m'apporter des points intéressants pour avoir un jeu graphiquement un peu plus poussé.
    Java2D c'est cool, peindre des trucs simples c'est simple , ça devient vite très très lourd pour des formes compliquées ... comme une carte

    Que veut tu afficher exactement?

    Je suis débutant mais je pense que des images seraient suffisante? au moins pour un début.

  3. #3
    Rédacteur
    Avatar de eclesia
    Profil pro
    Inscrit en
    Décembre 2006
    Messages
    2 111
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2006
    Messages : 2 111
    Par défaut
    si tu veux garder la qualité, utilise des images SVG.

  4. #4
    Rédacteur/Modérateur

    Avatar de bouye
    Homme Profil pro
    Information Technologies Specialist (Scientific Computing)
    Inscrit en
    Août 2005
    Messages
    6 901
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 48
    Localisation : Nouvelle-Calédonie

    Informations professionnelles :
    Activité : Information Technologies Specialist (Scientific Computing)
    Secteur : Agroalimentaire - Agriculture

    Informations forums :
    Inscription : Août 2005
    Messages : 6 901
    Billets dans le blog
    54
    Par défaut
    Dans une certains mesure il est egalement possible de faire un mix des deux en designant des images dans un editeur SVG puis en les transcodant en Java2D par exemple en utilisant le transcodeur de Kirill Grouchnikov.

    Le transcodeur utilise Batik pour convertir le SVG en appels Java2D ce qui permet de n'avoir que du code Java2D sans dependance vers Batik ou autre dans son projet.

    Il peut etre necessaire de corriger certains bugs du transcodeur ; certaines limitations existent egalement :

    - certains effets dispos dans Inkscape tels que le flou gaussien n'est pas directement traduisible en java2D (il faudrait passer par le flou gaussien de Swing X et des images intermediaires).

    - dans la version que j'ai recupere il a qq mois, il n'y avait pas de support du texte, j'ai du le rajouter moi-meme.

    - Kirill met par defaut tout a plat dans une seule et unique methode. Donc si le fichier SVG est trop gros ou contient des formes trop complexes, le compilateur Java va crasher en disant que l'unite de compilation est trop grosse (en gros la methode paint() contient trop d'instructions ; voir meme carrement la classe contient trop de lignes) ; il faut alors simplifier son dessin.

    Voila ce que ca donne avec des icones faites maison en SVG mais rendues apres conversion en Java2D : Nom : icons.jpg
Affichages : 100
Taille : 211,4 Ko
    Merci de penser au tag quand une réponse a été apportée à votre question. Aucune réponse ne sera donnée à des messages privés portant sur des questions d'ordre technique. Les forums sont là pour que vous y postiez publiquement vos problèmes.

    suivez mon blog sur Développez.

    Programming today is a race between software engineers striving to build bigger and better idiot-proof programs, and the universe trying to produce bigger and better idiots. So far, the universe is winning. ~ Rich Cook

  5. #5
    Membre éclairé
    Profil pro
    Développeur informatique
    Inscrit en
    Mars 2004
    Messages
    257
    Détails du profil
    Informations personnelles :
    Âge : 41
    Localisation : France

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Mars 2004
    Messages : 257
    Par défaut
    Bonjour et merci pour vos réponses.

    Mais qu'elle est l'intérêt de convertir toutes mes images en svg puis en code java, si ce n'est de garder une certaine qualité?

    Comme tu le dis bouye, mon appli risque de ramer ou en tout cas d'être plus lourde qu'en mettant directement des images au format png non?

    Bien sur, pour un jeu de carte je pense que ça devrait pas ramer mais j'imagine un shoot'em up avec tous les monstres, le fond les effets convertis en java2D, les perfs risquent d'etre diminué.

    Je pense utiliser graphics2d pour mon jeu, pensez-vous que ça peut etre une bonne solution?
    Plutôt que de faire une fenêtre avec des composants bouton, composant image etc, tous créer dans mon graphics2d, pour avoir un rendu plus jeu vidéo plutôt que logiciel.

    Merci pour votre aide

  6. #6
    Rédacteur/Modérateur

    Avatar de bouye
    Homme Profil pro
    Information Technologies Specialist (Scientific Computing)
    Inscrit en
    Août 2005
    Messages
    6 901
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 48
    Localisation : Nouvelle-Calédonie

    Informations professionnelles :
    Activité : Information Technologies Specialist (Scientific Computing)
    Secteur : Agroalimentaire - Agriculture

    Informations forums :
    Inscription : Août 2005
    Messages : 6 901
    Billets dans le blog
    54
    Par défaut
    Citation Envoyé par akito Voir le message
    Mais qu'elle est l'intérêt de convertir toutes mes images en svg puis en code java, si ce n'est de garder une certaine qualité?
    Ben je ne sais pas moi... eviter d'inclure les 30Mo de Battik en sus des 5Mo que fait reellement ton application ?

    Comme tu le dis bouye, mon appli risque de ramer ou en tout cas d'être plus lourde qu'en mettant directement des images au format png non?

    Bien sur, pour un jeu de carte je pense que ça devrait pas ramer mais j'imagine un shoot'em up avec tous les monstres, le fond les effets convertis en java2D, les perfs risquent d'etre diminué.
    Justement un jeu de carte n'a pas les meme besoin qu'un shoot'em up. Dans le cas d'un shoot'em up je partirai plutot vers des PNG ou des GIF. Car une composition directe d'une bitmap a l'ecran (encore plus si c'est une image compatible) reste plus rapide que des rendus 2D.

    Car il est clair que dans ce cas le code transcode n'est guere performant : par exemple les paints, gradients et formes sont definis dans le paint meme et donc ce sont enormements d'objets qui sont recrees a chaque reaffichage. On peut bien sur modifier le transcoder pour eviter tout cas en declarant ces objets comme des variables locales. Cela reste par contre une bonne alternative pour des menus fixes (ou comme dans mon cas ou celui de Kiril, des icons dans une GUI).

    Cependant... cependant... il est egalement toujours possible de rendre le code Java2D dans une BufferedImage... et la on repart sur la meme optimisations que si on chargeait une PNG ou un GIF

    Je pense utiliser graphics2d pour mon jeu, pensez-vous que ça peut etre une bonne solution?
    Je ne pense pas que tu ais reellement le choix ici. Tu ne comptais quand meme pas faire un shoot a base de composant Swing (certains s'obstinent a utiliser des JTable pour faire des morpion) ?

    A noter que quelqu'un en avait deja fait un (un shoot) il y a 1~2 ans. Et j'avais participe a son topic pour je ne sais plus quel probleme. Fait des recherches sur les archives du forum, tu trouveras peut-etre ses screens, et son code de demo.

    Ah oui, en alternative, il reste la possibilite d'utiliser JOGL meme pour un jeu 2D, cela te permettrait d'avoir une acceleration differente (3D) et des effets graphiques supplementaires (un peu comme Jazz Jackrabit II sur PC qui est etait un jeu de platformes 2D mais avec des effets d'illumination en 3D).

    Plutôt que de faire une fenêtre avec des composants bouton, composant image etc, tous créer dans mon graphics2d, pour avoir un rendu plus jeu vidéo plutôt que logiciel.
    Mais les composants c'est aussi du Java2D... juste c'est plus simple et plus carre/austere pour avoir le look d'une GUI standard. Il sufit de voir qu'en skinnant des composants standard on peut rapidement sortir du lnf habituel (ex : le lecteur multimedia windows ou cote java Aerith).

    Franchement ca depend principalement de toi. Il est effectivement possible qu'a certains endroits de ton jeu tu veuilles mettre des composants par exemple pour les menus fixes mais il est egalement possible que tu preferres tout faire "a la main". Note que pour des composants (nottament les boutons) plus facilement skinnables, je te conseilles SwingX et ses Painter.
    Merci de penser au tag quand une réponse a été apportée à votre question. Aucune réponse ne sera donnée à des messages privés portant sur des questions d'ordre technique. Les forums sont là pour que vous y postiez publiquement vos problèmes.

    suivez mon blog sur Développez.

    Programming today is a race between software engineers striving to build bigger and better idiot-proof programs, and the universe trying to produce bigger and better idiots. So far, the universe is winning. ~ Rich Cook

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

Discussions similaires

  1. Quel langage pour ce type d'applications ?
    Par Will Fou dans le forum Langages de programmation
    Réponses: 15
    Dernier message: 26/01/2005, 18h03
  2. Quel langage pour jeux vidéo ?
    Par dark angel dans le forum Développement 2D, 3D et Jeux
    Réponses: 32
    Dernier message: 09/01/2005, 19h28
  3. Aperçu pour mes types de fichiers
    Par Aurelien.Regat-Barrel dans le forum Windows
    Réponses: 3
    Dernier message: 27/09/2004, 18h33
  4. [Info][Utile]Liens & Smiles Utiles Pour le Forum
    Par Swoög dans le forum Mode d'emploi & aide aux nouveaux
    Réponses: 12
    Dernier message: 28/08/2004, 02h52
  5. Editeur de MAP en delphi pour jeux directX
    Par PetitScorpion dans le forum DirectX
    Réponses: 5
    Dernier message: 09/07/2002, 18h47

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