Enthousiast22 -
posté le 31/03/2020 à 12:16:08 (7 messages postés)
❤ 0
Domaine concerné: script Logiciel utilisé: RPG Maker 2003 Bonjour à tous !!
Ce post ne manquera pas d'amener les plus chevronnés d'entre vous à s'écraser la paume de la main contre le visage, en songeant "et allez, encore un bon noob qui ne sait pas franchement de quoi il parle." Et comment leur en vouloir. Je clame haut et fort mon statut de parfait noob en matière de codage/programmation. D'avance pardon.
Étant nouveau dans la création de RPG, je caresse l'idée de produire un A-RPG, mon format de prédilection absolu depuis SoM et Evermore. Je comprends relativement bien les logiques de mapping et de création d'événements simples (des pnj animés, des téléports, des links entre les screens etc...) Mais m'étant renseigné, j'ai compris qu'il me fallait un Action Battle System pour mener ce projet d'A-RPG à son terme.
Les tutos sur lesquels je suis tombé, outre n'être presque jamais en français, présentent souvent des systèmes assez denses, avec plusieurs armes, des spells, des combos. Ces tutos, jusqu'ici, me perdent allègrement, et lorsque qu'ils ne sont pas en vidéos, je ne cerne pas toujours les chemins/endroits des menus affichés sur les screenshots, certainement parce que les auteurs partent du principe que l'on sait où ils se trouvent. Or c'est trop rarement mon cas.
Mon projet s'étoffant en terme de maps, je ne veux pas baisser les bras car j'y prends énormément de plaisir. Ce que je recherche est assez minimaliste. J'aimerais avoir la possibilité que mon héro envoie un coup d'épée en appuyant sur espace. Dans la direction qu'il fixe, et selon une hit range "classique". Et que le/les ennemis puissent faire de même, tout en "fonçant" sur mon héros. Rien d'autre. Pas de switch d'armes, de combos, de spells ou quoique ce soit. Juste ce fameux coup d'épée effectif et directionnel.
C'est ainsi que je viens vers vous, dans l'espoir de trouver, soit un ABS désespérément minimaliste, soit un mentor qui accepterait de me prendre sous son aile dans l'implémentation de cette logique de combat, et de répondre à mes questions. Voire d'ajouter un ou deux paramètres, comme un petit knock-back après avoir accusé un coup par exemple, mais cela demeure hypothétique puissance 1000. Mon but unique, en soi, reste d'implémenter ce fameux coup de sabre effectif. Et je me rends bien compte que malgré la simplicité basique du système que je convoite, à réaliser, c'est une toute autre paire de manches.
Voilà, en ces jours confinés, ma petite bouteille à la mer. J'espère qu'elle atteindra quelque plage de sable fin et blanc, ou l'écran d'un connaisseur pris de pitié pour ma pauvre âme de novice (mais amoureux du genre).
Il ne me reste qu'à vous souhaiter une belle journée, et à vous remercier de m'avoir lu !!
Gari -
posté le 31/03/2020 à 12:28:46 (5901 messages postés)
-
Dans la théorie, ce qu'il vous faut au minimum pour que ça fonctionne :
_ que le monstre vous détecte, ce qui change son attitude à "attaquer", et éventuellement désactiver son mode attaque si vous ne voulez pas l'avoir sur toute la map
_ que le monstre attaque quand vous êtes dans sa ligne de mire + un délai (sinon il va vous descendre)
_ que vous attaquiez le monstre quand vous le regardez.
_ configurer combien de coups la bêbête peut prendre avant de tomber raide (si c'est un coup, ça simplifie).
_ enlever 1 ou plusieurs points de vie quand l'un ou l'autre touche.
Pour la partie détection, j'aurais tendance à conseiller les tutos de Joke, mais même bien expliqués il faut comprendre comment fonctionnent les variables/interrupteurs.
Kenetec -
posté le 31/03/2020 à 12:57:55 (13037 messages postés)
❤ 0
~°~
Citation:
je caresse l'idée de produire un A-RPG
Citation:
RPG Maker 2003
Je veux pas être défaitiste ou négatif, mais tu n'a pas choisi la bonne plate forme pour ça.
RM2003 (et même RM au sens large) n'est pas fait pour faire des A-RPG.
Il faut développer des montagnes d'inventivité, de bidouilles, pour espérer avoir quelque chose de convenable.
Et il faut un gros gros niveau de maitrise du logiciel et de son fonctionnement pour y arriver.
Anton_ -
posté le 31/03/2020 à 13:31:05 (1535 messages postés)
❤ 0
Je prendrais la direction inverse du défaitiste mais il faut se rendre compte que ce n'est pas simple même posé le plus basiquement possible.
Voici les concepts de RM2003 à apprendre et à maîtriser pour pouvoir attaquer un prototype d'ARPG :
- récupérer les coordonnées X/Y des cases du héros et des events, les mettre dans des variables, et bien utiliser les branches conditionnelles pour faire des comparaisons de variables (comme du codage)
- le concept de pouvoir appeler une page d'un event distant uniquement grace à des variables. (get event ID avec un X/Y au choix, vérifier que cet ID fait partie des ID d'ennemis, puis appeler une de ses pages spécifique d'ennemi) Se gourrer dans l'appel d'event car si l'ID d'event ou le numéro de page est inexistant, c'est un crash du jeu.
- le code touche pour capter l'appui sur entrée, et en fonction de la direction, choisir les cases qui sont couvertes par l'arme (prendre le X/Y du héros, se déplacer autour avec des X+1, Y+1 ..., checker chaque case pour la présence d'un ennemi), faire une animation de combat sur le héros.
- si chaque ennemi a des propriétés locales (genre des HP), il faudra utiliser des pointeurs de variables, faut pas trop de gourrer la dedans car ça peut créer des problèmes par effet de bord surtout si on utilise des processus parallèles en pagaille.
- les processus parallèles, a limiter au mieux. Un seul processus parallèle doit pouvoir gérer la boucle de logique sur tout le combat, mais pour faire simple : 1 seul processus parallèle, histoire d'avoir un controle du personnage normal et un déplacement auto des ennemis. Un 2eme processus parallèle peut être utilisé pour le HUD (afficher les barres d'HP), ou montrer les altérations d'état.
- les pictures en spritesheet (RM2003 version Steam) sont devenues très pratiques pour afficher des mini animations visuelles avec de la précision (HUD, effets visuels), mais attention de séparer les ID pour chaque picture différente pour limiter le lag. Il faut aussi comprendre que les X/Y des pictures c'est pas pareil que les X/Y des cases sur la grille des events. Faut pas confondre.
Dans la boucle de logique, il faudrait faire la chose suivante :
- détection des touches, entrée ? échap ? shift ? bref quelle action veut faire le joueur ? appliquer l'action / ouvrir le menu / magie / etc...
- faire un tour sur les X/Y des ennemis pour savoir s'ils sont près ou loin pour les rendre plus ou moins aggressifs. détecter un contact direct pourrait se faire via le contact événementiel. A expérimenter
- s'il y a eu un coup, appliquer les dégats sur les ennemis (ou sur le héros) et jouer les animations de combat, ici on pourra mettre des pictures en spritesheet.
- ensuite, si le HP ennemi tombe à 0, le faire dégager, donner les XP. Si c'est le héros qu'est mis KO, lancer un game over.
- et voilà, le processus parallèle se relancera à la frame suivante.
Aurora -
posté le 31/03/2020 à 14:26:59 (437 messages postés)
❤ 0
Hello,
je ne peux pas t'aider pour 2003 mais sur RM XP c'est très faisable quoiqu’en pensent certains :
Tuto sur RM XP :
Projet du tuto disponible dans la description.
Je suis le créateur, si tu as une question concernant la marche à suivre sur xp, n'hésite pas.
Peut-être que ça te donnera certaines pistes si tu restes sur 2003.