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

Projets Discussion :

[WE Jeux 3] KonKassor


Sujet :

Projets

  1. #1
    Membre éprouvé

    Homme Profil pro
    Ingénieur logiciel embarqué
    Inscrit en
    Juillet 2002
    Messages
    386
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Ingénieur logiciel embarqué
    Secteur : Aéronautique - Marine - Espace - Armement

    Informations forums :
    Inscription : Juillet 2002
    Messages : 386
    Points : 1 164
    Points
    1 164
    Par défaut [WE Jeux 3] KonKassor
    Bonjour, ca va être dur d’être efficace cette fin de semaine du coup je vais revoir mes ambitions a la baisse , je voulais me lancer dans un petit jeu de terrorisme en 3D a la doom (ou l'on doit se faire exploser sur le plus de monde possible pour marquer des points) si vous cherchez des idées c'est dispo !

    Je vais donc partir sur un casse brique, qui me parait plus abordable. Je me servirai de ce post pour vous proposer le suivi du projet.

    Mon cahier des charge:
    objectif : proposer un casse brique original
    langage : Java
    moteur : -
    controle : souris
    affichage : 2D
    textures : générées (pas de bitmap)
    temps dispo :3 jours et 1 seul bras

    [edit samedi 22h] :
    Le logiciel est disponible ici.
    Vous pourrez choisir entre l'applet et le téléchargement. Si l'applet ne fonctionne pas le téléchargement reste une option.

    Voici de plus la première image :

    Game design de base:
    Le casse brique est un sujet "difficile" car longuement abordé (http://en.wikipedia.org/wiki/Breakout_clone) du coup pour innover, on ne doit pas hésiter a se lancer dans des idées folles, comme une balle c'est bien, plein c'est mieux! (En parallèle je ne prétend pas connaitre tout les casse briques donc je part du principe que l'approche que je propose est originale mais ca peu ne pas etre le cas.)

    Le principe est simple : quant on casse une brique, cela peu doublé la balle. Pour que le jeu ne soit pas trop simple on va devoir limiter le nombre de balles, ou les pertes de balles autorisée, l’équilibrage viendra après.

    Approche technique :
    Le choix du moteur : Pour ce genre de jeux c'est la grande question ! est il plus rapide de coder tout ou d'apprendre a utiliser un moteur tout fait?
    La réponse est : ca dépend. Dans mon cas j'ai déjà expérimenté des systèmes de collision, de rendu 2d, donc ca devrai être rapide de les adapter.

    Le choix du langage : C peut paraître le langage "naturel" pour les jeux, mais java permet de nous affranchir de petites choses comme l'allocation mémoire manuelle, la recherche d'une lib, et les debugages a rallonge. On va perdre un peu en perf (surtout en ram) mais le type de jeu demande tres peu de ressources. Donc au final ca devrai pas poser de problèmes. Le problème majeur c'est que les joueurs devront posséder une VM.


    Voila les bases, la suite plus tard...

  2. #2
    Rédacteur/Modérateur

    Avatar de SylvainPV
    Profil pro
    Inscrit en
    Novembre 2012
    Messages
    3 375
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2012
    Messages : 3 375
    Points : 9 944
    Points
    9 944
    Par défaut
    J'en avais fait un en .NET, c'est le genre de jeu idéal pour finir dans les temps

    Un truc qui met beaucoup de piment dans les casse-briques, c'est quand on doit éviter des objets malus ou des tirs ennemis. Le choix est difficile quand il faut sauver la balle ou esquiver le malus
    One Web to rule them all

  3. #3
    Membre éprouvé

    Homme Profil pro
    Ingénieur logiciel embarqué
    Inscrit en
    Juillet 2002
    Messages
    386
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Ingénieur logiciel embarqué
    Secteur : Aéronautique - Marine - Espace - Armement

    Informations forums :
    Inscription : Juillet 2002
    Messages : 386
    Points : 1 164
    Points
    1 164
    Par défaut
    TODO list :
    Adapter mon moteur 2D rapidement pour le jeu ... OK
    Recuperer mes methodes physique (colision) ... OK
    Decrire les objets de base du casse brique :
    Bord ... OK
    Raquette ... OK
    Balle ... OK
    Brique ... OK
    Definir un editeur de niveau de base ... OK
    completer le gameplay ... OK (si on ferme les yeux tres fort)
    Proposer une version jouable de base(v1) ... OK
    Definir le mecanisme de generation de balle ... OK
    Ajouter des power up/ down
    Adapter le gameplay pour faire un vrai jeu.
    Ajouter une UI (selection du lvl, etc)
    Ajouter des jolis effets graphiques
    Ajouter un score

  4. #4
    Membre éprouvé

    Homme Profil pro
    Ingénieur logiciel embarqué
    Inscrit en
    Juillet 2002
    Messages
    386
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Ingénieur logiciel embarqué
    Secteur : Aéronautique - Marine - Espace - Armement

    Informations forums :
    Inscription : Juillet 2002
    Messages : 386
    Points : 1 164
    Points
    1 164
    Par défaut
    l’éditeur est bientôt fini :


  5. #5
    Membre éprouvé

    Homme Profil pro
    Ingénieur logiciel embarqué
    Inscrit en
    Juillet 2002
    Messages
    386
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Ingénieur logiciel embarqué
    Secteur : Aéronautique - Marine - Espace - Armement

    Informations forums :
    Inscription : Juillet 2002
    Messages : 386
    Points : 1 164
    Points
    1 164
    Par défaut
    Voici ce a quoi je suis arrivé malgré une fin de semaine mouvementée.

    KonKassor.zip

    C'est simple, plein de bug, et le cahier des charge est pas complètement rempli ... ca ressemble a un vrai projet industrielle

    Ca m'aura surtout permis de mettre en lumière une bonne partie des problèmes de mon framwork 2D. Désolé de vous utiliser comme cobayes


    Le bon poin c'est que ca monte a 2000 fps ... pour du java pur.
    (brisé a 80 pour les animations)

  6. #6
    Membre averti Avatar de yetimothee
    Homme Profil pro
    Étudiant
    Inscrit en
    Mai 2007
    Messages
    260
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 31
    Localisation : France, Maine et Loire (Pays de la Loire)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Mai 2007
    Messages : 260
    Points : 364
    Points
    364
    Par défaut
    Null pointer exception quand je change de niveau ?

    Sinon c'est sympa ça surprends les 10 balles qui viennent d'un coup ^^

  7. #7
    Membre à l'essai
    Homme Profil pro
    Étudiant
    Inscrit en
    Janvier 2013
    Messages
    13
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Morbihan (Bretagne)

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

    Informations forums :
    Inscription : Janvier 2013
    Messages : 13
    Points : 10
    Points
    10
    Par défaut
    C'est plutôt bien réussi pour un projet de week-end.
    Au niveau du game play, c'est dommage qu'il ne soit pas possible de viser (ou je ne suis pas doué). Sinon, la réaction en chaine est intéressante.

    Quelques questions techniques par simple curiosité :
    Ton framework 2D s'appuie sur Gaphics2D ? Dans le cas contraire, c'est pour une question de performances ?
    Pourquoi tu n'as pas utilisé Swing pour l'éditeur de niveau ?

    Tu penses continuer ce projet de jeu ?

  8. #8
    Membre éprouvé

    Homme Profil pro
    Ingénieur logiciel embarqué
    Inscrit en
    Juillet 2002
    Messages
    386
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Ingénieur logiciel embarqué
    Secteur : Aéronautique - Marine - Espace - Armement

    Informations forums :
    Inscription : Juillet 2002
    Messages : 386
    Points : 1 164
    Points
    1 164
    Par défaut
    Null pointer exception quand je change de niveau ?
    oui c'est un problème avec des ressources que j'ai libéré mais qui sont pas encore tout a fait libres (soit un bouton soi une balle, dans la mesure ou chaque balle est un thread, c'est déjà un miracle que le niveau 1 marche )


    C'est plutôt bien réussi pour un projet de week-end
    merci ! J'ai toujours du mal a m'en convaincre



    c'est dommage qu'il ne soit pas possible de viser
    En effet, a la base on pouvais donner de l'effet a la balle avec la vitesse de déplacement de la raquette (et c’était très dur a contrôler ). Du coup quant j'ai construit plusieurs balles j'ai supprimé la dépendance entre ces 2 classes dans l'idée de changer l'angle de la balle en fonction du point d'impact sur la raquette (ca c'est plus classique) mais me moteur physique ne renvoi seulement la face touchée et non le point d'impact (a l'origine pour être rapide, le proto gère 1024 objets au moins toute les 20 ms). Du coup ca représente de gros changements en très peu de temps. Comme j'ai déjà assez de bug (notamment pas de passage au niveau 2 ) je n'ai pas priorisé cet ajout.

    Ton framework 2D s'appuie sur Gaphics2D?
    Alors oui ça se base sur java2D (qui est globalement performant, car il utilise l’accélération matériel si on lui demande) en fait j'ai 2 méthodes de "rendu", une qui appel le hard si dispo
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    (Graphics2D) bufferStrat.getDrawGraphics()
    et une soft (basé sur une BufferedImage). Accessoirement jusqu’à samedi soir le même jar pouvais être exécuté comme une applet... mais j'ai fait des modifs incompatibles dimanche (j'ai voulu aller trop vite).

    Dans le cas contraire, c'est pour une question de performances ?
    pour avoir essayer la SDL (bien sympa a utiliser en C) je doute que je puisse faire mieux que Java2D avec un wrapper SDL en JNI, j'ai aussi ete confronté a QT qui fait de belles GUI mais que j'ai eu du mal a maîtriser pour de l'affichage rapide. au final comme je dit, ca monte a 2000 fps donc la question de perf ne se pose pas vraiment.

    Pourquoi tu n'as pas utilisé Swing pour l'éditeur de niveau ?
    Que ce soit swing ou awt ce n'est pas prévu pour un affichage dynamique (bien que je suis sur qu'on peu le faire). Quant j'ai commencer mon petit framework 2D je suis parti dans l'idée de fournir la capacités de personnaliser l'UI (ce qui est souvent le cas dans les jeux) car je n’était pas satisfait par la techno look and feel et l'api (qui est pensé pour développer des applications "bureautiques"). C'est un choix un peu extrême, et on peu faire un mélange (c'est le cas de minecraft il me semble).

    Si tu est curieux sur comment c'est codé je te renvoi au projet j2d engine qui est en chantier (et donc plein de bugs comme mon projet l'a prouvé )

    Tu penses continuer ce projet de jeu ?
    C'est possible, je comptai en faire un exemple/tuto de dev de jeu simple, mais vu les problèmes rencontrés pendant la fin de semaine j'ai encore pas mal de travail et je ne crois pas que "simple" soit le bon mot

    En fait je suis pas fan de casse brique, c’était plus pour l'aspect technique que j'ai embarquer sur ce projet. Mais si j'arrive a me motiver pour obtenir une version stable je prendrais probablement le temps de travailler le gameplay (comme prévu dans la feuille de route ci-dessus) notamment diminuer la probabilité d'apparition des balles et différentier la balle d'origine des autres : par exemple perdre la partie si on perd notre balle principale pourrait être intéressant et ajouter du piment au jeu. Bref je n'en suis plus a mon premier design, mais il aurai fallu au moins 3x le temps passer sur ce jeu pour en faire quelque chose de vraiment sympa (comme proposer des niveaux qui profitent de la libération des balles supplémentaires).

    En fait j'ai passé plus de temps a fignoler le gameplay de mon précèdent jeu (SpaceDevastation) qu'a imaginer et coder celui-ci

Discussions similaires

  1. Développement jeux vidéo : quelles bases à avoir absolument ?
    Par Ezechiel dans le forum Développement 2D, 3D et Jeux
    Réponses: 175
    Dernier message: 20/02/2018, 16h14
  2. Du réseau dans les jeux
    Par Mathieu.J dans le forum Développement
    Réponses: 3
    Dernier message: 07/05/2004, 16h33
  3. [prg jeux ]Définir l'intersection de deux rectangles
    Par mat.M dans le forum Algorithmes et structures de données
    Réponses: 6
    Dernier message: 30/07/2003, 18h11
  4. jeux de caractères
    Par AHO dans le forum InterBase
    Réponses: 11
    Dernier message: 05/02/2003, 18h45
  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