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

avec Java Discussion :

Création d'un jeu en 2D


Sujet :

avec Java

  1. #1
    Membre habitué
    Homme Profil pro
    Informatique
    Inscrit en
    Mars 2013
    Messages
    203
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations professionnelles :
    Activité : Informatique

    Informations forums :
    Inscription : Mars 2013
    Messages : 203
    Points : 164
    Points
    164
    Par défaut Création d'un jeu en 2D
    Bonjour à tous,

    je suis étudiant bachelier informatique en 2ème année et je dois réaliser un projet d'équipe pour un cours.

    Ne voulant pas faire de réseau pour apprendre un peu la programmation nous avons décider de faire un programme.
    Nous somme donc partis sur le projet suivant :
    Un jeu (rpg) en 2D dans le style "Zelda".

    Alors voilà, n'ayant que des bases en C et C#, et ayant un peu étudier le Java justement pour le projet, je viens vous demander de l'aide. Je ne trouve aucun tutos sur la réalisation de jeu en 2D. Tout du moins à jour ou encore en ligne.

    Je vous demande pas de me faire le programme, mais pouvez vous me donner un coup de main ? Un tutoriel ? Un programme, bibliothèque pour programmer, etc ? Merci beaucoup de votre aide !

  2. #2
    Modérateur
    Avatar de wax78
    Homme Profil pro
    Chef programmeur
    Inscrit en
    Août 2006
    Messages
    4 073
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    Localisation : Belgique

    Informations professionnelles :
    Activité : Chef programmeur
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Août 2006
    Messages : 4 073
    Points : 7 977
    Points
    7 977
    Par défaut
    Ton problème est le moteur du jeu en lui même, ou bien la partie graphique surtout ?
    (Les "ça ne marche pas", même écrits sans faute(s), vous porteront discrédit ad vitam æternam et malheur pendant 7 ans)

    N'oubliez pas de consulter les FAQ Java et les cours et tutoriels Java

  3. #3
    Membre habitué
    Homme Profil pro
    Informatique
    Inscrit en
    Mars 2013
    Messages
    203
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations professionnelles :
    Activité : Informatique

    Informations forums :
    Inscription : Mars 2013
    Messages : 203
    Points : 164
    Points
    164
    Par défaut
    En faite tout. Je ne sais pas par quoi commencer. Je voulais à la base faire en C# XNA qui aurais été plus simple pour nous, mais on nous à proposer le Java. Malheureusement, nous ne savons pas par quoi commencer. Surtout que je ne vois pas vraiment de partie "Objet" sur le web à propos du Java.

  4. #4
    Invité
    Invité(e)
    Par défaut
    Bonjour,

    J'espère que tu n'auras pas de problème de visibilité sur ce topic. Il aurait peut-être été plus vu sur la section jeux.

    Perso, je n'ai jamais créé de jeu mais je m'y intéresse un peu ces temps-ci. J'ai noté un projet qui m'a l'air très intéressant : libgdx. La lib te permet de créer des jeux cross platform (Desktop/Android/iOS/HTML5(utilise GWT)) en Java.
    Je te conseille d'y jeter un coup d'oeil.

  5. #5
    Membre habitué
    Homme Profil pro
    Informatique
    Inscrit en
    Mars 2013
    Messages
    203
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations professionnelles :
    Activité : Informatique

    Informations forums :
    Inscription : Mars 2013
    Messages : 203
    Points : 164
    Points
    164
    Par défaut
    Citation Envoyé par Enerian Voir le message
    Bonjour,

    J'espère que tu n'auras pas de problème de visibilité sur ce topic. Il aurait peut-être été plus vu sur la section jeux.

    Perso, je n'ai jamais créé de jeu mais je m'y intéresse un peu ces temps-ci. J'ai noté un projet qui m'a l'air très intéressant : libgdx. La lib te permet de créer des jeux cross platform (Desktop/Android/iOS/HTML5(utilise GWT)) en Java.
    Je te conseille d'y jeter un coup d'oeil.
    Merci pour ta réponse, j'ai créer un sujet dans la partie que tu ma cité. Je vais regarder ce que tu m'as proposer. Mon but est vraiment de créer un petit jeu de type Zelda comme sur la Nintendo d'y il à 20 ans.

  6. #6
    Membre expérimenté Avatar de Nico02
    Homme Profil pro
    Developpeur Java/JEE
    Inscrit en
    Février 2011
    Messages
    728
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Hérault (Languedoc Roussillon)

    Informations professionnelles :
    Activité : Developpeur Java/JEE
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Février 2011
    Messages : 728
    Points : 1 622
    Points
    1 622
    Par défaut
    Salut,

    Tu peux déjà regarder sur la partie jeux de DVP, tu trouveras surement des infos utiles.

    Après pour t'aider il faudrait que tu rentres un peu plus dans les détails quant à ce que vous voulez réaliser et surtout, comment ?

    Est-ce que vous pouvez utiliser des librairies tierces, ou alors tout faire à la main ?

    Tout faire à la main est certes un peu compliqué à appréhender au début car on ne sait pas trop ou commencer. Mais au moins vous développez juste ce sont vous avez besoin et surtout, vous COMPRENEZ ce que vous faites. Et j’insiste sur ce point, car il existe pleins de moteur 2D plus ou moins performants, mais le risque c'est que vous passiez beaucoup de temps pour comprendre et prendre en main la librairie sans garantie de résultats satisfaisant ( d'autant plus que vous n'utiliserez jamais toutes les fonctionnalité mise à disposition par l'API ).

    C'est donc un premier choix à faire.

    Après il faut regarder aussi de combien de temps vous disposez ? Car en fonction il faut déjà déterminer un cadre d'action pour réussir à respecter les délais.

    Après pour rentrer un peu plus dans les détails d'un petit jeu, il y a plusieurs choses à voir.

    - La map ( comment est elle générée ? )
    - Les personnages ( Gestion des points de vie ? d’expérience ? )
    - L’interaction entre le perso et la map/monstres ( gestion des collisions )
    - L'interaction entre le joueur et le jeu ( commandes de jeu, gestion souris/clavier ? )

    Avant de commencer il te faudra répondre à ces questions simple, mais qui définiront ta feuille de route pour la suite et te permettra de répartir des rôles dans ton groupe de travail.

    Vous aurez de toute façon des choix technique à faire tout au long du projet, mais il faudrait plus qu'un post pour en faire le tour, il vaut donc mieux que cela vienne au fur et à mesure

    Un dernier conseil, restez simple !

  7. #7
    Membre habitué
    Homme Profil pro
    Informatique
    Inscrit en
    Mars 2013
    Messages
    203
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations professionnelles :
    Activité : Informatique

    Informations forums :
    Inscription : Mars 2013
    Messages : 203
    Points : 164
    Points
    164
    Par défaut
    Bonjour,

    déjà je te remercie beaucoup pour l'intérêt que tu as donner à mon post.

    Je vais donc répondre à tes interrogations :

    A la main ou avec une librairie peu importe. Le JAVA on va vraiment l'apprendre à la main en cous, mais malheureusement, pas tout de suite, et nous devons commencer à travailler, nous n'avons pas le temps d'attendre le cours de l'école. Après si tu penses que cela est mieux, à la main pourquoi pas. Le temps de bien apprendre le JAVA je l'aurai au cours de l'année.

    Ensuite niveau temps et bien il est coupé en deux. Pour avant le vacances de Noel nous devons avoir déjà quelque chose à présenter au professeur. Mais pour "finir" le projet nous avons jusque la fin d'année, c'est à dire début Juin.

    - La map ( comment est elle générée ? )
    - Les personnages ( Gestion des points de vie ? d’expérience ? )
    - L’interaction entre le perso et la map/monstres ( gestion des collisions )
    - L'interaction entre le joueur et le jeu ( commandes de jeu, gestion souris/clavier ? )
    - Je ne comprends pas trop la question. Mais je vais essayer de répondre : Nous même avec des "tilte" (je crois me souvenir que cela s'appelle ainsi).
    - Nous gérons un personnage (comme dans Zelda), niveau point de vie c'est également le même, de la même manière que Zelda, avec possibilité d'augmentation au fur et à mesure. Pas d'expérience.
    - Je ne comprends pas trop non plus. Evidemment le personnage ne pourra pas traverser une maison ou un arbre, toucher un monstre n'es encore pas trop grave.
    - Commande jeu, cela ne sera pas beaucoup plus que : 4 Directions. Bouton "A". Bouton "B". Bouton "Menu" avec surement, gestionnaire d'un inventaire.

    Voilà j'espère qu'on pourra nous aider, nous somme un peu perdu !

  8. #8
    Membre expérimenté Avatar de Nico02
    Homme Profil pro
    Developpeur Java/JEE
    Inscrit en
    Février 2011
    Messages
    728
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Hérault (Languedoc Roussillon)

    Informations professionnelles :
    Activité : Developpeur Java/JEE
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Février 2011
    Messages : 728
    Points : 1 622
    Points
    1 622
    Par défaut
    En fait, le but au travers de toutes ces questions, c'est que tu arrives à décrire tes besoins d'un point de vue fonctionnel pour que tu comprennes ce que cela va impliquer comme développement.

    - Je ne comprends pas trop non plus. Evidemment le personnage ne pourra pas traverser une maison ou un arbre, toucher un monstre n'es encore pas trop grave.
    Par exemple ce scénario implique une gestion des collisions et une gestion des événements lié à cette collision ( tu fais pas les même choses si c'est un mur ou un monstre ).

    Pour commencez, vous devez déjà construire le container de votre application. Commencez par construire une fenêtre pour y afficher un rond. Puis ensuite essayez de le faire bouger. (Donc gestion d'une ressource graphique + gestion clavier )

    Après essayez de rajouter des obstacles, et voir les problèmes que cela poses (gestion des collisions). On peut imaginer qu'il est possible de passer sur certain et pas sur d'autres.

    Une fois que cela est fait, vous avez les bases. Il vous faut maintenant gérer les évènement liés aux collisions. Par exemple, si je suis a coté d'un carré, je ne peux pas le traverser. Je suis a coté un rond, si j'appuie sur un bouton, j'affiche un petit message. Je passe sur un triangle, (donc celui la je peux le traverser) j'affiche un message aussi (J'ai perdu une vie !!).

    Essayez de faire bouger un autre rond, mais cette fois ci par un algo (votre premier monstre est né, bravo ! )

    Remplacez vos formes géométriques par un vrai sprit.

    Construire un niveau complet (avec le fond, des obstacles, etc..).

    Une fois arrivé là, vous avez tous les atouts en main pour faire un petit jeu

  9. #9
    Futur Membre du Club
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Octobre 2012
    Messages
    11
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Ille et Vilaine (Bretagne)

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Octobre 2012
    Messages : 11
    Points : 9
    Points
    9
    Par défaut
    Tu veux carrément faire un jeu de type Zelda! Bon courage alors, c'est dur et c'est hyper long à faire. Il faut avoir un bon niveau en Java et en programmation objet.

    J'ai déjà créé quelques jeux sur Android donc je parle en connaissances de cause. A ta place, je choisirais un jeu plus simple à faire.

    Sinon, pour t'aider, je te conseilles ce site avec des tutos très bien expiqués et des codes sources de jeu :
    http://zetcode.com/tutorials/javagamestutorial/

    Ce sera une bonne base pour démarrer.

  10. #10
    Expert éminent sénior
    Avatar de tchize_
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Avril 2007
    Messages
    25 481
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 44
    Localisation : Belgique

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Avril 2007
    Messages : 25 481
    Points : 48 806
    Points
    48 806
    Par défaut
    Citation Envoyé par mikaknight Voir le message
    Tu veux carrément faire un jeu de type Zelda! Bon courage alors, c'est dur et c'est hyper long à faire. Il faut avoir un bon niveau en Java et en programmation objet.
    Je ne suis pas d'accord. Sauf si tu vise les dernier Zelda 3D

    Le jeu Zelda de base, c'est une grille avec un personnage qui se déplace de case en case, et des évènement quand il rencontre un objet.

    Pour ça, il "suffit" d'un model objet basique (Grille, liste d'objet sur la grille, avec une méthode "rencontre(autreObject)", d'un gestion basique du clavier (identifier 4 touches en gros), éventuellement une JList avec l'inventaire, et un peu de java2D pour dessiners les sprites.

    Après, pour le projet, il peux se contenter d'un scénario qui tiens dans trois pièces hein ^^

  11. #11
    Expert éminent sénior
    Avatar de Mat.M
    Profil pro
    Développeur informatique
    Inscrit en
    Novembre 2006
    Messages
    8 361
    Détails du profil
    Informations personnelles :
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Novembre 2006
    Messages : 8 361
    Points : 20 379
    Points
    20 379
    Par défaut
    bonjour je suis parfaitement d'accord avec Tchize,
    pas besoin de se casser la tête.En Java il y a des classes pour afficher des images
    Pour faire quelque chose de plus sophistiqué une fois que le jeu tourne un peu et pour plus de performance on peut utiliser JOGL par exemple pour une sortie Open GL, pas en 3d mais simplement pour un affichage plus rapide

  12. #12
    Modérateur
    Avatar de wax78
    Homme Profil pro
    Chef programmeur
    Inscrit en
    Août 2006
    Messages
    4 073
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    Localisation : Belgique

    Informations professionnelles :
    Activité : Chef programmeur
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Août 2006
    Messages : 4 073
    Points : 7 977
    Points
    7 977
    Par défaut
    Swing dans la plupart des cas s'en sort extremement bien pour faire un jeu 2D il faut savoir s'en servir c'est tout. Et pour faire un zelda, pas besoin de cartes 3D... même si cela serait pas plus mal j'en conviens. (comme le dit Mat.m&tchize)
    (Les "ça ne marche pas", même écrits sans faute(s), vous porteront discrédit ad vitam æternam et malheur pendant 7 ans)

    N'oubliez pas de consulter les FAQ Java et les cours et tutoriels Java

  13. #13
    Futur Membre du Club
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Octobre 2012
    Messages
    11
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Ille et Vilaine (Bretagne)

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Octobre 2012
    Messages : 11
    Points : 9
    Points
    9
    Par défaut
    Ce n'est pas si simple que ça, on voit que vous n'êtes pas encore tombé dans le cas. Rien que le pathfinding et la gestion des collisions, il y beaucoup de boulots.

    Et pour la gestion des quêtes, il faut bien réfléchir à son modèle objet.

    Après je ne sais pas s'il compte mettre en place un inventaire, mais la gestion des objets, des armes et tout, c'est pas évident.

    Il compte faire des ennemis? Si c'est ça, bon courage avec l'IA ...

    Les sprites seront animés?

  14. #14
    Expert éminent sénior
    Avatar de tchize_
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Avril 2007
    Messages
    25 481
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 44
    Localisation : Belgique

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Avril 2007
    Messages : 25 481
    Points : 48 806
    Points
    48 806
    Par défaut
    Non, je suis désolé, si on se limite à un projet scolaire, c'est simple. Il ne doit pas créer non plus l'application du siècle.

    Les collission: si on se base sur le bon vieux zelda: rien de plus simple: la case est occupée ou est libre.

    L'inventaire: une liste d'objet:

    Les monstres? Points vie et dégats, pas plus n'est nécessaire.

    Les quêtes? Pour un projet scolaire il peux même se contenter de l'hardcoder avec trois if.

    PathFinding: peux être implémenté de manière basique, avec un classe ayant une seule méthode Coordinates findBestMove(Coordinates from, Coordinates to), qui peux se contenter de viser +- la ligne droite.

  15. #15
    Membre habitué
    Homme Profil pro
    Informatique
    Inscrit en
    Mars 2013
    Messages
    203
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations professionnelles :
    Activité : Informatique

    Informations forums :
    Inscription : Mars 2013
    Messages : 203
    Points : 164
    Points
    164
    Par défaut
    Bonjour à tous et merci de vos réponses.

    Effectivement, je me contenterai du bête Zelda sortant de la NES ! Je vous remercie pour tout vos conseils, je suis entrain de suivre un tuto sur Slick2D, qu'en pensez vous ?

  16. #16
    Membre éclairé
    Homme Profil pro
    Inscrit en
    Octobre 2004
    Messages
    398
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Octobre 2004
    Messages : 398
    Points : 710
    Points
    710
    Par défaut
    Citation Envoyé par Original1992 Voir le message
    Bonjour à tous et merci de vos réponses.

    Effectivement, je me contenterai du bête Zelda sortant de la NES ! Je vous remercie pour tout vos conseils, je suis entrain de suivre un tuto sur Slick2D, qu'en pensez vous ?
    j'avais fait à à l'époque :
    http://provenza24.free.fr/pulpcore/Demo%20RPG/build/

    même si j'utilisais un moteur obsolète et sous forme d'applet, j'ai un peu mis le nez dans le développement d'un RPG, donc si question n'hésite pas

  17. #17
    Membre averti
    Profil pro
    Inscrit en
    Juin 2006
    Messages
    351
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2006
    Messages : 351
    Points : 432
    Points
    432
    Par défaut
    Si c'est pour apprendre le java , vaut mieux éviter d'utiliser les librairies spécialisées, tu vas apprendre beaucoup moins de choses.
    Car souvent tu as des outils pour les cartes , le chargement d'images est facilité(Avec des feuilles de sprites) , tu as la gestion des animations de manière très simple. Bref tu vas peu utiliser les classes standards de java mais plutôt apprendre à utiliser une librairie de jeu ce qui n'est pas du tout la même chose...

    En fait tu n'as pas vraiment besoin de tuto , c'est vraiment simple si tu veux faire un truc basique.

    Juste se poser des questions du genre :
    Comment je charge une image en java ?
    Comment afficher une image ?
    Comment je charge un fichier texte pour ma carte?
    Dans quoi je stocke les cases de ma carte ?
    ect ...

  18. #18
    Futur Membre du Club
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Octobre 2012
    Messages
    11
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Ille et Vilaine (Bretagne)

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Octobre 2012
    Messages : 11
    Points : 9
    Points
    9
    Par défaut
    Pour le coup, je suis d'accord avec les autres.

    Je te conseille de tout coder toi même et de ne pas utiliser de librairie car ce ne sera pas formateur. C'est la librairie que tu apprendras mais tu ne progresseras pas plus que ça en Java.

    Aide toi des codes sources et des tutoriels dont je t'ai parlé plus haut. Même si c'est en anglais, c'est très simple à comprendre et ça constitue une bonne base pour démarrer.

  19. #19
    Membre habitué
    Homme Profil pro
    Informatique
    Inscrit en
    Mars 2013
    Messages
    203
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations professionnelles :
    Activité : Informatique

    Informations forums :
    Inscription : Mars 2013
    Messages : 203
    Points : 164
    Points
    164
    Par défaut
    Ha ok car sur le coter j'aurais des cours de Java et un laboratoire, je pensais donc qu'utilisé une librairie été une bonne idée .. il faut pas oublier que je n'ai pas beaucoup de temps et que j'ai beaucoup d'autres activités/cours sur le côté.

    Je vous remercie pour votre aide, n'hésitez pas encore à m'aider !

  20. #20
    Membre expérimenté Avatar de Nico02
    Homme Profil pro
    Developpeur Java/JEE
    Inscrit en
    Février 2011
    Messages
    728
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Hérault (Languedoc Roussillon)

    Informations professionnelles :
    Activité : Developpeur Java/JEE
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Février 2011
    Messages : 728
    Points : 1 622
    Points
    1 622
    Par défaut
    Honnêtement, pour avoir déjà fait ce genre de projet à la Fac, c'est pas les quelques fonctions maison que tu vas devoir implémenter qui vont te prendre beaucoup de temps.

    La plupart des fonctions un peu spécifique (genre détection de collision ou pathFinding ) sont toutes dispo sur le net et sont facile à mettre en place. Tout le reste est spécifique au langage Java (comment dessiner des images, gestion du clavier..) et est de la même manière très bien documenté.

    Le plus dur, c'est de commencer !

    Et faut pas oublier que prendre en main une librairie demande aussi du temps pour l’appréhender et savoir s'en servir à peu près correctement

Discussions similaires

  1. Création d'un jeu
    Par Benjiijneb dans le forum C#
    Réponses: 11
    Dernier message: 26/02/2007, 16h07
  2. Création d un jeu : WEAPONS OF MASTERS
    Par scarecrow dans le forum Projets
    Réponses: 8
    Dernier message: 11/10/2006, 20h05
  3. [BENEVOLE] Création d'un Jeu en FLASH
    Par zakkk dans le forum Flash
    Réponses: 2
    Dernier message: 23/07/2006, 21h36
  4. Topic - La création d'un jeu avec opengl.
    Par AsmCode dans le forum OpenGL
    Réponses: 2
    Dernier message: 18/10/2005, 16h19
  5. Réponses: 19
    Dernier message: 15/03/2005, 09h05

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