Pokémon (encore un ?)
Posté le 24/04/2014 21:38
Bonjour à tous.
Voilà maintenant deux mois que j'ai commencé ce projet, je le poursuis petit à petit, un coup dans le bus, un coup avant de me coucher, un coup en espagnol, un coup en philo.
Ce programme sera entièrement codé en Basic Casio, je ne me suis pas encore décidé à me mettre au C !
Je ne considère pas mon programme comme un "vrai Pokémon", mais plus un mini-jeu. Je m'explique : il n'existera que 40 Pokemon crées par mes soins, avec 8 types (sans compter le type normal, qui sera seulement le type des attaques Charge, Griffe, Rugissement et Mimi-Queue), et 4 attaques de chaque type. Chaque attaque ayant la même caractéristique pour chaque type. (Une attaque faible, une moyenne, une forte, et une de boost/statut).
J'ai déjà entièrement fini le système de combat, avec accès à l'équipe et au sac, mais je n'ai pas encore inclus le système d'expérience, ni de PP (je n'ai pas encore décidé si je l'inclus, notamment pour une raison d’esthétisme. Tout le système de combat est affiché sur l'écran graphique.
J'ai déjà trouvé mes 40 Pokemons, crées par mes soins. Ils seront tous sous la forme de signes, mathématiques ou non.
Je lâche un spoiler sur les starters, qui auront bien entendu leurs évolutions :
Cliquez pour découvrir
Cliquez pour recouvrir
Les starters plante, feu et eau seront respectivement sin, cos et tan !
Non seulement il faut trouver des évolutions avec des signes cohérents entre eux, mais en plus il faut qu'ils soient affichables sur l'écran graphique, car oui, la bonne moitié des signes disponibles dans le menu caractères ne s'affichent que sur l'écran texte. De ce fait, le nombre de type est limité, il y aura donc évidemment 8 arènes, une de chaque type, et j'ai déjà prévu un skin pour chaque champion, mais pour 500 octets chacun, ça fait déjà 4000 octets rien que pour les afficher, donc à voir !
Je dois anticiper le nombre de dresseurs entre chaque ville, en découlera un système d'argent, tout en sachant doser la quantité distribuée par chaque dresseur. Pourquoi pas une génération aléatoire assez faible d'argent à la fin d'un combat contre un Pokémon sauvage !
Pour le moment je dois commencer la génération des cartes, je vais sûrement utiliser la même configuration pour chaque ville, rien que la création de 8 centres Pokémon, ça commence à peser !
Au passage, je m'amuse à créer des écrans de transition entre carte et combat, quand on lance un combat contre un Pokémon sauvage par exemple. J'ai essayé de dessiner deux paraboles (une vers le haut, une vers le bas) pour créer un cercle, comme une PokéBall. (Je sais pas si je suis très clair. XD) Mais avec les paraboles, le cercle n'est pas parfait, j'aimerais savoir si quelqu'un a une idée pour pouvoir dessiner un cercle avec des courbes, peu importe le V-Win, l'orientation, ou même s'il y a plusieurs équations, j'aimerais juste savoir si des idées vous passent par la tête. x)
Voilà.
Avancement actuel
Cliquer pour enrouler
Edit du 28/04
Cliquer pour enrouler
J'ai apporté une nouveauté au niveau du scénario, on oublie les arènes, mais il y aura plutôt 8 zones dans lesquelles on trouvera deux types de Pokémon (exemple dans le marais, type eau et plante), ces zones seront découpées en 4 cartes, les trois premières où trois meutes de Pokémons enragés vous attaqueront (même principe que le combat contre un dresseur, le skin du dresseur en moins), puis la quatrième zone le chef de la zone vous défiera. Ces 8 chefs de zones seront en fait des "méchants" qui rendent les Pokémons enragés pour contrôler le monde ! Il faudra donc vaincre chacun des chefs de chaque zone, puis défier le chef de toute cette organisation. Qu'est-ce que vous en pensez ?
Edit du 11/05
Cliquer pour enrouler
- Le jeu sera finalement appelé "Pokémon : la malédiction du cercle".
- Pour le moment, les 8 chefs de zone sont remplacés par 8 fois le même ennemi, un chef de l'organisation de malfaiteurs. S'il me reste de la place après tout ce que j'ai voulu caser, j'ajouterai 8 skins différents, qui sont déjà conçus.
- Pour le moment, les skins des villes ne seront pas représentés, un menu permettra d'y naviguer. Encore une fois s'il me reste de la place, ce serait à envisager.
- Je suis en train de réaliser l'introduction, avec présentation de l'histoire, etc... Il me faudrait donc un écran titre qui claque, seulement voilà, je suis un piètre dessinateur, je pourrais à peine afficher le logo de Pokémon avec un Text 50,3,"La malediction du cercle", j'aurais donc besoin d'une personne qui serait intéressée par la réalisation de cet écran d'introduction. Il sera stocké dans une picture, alors vous pouvez ajouter absolument tout ce que vous voulez, vous avez vraiment carte blanche ! Bien sûr vous aurez votre nom dans le jeu.
Avis aux intéressés !
- Etant en période de révisions pour un concours, et bientôt pour le bac, je ne saurais pas donner une date précise de la sortie du jeu, mais j'espère le finir avant le bac si tout se passe bien.
Edit du 20/05
Cliquer pour enrouler
Le jeu avance pas mal ! J'ai enfin terminé mon écran titre, avec une petite animation. Un problème se pose : il ne me reste plus que 13 000 octets libres, donc environ 9000 octets pour être large. Voici une liste de ce qu'il me reste à faire :
-
Tester et améliorer l'IA
-
Gain d'argent à la fin du combat
-
Système d'EV (beaucoup moins élaboré que celui du vrai Pokémon)
-
Récompense lorsqu'une zone est terminée (déjà prévue)
-
Dialogues divers (je vais essayer de ne pas faire trop lourd)
-
Fin du jeu (dialogues/affichage, le reste est déjà imaginé)
-
Soin dans les boîtes du PC (Merci Lephenixnoir. )
-
Optimisation diverse :
Affichage Stockage/Sac -
Coefficients de boost -
Résistances/Faiblesses -
Diminution des caractéristiques
- Éventuellement penser à quelque chose qui change lorsqu'on finit le jeu, une zone supplémentaire peut-être !
Cette liste est modifiable, je viendrai rayer lorsque j'aurai terminé quelque chose.
Pour le moment je n'ai pas trouvé de bugs que je n'ai pas réussi à corriger, mais je vais tout de même faire l'aventure par moi-même avant de poster la version finale.
Je préviens donc par avance : il faudra vider sa calculatrice pour pouvoir jouer à ce jeu ! Heureusement la mémoire de Stockage servira à conserver vos données.
Scénario
Cliquer pour enrouler
Il y a 8 ans de cela, une guerre entre deux nations éclata dans le but de s’approprier le pouvoir des Pokémons. Cette guerre entraîna l’extinction de leur espèce.
Un scientifique desespéré tenta de recréer ces Pokémons à partir de simples données et de calculs : il arriva à créer un cercle regroupant toutes les caractéristiques des créatures disparues. Enfin, un Pokémon vit le jour, il fut baptisé Mikomi. Maleureusement, le scientifique tenta lui aussi de s’approprier le pouvoir de ce Pokémon, et utilisa le cercle pour l’emprisonner. Cependant, le pouvoir de Mikomi était si grand que le piège ne lui résista pas longtemps. Il entra dans une colère noire, et détruisit le laboratoire : le scientifique trouva la mort. Plus tard lorsqu’on retrouva le cercle, on y trouva des fragments des données de l’ordinateur du scientifique, et le cercle leur avait donné la vie. Malheureusement, la colère de Mikomi s’était répercutée dans l’ADN de ces nouveaux Pokémons, et ceux-ci attaquèrent les humains. Ce jour est depuis appelé « La malédiction du cercle ».
Citer : Posté le 24/04/2014 21:46 | #
Tu as l'air embêté par la disponibilité des caractères sur l'écran graphique, mais pourquoi ne pas faire plutôt de petits sprites ? Si les 40 pokémons sont dus au nombre trop faible de caractères utilisables, ça te permettrait alors d'en faire plus.
Quant au cercle tu peux tout simplement utiliser la fonction Circle.
Citer : Posté le 24/04/2014 21:50 | #
Salut à toi, déjà je te soutient dans ton projet par ce que tout ce que tu as dit à l'air formidable, pour le réaliser en basic par contre, je te souhaite bonne chance Il faut un très bon niveau en plus pour faire tout ça, tu as du apprendre
Citer : Posté le 24/04/2014 22:06 | #
@Positon C'est vrai que je pourrai creuser cette idée, je verrai s'il me reste de la place.
C'est vrai qu'actuellement, le nom des Pokémons, c'est leur signe, donc pas de distinction entre leur skin et leur nom. x)
@Eltoredo Je n'ai pas un très bon niveau, mais je me débrouille. x)
Et oui, j'ai appris en regardant d'autres codes !
Disons que j'avais déjà fait un programme Pokémon, que j'ai fini, mais avec tellement peu d'optimisation que n'importe qui tomberait raide mort en voyant le code. XD
(Une picture par map, des Goto partout, presque pas de sous-programmes, j'utilisais une variable dans le programme, elle ne servait qu'à ça, et quand j'ai plus de variables dans l'alphabet, j'utilisais des listes. Donc des listes partout, enfin bref, le bordel absolu !)
Citer : Posté le 24/04/2014 22:27 | #
Pokémon en basic ...
Respect.
Si je peut t'aider dans quoi que ce soit, je suis la
Citer : Posté le 24/04/2014 23:16 | #
Salut,
Si tu veux programmer un jeu de Pokémon, je te conseille vraiment de regarder le site de Dafp qui contient des informations très utiles pour pouvoir programmer un jeu de Pokémon en Basic Casio ;).
Si tu veux tracer un cercle, utilise les coordonnées polaires :
r1 = rayonDuCercle
r1 = 3 donne une cercle de rayon 3
Dans le menu Graphe, F3 -> F2 pour pouvoir tracer des courbes en coordonnée polaire.
Sinon il y a aussi la courbe d'équation √(x²+y²)=rayon il me semble , mais je ne sais plus comment on fait pour tracer cette courbe.
Citer : Posté le 24/04/2014 23:52 | #
@Xavier59 Merci c'est gentil.
@Smashmaster - Je me suis déjà intéressé à ce site qui est en effet très intéressant, le jeu est très complet et c'est ce qui fait sa force. Cependant avec l'utilisation presque exclusive de l'écran graphique, je me dois de fournir des graphismes clairs et fluides, (enfin ne rêvons pas, on programme quand même en Basic sur une caltoche..), mais en contrepartie rendre le jeu moins complet. Tout du moins, je jetterai certainement un coup d'oeil plus poussé au site si je suis en manque d'inspiration.
- Etant donné que c'est pour l'intégrer à mon programme, la fonction Circle ne serait-elle pas plus adaptée ? Vouloir créer un cercle avec deux courbes, c'est vraiment un effet de style, j'ai fait quelques recherches et ce que je demande est en fait impossible, ou du moins pas avec deux paraboles, je vais chercher une autre manière de faire la transition entre les combats, mais j'ai déjà pas mal d'idées. x)
Merci pour ces informations tout de même, je ne connaissais pas la signification de ce fameux "r" !
Citer : Posté le 24/04/2014 23:55 | #
La fonction Circle est une des plus lentes fonctions jamais vues si je me souviens bien... c'est une horreur
Citer : Posté le 25/04/2014 00:15 | #
@Thomatos En effet la fonction Circle est lente, mais malheureusement la fonction "Graph r =" l'est tout autant. Je n'ai pas encore essayé de cercle en Drawstat, peut-être que ce serait plus envisageable....
Citer : Posté le 25/04/2014 00:22 | #
F-line 5cos A, 5sin A, 5cos (A+π/10), 5sin (A+π/10)
Next
Je n'ai pas testé mais normalement ça trace un cercle de rayon 5 très rapidement, si tu veux plus de précision diminue la valeur π/10.
La calculatrice doit être en mode rad.
Citer : Posté le 25/04/2014 06:49 | #
Smashmaster, ta courbe avec la racine ne donne qu'un demi-cercle.
Sinon il y a la possibilité de le tracer en paramétrique, non ?
Citer : Posté le 25/04/2014 11:06 | #
Sinon le site de Dafp ne marche pas, je fait générer le code et rien
Citer : Posté le 25/04/2014 13:23 | #
pour les sprites regarde ici http://wiki.planet-casio.com/tools/Graphics/browse.php?dir=/Pokemon(PokemonJade)&disp=0 et encore un grand merci à lephenixnoir pour son site de piratage de sprite
Citer : Posté le 25/04/2014 17:52 | #
...merci à lephenixnoir pour son site de piratage de sprite
Citer : Posté le 25/04/2014 17:54 | #
C'est mon correcteur d'orthographe qui buggue
Citer : Posté le 25/04/2014 19:06 | #
Merci beaucoup pour ces sprites, mais étant donné que je veux créer mes propres Pokémons, ils ne me seront pas utiles. Peut-être pour une prochaine édition.
Citer : Posté le 25/04/2014 20:04 | #
et encore un grand merci à lephenixnoir pour son site de partage de sprite
Je vois que ce travail commence à porter quelques fruits.
Et je n'ai rien piraté, tu sais.
Merci beaucoup pour ces sprites, mais étant donné que je veux créer mes propres Pokémons, ils ne me seront pas utiles. Peut-être pour une prochaine édition.
Enfin, disons qu'à peu près ça aurait pu être très utile.
Citer : Posté le 28/04/2014 13:56 | #
Edit au niveau du scénario !
Citer : Posté le 08/05/2014 10:15 | #
Une bonne dérivation du scénario qui rend le jeu original et évite la répétion de la même histoire récurrente.
Ça donne envie d'y jouer parce que d'une part, on retrouve l'ancien système (combats, etc...), mais d'un autre côté, l'histoire change complètement donc on ne sait plus à quoi s'attendre, on sait juste que le gameplay sera conforme au jeu original donc on ne risque pas d'être déçu (à moins vraiment que l'histoire soit du grand n'importe quoi, et encore).
Citer : Posté le 12/05/2014 18:53 | #
Pour le moment je boucle l'aspect technique du jeu, qui est d'ailleurs presque fini, tout en ajoutant des éléments de mon scénario à droite et à gauche. Globalement j'ai une idée arrêtée sur l'histoire en général, mais je vais essayer d'ajouter un peu de background en plus.
-----------
Edit : Rajout de quelques informations, et j'ai besoin de l'aide d'un graphiste motivé.
Ajouté le 20/05/2014 à 20:13 :
J'aimerais avoir votre avis :
Dans le menu "Equipe", lors de l'affichage des Pokémons dans l'équipe, on a le nom du Pokémon, son statut, et son niveau. Pour voir la vie restante d'un des Pokémons, il faudra le sélectionner et aller dans "Stats".
Selon vous, est-il plus intéressant de voir le niveau d'un Pokémon en priorité, ou son pourcentage de vitalité restante ?
Par exemple lors de l'utilisation d'un objet comme une Potion, il est sûrement plus optimisé de voir directement la vitalité restante du Pokémon sans passer par le menu "Stats". Je n'arrive pas cependant par à me décider entre le niveau et le pourcentage.
Des avis ?
Citer : Posté le 20/05/2014 20:14 | #
Vie.
Le niveau, c'est plus ou moins constant, quand il augmente on le sait.
Seule exception: dans les boîtes de stockage. Puisque les Pokémon y ont toujours 100% de PV, y afficher le niveau est plus intéressant.