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
(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
Partager