Bienvenue visiteur !
|
Statistiques
Liste des membres
Contact
Mentions légales
342 connectés actuellement
30732868 visiteurs depuis l'ouverture
2847 visiteurs aujourd'hui
Partenaires
Tous nos partenaires
Devenir partenaire
|
Messages postés par esziaprez game Nombre de messages référencés sur Oniromancie (non supprimés): 346 Aller à la page: 1 2 3 4 5 6 7 8 9
Posté dans Forum - NEOTORI (un projet somnolant) |
esziaprez game -
posté le 16/10/2013 à 13:00:21. (441 messages postés) |
| Merci beaucoup. Mais mes ambitions sont toujours démesurées et je me retrouve avec des projets pharaoniques... lol
Le projet avance assez lentement et ton message m'a donné envie de faire un petit bilan...
xoxoxoxoxoxoxoxoxoxoxoxoxoxoxoxoxoxoxoxoxoxoxoxoxoxoxoxoxoxoxoxo
oxoxoxoxoxoxoxoxoxoxoxoxoxoxoxoxoxoxoxoxoxoxoxoxoxoxoxoxoxoxoxox
Vendredi 16/10/2013
Presque trois mois depuis ma dernière news du projet.
OBJECTIFS
L'objectif était de finir la démo en priorité. en 6 à 9 mois mois pour faire une démo comprenant Neotori et Terra III complète ; Harass et Celius en version partielle ; Terra II, Kristal, Whanghek I et Aqua en version minimum.
J'ai avancé relativement bien et je suis dans les temps pour finir ma démo dans le délai prévu mais le plus large.
Il reste 2 à 5 mois (sachant que je mise plutôt sur 3 ou quatre)
AVANCEMENT :
- Finir le mapping complet des planètes Neotori et Terra III70%
Neotori peut rester à ce niveau de mapping pour la démo. même si quelques maps d'intérieur supplémentaires seraient bienvenues
Neotori Astroport Extérieur 100% (j'utilise un rippe de megaman)
Décollage et arrivé de la nef animé 100%
Neotori Astroport Inner 80% (je dois juste intégrer un ripped de megaman dans un tileset)
Neotori Extérieur haut niveau 100% (quelques améliorations à apporter en direction de l'Astroport et al'entrée du "vomit", Il faudra que je mappe les partie supérieurs qui ne sont pas accessibles pour le moment mais ce n'est pas vital)
Neotori Intérieur haut niveau 100% (Les intérieurs des hauts niveraux ne sont pas indispenssable pour la démo)
Système de transport transurban 100%
Niveau Inférieur Extérieur 80%
Niveau Inférieur Inner 35% (Les inners des deux premières cartes sont presque finit)
Niveau Industrialisé Extérieur 75% (Voilà un travail que j'ai a justifier durant ces 3 mois j'ai créé un Tile et j'ai réalisé quelques maps, le plus bon ce sont les machines industrielles animées)
Décharge 50% (je compte utilisé un Rip de Magaman modifié)
- Entamer le mapping partielle de Harass et Celuis10% (10 % symboliques car je n'ai fait que dessiner quelques ressources)
- Commencer le mapping de Terra II, Kristal, Whanghek I et Aqua0%
- Finir les quêtes secondaires et principales de Terra III et Neotori15%
Pour les quète j'ai surtout fait un ensemble de scénette sur les différentes planètes.
1- mettre au point le système pour la quête d'essence de Gentech : le héros devra collecté des essences sur le corps de créatures vaincues.
2- mettre au point une quête des pièces de la banque de données des anciens : le héros devra collecté des artefact dans des endroits caché de la galaxie, en réunissant ses données il obtient un vaisseau spécial.
3- mettre en place les quêtes principales
4- mettre au points plusieurs quêtes secondaires
- Finir le système de combats TBS100% mais...
J'ai décidé de diversifié le game play et de reservé le TBS à quelques scènes.
- Finir le système de voyages spatiaux40%
Il est finit à l’écrit sur un cahier et il ne reste plus qu'à le coder et à le tester. Ensuite il faudra l'améliorer.
Pour l'instant j'ai bien entamé l'interface de gestion du vaisseau des marchandises et de l'équipement. maintenant il faut finir le codage.
- Finir le système de gestion équipements et personnel du vaisseau25%
Bon le 1er vaisseau est mappé les différents interfaces sont pretes. Il faut toujours que je m'y mette
- Finir le système de combats spatiaux10%
Je suis en train de réfléchir à une manière d'aborder la transition entre l'aspect gestion du vaisseau et un combat.
Peut être qu'il faudrait que je joue les combat comme des evenements ou il faudra que le heros gère le vaisseau en fonction et oublier cette histoire de tour par tour.
Ca sera plus simple à mettre en place et plus marrant à jouer.
- Finir le système de TCG100%
- Finir le système de commerce de marchandises0%
PLus tard...Encore plus tard...Plus tard peu être même après la démo
- Finir le système de gestion de relation Race/Groupe/PNJ15%
Je m'occuperai de cet aspect plus tard
BONUS
Un nouveau main menu !
Avec une intro courte avant, un écran press-start et des animations (les planètes bougent et à la validation il y a un zoom sur une planète)
|
Projet en cours: INRAL / En pause :NEOTORI /// Pause : L'ANKH DE KINBRA /// Pause : GRASS SHOPPER /// GALERIE |
Posté dans Forum - [RMXP] La 7e porte |
esziaprez game -
posté le 13/10/2013 à 02:06:25. (441 messages postés) |
| J'ai pris mon pied sérieux. L'ambiance est digne des meilleurs thrillers avec les personnages dont les histoires se recoupent et finissent par se rejoindre dans un emmêlement psycho, super chouette.
C'est bien monté, ça change à chaque tableau avec des gameplay originaux...
J'ai apprécier la partie où l'on prend possession des gardes et où on les invites gentiment à se tirer une balle dans la tête ou à tirer sur leur collègue. Jouissif !!!
Les persos sont bien animés.
Les musiques correspondent bien...
Chouette travail, Je suis impréssionné.
is good
|
Projet en cours: INRAL / En pause :NEOTORI /// Pause : L'ANKH DE KINBRA /// Pause : GRASS SHOPPER /// GALERIE |
Posté dans Tutoriels - Customisation extrême du héros avec ses équipements |
esziaprez game -
posté le 12/10/2013 à 11:56:58. (441 messages postés) |
| Oulala c'est facile de prendre la démo...
Je n'en suis pas à la partie Gunfight...
Citation: Les cheveux du perso qui se baladent sur la map quand je charge ma partie |
Il s'agit d'un problème d'initialisation, en faite toutes les parties du corps ce baladent sur la map mais elle ne sont visible qu'à partir du moment où elle arrive à la position du héros. Verifie que :
- Si l'interrupteur [habillé] et bien coché dans chaque page de l'événement des cheveux.
- Si dans l’événement d'Initialisation (qui ne porte pas de nom dans la demo) l'événement des cheveux est bien téléporté à la position du héros et tourné dans la même diréction. Il s'agit surement d'un oubli. Je corrigerai dans la démo
Citation: le monstre qui ne meurt pas quand on lui tire dessus xD |
Le monstre ne meurt pas car il a plusieurs pv !!! Cela dépend de l'arme et du nombre de tir. PS lorsque le jeu commence il faut initialisé la variable de l'arme à 0 sinon la puissance de l'arme sera de 0 donc n'infligera aucun dégâts aux monstres.
Citation: puis quand on meurt on peux encore accéder au menu, ça ramène pas automatiquement à l'écran titre |
J'ai juste rien mit. Ca appelle un événement commun (Game over) c'est tout ! Il suffit de le modifier. A si ! Si je me rappelle j'ai juste mit que ca téléporte le héros à la dérnière position de sauvegarde enregistré dans des variables.
Citation: Chaque équipement et chaque arme est visible sur le charset du héros, ce qui le rend hyper customisable." Désolé mais moi quand je tire avec le pistolet, y a pas de pistolet dans la main du perso... Je peux en citer d'autres, un moment je tire dans le vide et ça blesse tous les ennemis, ou un moment j'ouvre une porte et le hero freeze... |
La partie Gunfight demande quelques réglages préalables ce qui fait que dans la démo vous ne pouvez pas l'utiliser complètement. Ce tuto se consacre préalablement à la partie Customisation donc patience mais mon système est fonctionnel et je l'expliquerai dans un prochain tuto
EDIT> En faite dans la démo je me suis un peu trop speedé. Pour vérifier que la position du héros est identique à la position de l'équipement, je stocke les coordonnées dans des variables sauf quelle doivent être différentes pour chaque événement et je ne l'ai pas fait à chaque fois. C'est de ma faute. Remarque chez moi ça marche malgré tout.
|
Projet en cours: INRAL / En pause :NEOTORI /// Pause : L'ANKH DE KINBRA /// Pause : GRASS SHOPPER /// GALERIE |
Posté dans Forum - [RMXP] Un gros tuto en construction |
esziaprez game -
posté le 09/10/2013 à 12:27:38. (441 messages postés) |
| http://www.mediafire.com/download/xi2l2i8htqp5tgf/PERSONNALISATION.7z
Ok je vais ajouter plus d'image en les telechargeants plus tard. C'est pas trop mal expliqué ?
Pour la suite je vais passer au Gunfight
CHAPITRE 3 - Le gun fight de base (l'ennemi ne tire pas)
Plusieurs gunfight existe déjà sur les différents forums et je vais reprendre la base.
1/ Les variables et les interrupteur
Il va nous falloir des variables qui reprennent la position des ennemis. nous allons commencer avec un ennemi : Ennemi1X et Ennemi1Y.
Ensuite il nous faudra les variables de la position de la balle : BallX et BalleY
Il va nous falloir une variable pour le puissance de l'arme : PuissanceArme
Il nous faut aussi une variable par zone du corps pour définir les points de défense accordés par l'équipement porté : defbas, defhaut, deftete, defchaussure, defarmure, defgant.
Une variable pour définir les point de vie du héros : Viehéros
Une autre pour définir les points de vie de l'ennemi : VieEnnemi1
Enfin une variable pour les dégâts infligés : Dégâts
Un interrupteur "tir-coup" va par ailleurs être nécessaire.
2/ les événements
Dans la Map "Départ"
Reprenons l'événement de la Map de départ cité au précèdent chapitre (il n'y en a qu'un).
Cette événement sert à initialiser les variables, nous allons donc initialiser les PV du héros et de ses ennemis au tout début du contenu créé auparavant.
1
2
3
4
|
<>Variable [Viehéros]==40
<>Variable [VieEnnemi1]==X #nombre de PV que vous voulez attribuer à l'ennemi
|
Dans la Map "Jeu"
Nous allons créé un événement qui représente l'ennemi que nous appellerons "ennemi-1"
Dans la première page :
- Cochez "si une variable est supérieur à", choisissez la variable "VieEnnemi1" et la valeur -1
- Processus parallèle
- Dans le contenu faite :
1
2
3
4
5
6
7
8
|
<>Attendre X frames #le temps que vous voullez que l'animation mort dure
<>Attendre X frames #le temps avant que l'ennemi réapparaisse une fois tué
<>Téléporter : cet événement
: : Position X #l'endroit ou vous voulez que l'ennemi réapparaisse.
<>Jouer un effet sonore X #le son émit lorsque l'ennemi réapparaît (un râle pour un zombie)
<>Variable[VieEnnemi1]==X #la nombre de PV que vous voulez attribuer à l'ennemi
|
Dans la deuxième page :
- Cochez "si une variable est supérieur à", choisissez la variable "VieEnnemi1" et la valeur 0
- Choisissez l'apparence que vous voulez donner au zombie lorsqu'il meurt
- Processus parallèle
- Dans le contenu faite :
1
2
3
4
5
6
|
<>Exécuter une animation : Cet événement
: : AnimationX #l'animation choisit à la mort de l'ennemi
<>Jouer un effet sonore X #le son émit lorsque l'ennemi meurt (un râle pour un zombie)
<>Variable[VieEnnemi1]==-1
|
Dans la troisième page :
- Cochez "si une variable est supérieur à", choisissez la variable "VieEnnemi1" et la valeur 1
- Cochez "suit le héros" et définissez les autres paramètres en fonction de la difficulté voulue
- Choisissez l'apparence que vous voulez donner au zombie vivant
- au contact avec le l'événement
- Dans le contenu faite :
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
|
<>Exécuter une animation : Cet événement
: : AnimationX #l'animation de l'ennemi lorsqu'il touche le héros
<>Exécuter une animation : Le héros
: : AnimationX #l'animation du héros lorsque l'ennemi le touche
<>Jouer un effet sonore X #le son émit lorsque l'ennemi touche (une morsure pour un zombie)
<>Variable[Dégats]==X #le nombre de dégâts qu'inflige l'ennemi
<>Variable[Dégats]=-[Defhaut] #on soustrait le bonus de defense de l'équipement haut
<>Variable[Dégats]=-[Defbas] #on soustrait le bonus de defense de l'équipement bas
<>Variable[Dégats]=-[Deftete] #on soustrait le bonus de defense de l'équipement tete
<>Variable[Dégats]=-[Defarmure] #on soustrait le bonus de defense de l'équipement armure
<>Variable[Dégats]=-[Defchaussure] #on soustrait le bonus de defense des chaussures
<>Variable[Dégats]=-[Defgants] #on soustrait le bonus de defense de l'équipement gants
<>Variable[Viehéros]=-[Dégats] #on soustrait les dégâts aux PV du héros
<>Déplacer : cet événement
: : direction fixe on
: : fuit le héros de 1 pas
: : direction fixe off
|
Nous allons ensuite créer un événement qui reprend la position de l'ennemi
- Processus parallèle
- "Si l'interrupteur est activé", choisissez "tir-coup"
1
2
3
4
|
<>Variable[Ennemi1X]==[Ennemi-1] - Coordonée X
<>Variable[Ennemi1Y]==[Ennemi-1] - Coordonée Y
|
Plus tard, pour créer d'autres ennemis, inutile d'utiliser un événement différent. Mettez juste à la suite.
Nous allons maintenant créer l'événement de la balle (que nous appellerons Balle).
Nous allons ici utiliser les variables "BalleX" et "BalleY" mais aussi "Arme" que nous utilisons déjà pour personnaliser le charset avec l'arme qu'il tient et les variables de position du héros : "hérosX" et "hérosY".
Dans la première page :
-"Si l'interrupteur est activé", choisissez "tir-coup"
- "Si la variable est supérieur ou égale", "Arme" et la valeur 0 //pas d'arme=mains nues
- cochez "traverse tout
-cochez vitesse très rapide et fréquence la plus haute
- vous pouvez lui donner l'apparence du projectile si vous souhaitez qu'il soit visible.
- processus parallèle
Dans le contenu :
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
|
<>Jouer un SE : X #le son de l'arme
<>Téléporté : cet événement, Variable X [hérosX], Variable Y [hérosY]
<>Condition : Le héros tourné vers le haut
<>Déplacer : cet événement
: : Un pas vers le haut
<>Attendre la fin des déplacement
<>Attendre X frames #le temps de rechargement
<>Désactivé [tir-coup]
: Sinon
<>Condition : Le héros tourné vers le bas
<>Déplacer : cet événement
: : Un pas vers le bas
<>Attendre la fin des déplacement
<>Attendre X frames #le temps de rechargement
<>Désactivé [tir-coup]
: Sinon
<>Condition : Le héros tourné vers la gauche
<>Déplacer : cet événement
: : Un pas vers la gauche
<>Attendre la fin des déplacement
<>Attendre X frames #le temps de rechargement
<>Désactivé [tir-coup]
: Sinon
<>Condition : Le héros tourné vers la droite
<>Déplacer : cet événement
: : Un pas vers la droite
<>Attendre la fin des déplacement
<>Attendre X frames #le temps de rechargement
<>Désactivé [tir-coup]
: Fin condition
: Fin condition
: Fin condition
: Fin condition
|
Sur les pages suivantes il faut juste modifier le nombre de pas (portée de l'arme) et le temps de rechargement en fonction de l'arme.
Après il faut créer un événement pour stocker la position de la balle appelez le "position-balle"
-processus parallèle
dedans :
1
2
3
4
5
6
7
8
9
|
<>Condition : [tir-coup] est activé
<> [BalleX]==[Balle] coordonée X
<> [BalleY]==[Balle] coordonée Y
: Sinon
<> [BalleX]==X
<> [BalleY]==X #0 et 0 font l'affaire si la première 1ère case de la map est inaccessible
span style="color:#7cc4f5;"> : Fin condition
|
Nous allons créer ensuite l'événement à l'impact entre la balle et l'ennemi que nous appellerons impact-ennemi1.
-condition : "si l'interrupteur [tir-coup] est activé"
-processus parallèle
dedans :
1
2
3
4
5
6
7
8
9
10
11
|
<>Condition : La variable[vieEnnemi1] > 0
<>Condition : La variable [BalleX]==La variable [EnnemiX]
<>Condition : La variable [BalleY]==La variable [EnnemiY]
<>Jouer SE #bruit à l'impact (râle pour un zombie)
<>Jouer une animation : [ennemi-1] <>Déplacer : [ennemi-1]
: : direction fixe on
: : fuit le héros de un pas # ou plus
: : direction fixe off
<>La variable [VieEnnemi1] =-[PuissanceArme]
|
Les paramètres sont en place il ne reste plus que les événements qui permettrons d'analyser les actions du joueur sur le clavier et de mesurer la puissance de l'arme et la défense propre à chaque équipement.
Je continu plus tard...
|
Projet en cours: INRAL / En pause :NEOTORI /// Pause : L'ANKH DE KINBRA /// Pause : GRASS SHOPPER /// GALERIE |
Posté dans Forum - Grass shopper nouvelle démo 1.1 avec installeur |
esziaprez game -
posté le 09/10/2013 à 11:45:58. (441 messages postés) |
| Citation: tu as donc 3 projet sous le bras ? sa fait beaucoup dis moi |
J'ai de sérieux problèmes de concentration et des ambitions qui dépassent systématiquement mes possibilités réelles.
En vrai j'ai 6 projets et je passe de l'un à l'autre parce que je sature très vite.
L'Ankh de Kinbra est en phase de remaniement complet et je le reprends sur un jeu vierge depuis le début. Sachant que le programme est super balèze, c'est un travail de titan et vraiment chiant (copier coller modifier tester valider recommencer). C'est un boulot de formalité répétitives qui me prend la tête. Du coup au bout d'un moment j'en ai marre...
Alors je passe sur Neotori, qui finalement ne sera pas un TBS enfin je mettrai le topic concerné à jour... Celui là je me concentre sur l'aspect graphique je veut qu'il soit beau, très beau.
Enfin il y a grass shopper qui était déjà bien avancé. Pour celui là il fallait que je corrige les bugs surtout.
Il y a un projet ou je mélange les nouveaux gameplay que je crée pour le fun. Ainsi il y a le gun fight de Grass shopper, la gestion santé de l'Ankh et la possibilité de personnalisation du héros avec l'équipement. Il s'agit plus d'un moteur que je peut utiliser pour n'importe quel futur projet en activant ou non les options du gameplay.
Citation: Pourquoi le nom grass shopper ? sa me fait penser au club de foot de Grasshoper Zurich en suisse |
Moi ça me fait penser à un célèbre coffee-shop d'Amsterdam... lol ou j'ai passé pas mal de moment marrant. Le principe du jeu étant vraiment tourné vers le traffic de drogue...
|
Projet en cours: INRAL / En pause :NEOTORI /// Pause : L'ANKH DE KINBRA /// Pause : GRASS SHOPPER /// GALERIE |
Posté dans Forum - [RMXP] Un gros tuto en construction |
esziaprez game -
posté le 09/10/2013 à 01:51:00. (441 messages postés) |
| PREAMBULE : A quoi va servir ce système ?
Ce tutoriel représente une partie du système de gunfight amélioréqui sera divisé en plusieurs tutos différents.
Avant de commencer, je vais vous décrire ce à quoi on doit arriver avec ce système complet. Ce système est assez complexe, alors, si vous préférez, vous pouvez toujours télécharger la démo. Jetez malgré tout un coup d’œil à l'explication pour comprendre le fonctionnement.
Ce tuto a été fait pour RMXP, mais il peut être adapté aux autres versions sans trop de mal.
Le gunfight system au complet :
Spoiler (cliquez pour afficher)
CONCERNANT LE SYSTEM
HEROS CUSTOMISABLE
Le héros dispose de 40 points de vie
Le héros peut utiliser 4 armes (interchangeable en pressant les touche pages-haut ou page-bas), ou même plus :
- un pistolet
- un fusil à pompe
- un uzi
- à mains nues
Chaque arme a :
- une portée (à combien de case de distance elle peut toucher)
- une puissance (un nombre de dégats qu'elle inflige)
- un type et un nombre de munitions limité
- un temps de rechargement
Le héros peut avoir un nombre illimité d'équipements. Enfin je suis allé jusqu'à une vingtaine par zone et pas de lags constaté, mais j'ai un PC plutôt puissant.
Les dits équipements peuvent être portés à différentes zones du corps et même superposés pour certains :
- tête
- haut
- bas
- chaussures au dessus du bas
- armure au dessus du haut
- gants au dessus du haut
Chaque équipement permet (ou non) d'avoir un bonus de protection.
ENNEMIS
Les ennemis disposent de points de vie différents.
Les ennemis disposent de puissances différentes.
Certains ennemis peuvent répliquer en tirant.
BONUS
Les zombies ont la capacité de contaminer le héros en le mordant. Celui-ci peut stopper l'infection en s'auto-injectant un antivirus (ou autre chose il s'agit d'un interrupteur).
CONCERNANT LE VISUEL SUR LA MAP
HEROS CUSTOMISABLE
Chaque équipement et chaque arme est visible sur le charset du héros, ce qui le rend hyper customisable.
Le héros s'anime lorsqu'il tire (les équipements aussi donc).
ENNEMIS
Plein de possibilités d'animations mais nous allons passé sur la question (nous verrons ça peut-être dans un prochain tuto).
CONCERNANT L'INTERFACE DU GAMEPLAY
LES ARMES
L'arme utilisée s'affiche sur le coin haut-gauche de l'écran ainsi que les munitions juste en dessous.
Le munitions s'affichent en deux parties :
- pour le pistolet : chargeur et munitions supplémentaires
- pour le fusil : boite de cartouches et cartouches supplémentaires.
- pour le uzi : chargeur et munitions supplémentaires
LA VIE
Une jolie jauge de vie s'affiche sur le coin haut-droit
BONUS
Lorsque le héros est contaminé par un zombie un symbole s'affiche au centre de l'écran et prends de plus en plus de place jusqu'à ce que le héros se transforme et... après gameover ou ce qu'on veut.
CONCERNANT L'ASPECT SONORE
Chaque arme émet un son différent au tir et au rechargement.
Les ennemis poussent différents cris à différents moments
Ce premier tutoriel va permettre au joueur de personnaliser l'apparence de son héros avec différents équipements.
Réalisation des ressources de personnalisation.
Avant de passer au chapitre suivant je vais vous expliquer comment créer vos propres ressources pour ce tutoriel.
Nous allons créer des ressources un peu à la manière de celle de Charamaker (que je vous invite à tester).
Pour commencer il faut avoir (ou le créer vous même) un template du personnage de base. Comme celui-ci :
Sur ce template à vous de dessiner divers équipements.
Lorsqu'un équipement est créé, il suffit d'effacer le reste du template.
ATTENTION : Pour ce tuto vous devez bien séparer les parties haut et bas parce que c'est plus joli pour les ombres. Les partie tête,armure, gants et chaussures viendront se greffer au-dessus.
CHAPITRE 2 : Un perso entièrement customisable
Je n'entrerai pas dans le détail de la manière de changer d'équipements. Sachez juste que pour changer un équipement , il faut changer la valeur d'une variable.
Vous pouvez par exemple mettre un appel d'événement commun dans un objet de l'inventaire ou un événement commun en processus parallèle avec : "si armure X équipées variable armure==X..."ainsi de suite.
Cependant, cette deuxième option limite le nombre de zones du corps et est, de toute façon, à prohiber si vous voulez réaliser le Gunfight system dans son ensemble.
Enfin vous comprendrez mieux un peu plus tard...
1/ Les ressources
Inutile de vous dire que pour réaliser cette partie du tuto, vous allez devoir avoir une quantité de ressources incroyable. Ne vous inquiétez pas pour cela, j'ai plusieurs solutions à vous proposer.
La première, et celle qui me plait le plus, est d'utiliser les ressources de la démo téléchargeable en fin de tuto. Si l'envie vous vient de customiser certaines ressources, merci de m'envoyer vos créations que je pourrais ajouter à la démo.
La seconde prend un peu plus de temps mais est à considérer. Allez sur charas project et adaptez les ressources pour RMXP (ou pour la version de RM que vous utiliserez).
La troisième c'est d'utiliser les ressources d'un logiciel de customisation de charset du genre de charamaker que vous pouvez télécharger sur ce site ou bien même celui de VX Ace.
La quatrième, et dernière, c'est de les créer vous même comme expliqué au chapitre 1.
2/ Les variables
Nous avons donc dit qu'il y avait différentes zones du corps : tête, haut, bas, chaussures, armure, gants.
Pour chacune, nous allons créer une variable dont la valeur définira l'équipement porté.
Il y aura aussi l'arme qui sera visible et nécessitera donc aussi une variable.
J'ai de mon coté ajouté l'option du teint de peau qui fera donc l'objet d'une autre variable.
Ensuite, pour chaque zone du corps, il faudra ajouter les variables X et Y
Nous allons ensuite créer deux variable pour définir la position du héros en fonction des coordonnées X et Y par rapport à la map.
Nous nous retrouvons donc avec 26 variables :
- teint
- teintX
- teintY
- haut
- hautX
- hautY
- bas
- basX
- basY
- tête
- têteX
- têteY
- armure
- armureX
- armureY
- gants
- gantsX
- gantsY
- chaussures
- chaussuresX
- chaussuresY
- arme
- armeX
- armeY
- HérosX
- HérosY
3/ Programmation
Créez une Map avec un décors que vous appellerez "jeu".
Créez une nouvelle Map vide que vous appellerez "départ".
C'est sur cette Map que nous allons initialiser les variables de départ et lancer le jeu.
Ensuite créez un interrupteur que vous appellerez "habillé"
SUR LA MAP "départ"
Dans cette map, placez la position de départ de l'équipe et mettez un événement en processus parallèle que vous nommerez comme bon vous semble.
Dans cet événement :
1
2
3
4
5
6
7
8
9
10
11
12
|
<>Opacité du héros==transparent
<>teint== #le héros aura le teint correspondant à la valeur
<>haut==#entrez ici la valeur attribuée l'équipement choisi
<>bas==#entrez ici la valeur attribuée l'équipement choisi
<>tête==#entrez ici la valeur attribuée l'équipement choisi
<>armure==#entrez ici la valeur attribuée l'équipement choisi
<>gants==#entrez ici la valeur attribuée l'équipement choisi
<>chaussures==#entrez ici la valeur attribuée l'équipement choisi
<>arme==#entrez ici la valeur attribuée l'équipement choisi
<>Téléporter le héros #sur la Map1 à la position choisit
|
[spoiler="image"]¦/spoiler]
Si un équipement n'est pas équipé (exemple le héros démarre le jeu sans armure ou sans pantalon), il suffit de donner la valeur 0 à la variable concernée.
SUR LA MAP "jeu"
Créez un evenement que vous nommerez "event-teint"
Dans la première page
cochez les conditions :
- "Si l'interrupteur est activé" et choisissez l'interrupteur "habillé".
- "Si la variable est supérieur à", choisissez la variable teint et donnez la valeur 1
- Traverse tout
- vitesse normal
- Processus parrallèle
Donnez l'apparence du template avec le teint que vous avez attribué à la valeur 1
Pareil pour la valeur 2 sur la deuxième page, la valeur 3 sur la troisième page...ainsi de suite
Dans le contenu de chaque page faites ceci :
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
|
<>Variable[Herosy] = Le héros - Coordonnée Y
<>Variable[Herosx] = Le héros - Coordonnée X
<>Variable[Teinty] = [Teint] - Coordonnée Y
<>Variable[Teintx] = [Teint] - Coordonnée X
<>Condition : [teintX]==[hérosX]
<>Condition : [teintY]==[hérosY]
<>
: Sinon
<> Déplacer : cette événement
: :>Un pas vers le héros
<>
: Fin condition
<>
: Sinon
<> Déplacer : cette événement
: :>Un pas vers le héros
<>
: Fin condition
<> Condition Le héros - Direction haut
<> Déplacer : [teint]
: :> Regarde vers le haut
: Sinon
<> Condition Le héros - Direction bas
<> Déplacer : [teint]
: :> Regarde vers le bas
: Sinon
<> Condition Le héros - Direction gauche
<> Déplacer : [teint]
: :> Regarde vers la gauche
: Sinon
<> Condition Le héros - Direction droite
<> Déplacer : [teint]
: :> Regarde vers la droite
<>
:Fin condition
<>
: Fin condition
<>
: Fin condition
<>
: Fin condition
|
Créez un événement pour chaque zone du corps de la même façon ainsi que pour l'arme.
ATTENTION !!! L'événement teint (qui represente le template de base sur lequel viendront se graffer les équipements) doit être créé et placé en tout premier sur la map. Les événements du haut et du bas doivent être créés juste après et placé en second sur la map pour apparaître en-dessous des autres et juste au dessus du template. Ensuite, celui de l'arme en dernier pour apparaître au-dessus du reste.
Créez un événement que vous appellerez "Start" ou Initialisation.
Dans la première page, en processus parallèle :
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
|
<>Variable[Herosy] = Le héros - Coordonnée Y
<>Variable[Herosx] = Le héros - Coordonnée X
<>Téléporter : [teint], Variables X[HerosX], Variables Y[HerosY]
<>Téléporter : [bas], Variables X[HerosX], Variables Y[HerosY]
<>Téléporter : [haut], Variables X[HerosX], Variables Y[HerosY]
<>Téléporter : [tete], Variables X[HerosX], Variables Y[HerosY]
<>Téléporter : [armure], Variables X[HerosX], Variables Y[HerosY]
<>Téléporter : [chaussure], Variables X[HerosX], Variables Y[HerosY]
<>Téléporter : [gants], Variables X[HerosX], Variables Y[HerosY]
<>Téléporter : [arme], Variables X[HerosX], Variables Y[HerosY]
<> Condition Le héros - Direction haut
: <> Déplacer : [event-teint]
: :> Regarde vers le haut
: <> Déplacer : [event-bas]
: :> Regarde vers le haut
: <> Déplacer : [event-haut]
: :> Regarde vers le haut
: <> Déplacer : [event-tete]
: :> Regarde vers le haut
: <> Déplacer : [event-armure]
: :> Regarde vers le haut
: <> Déplacer : [event-chaussures]
: :> Regarde vers le haut
: <> Déplacer : [event-gants]
: :> Regarde vers le haut
: <> Déplacer : [event-arme]
: :> Regarde vers le haut
: Sinon
<> Condition Le héros - Direction bas
: <> Déplacer : [event-teint]
: :> Regarde vers le bas
: <> Déplacer : [event-bas]
: :> Regarde vers le bas
: <> Déplacer : [event-haut]
: :> Regarde vers le bas
: <> Déplacer : [event-tete]
: :> Regarde vers le bas
: <> Déplacer : [event-armure]
: :> Regarde vers le bas
: <> Déplacer : [event-chaussures]
: :> Regarde vers le bas
: <> Déplacer : [event-gants]
: :> Regarde vers le bas
: <> Déplacer : [event-arme]
: :> Regarde vers le bas
: Sinon
<> Condition Le héros - Direction gauche
: <> Déplacer : [event-teint]
: :> Regarde vers la gauche
: <> Déplacer : [event-bas]
: :> Regarde vers la gauche
: <> Déplacer : [event-haut]
: :> Regarde vers la gauche
: <> Déplacer : [event-tete]
: :> Regarde vers la gauche
: <> Déplacer : [event-armure]
: :> Regarde vers la gauche
: <> Déplacer : [event-chaussures]
: :> Regarde vers la gauche
: <> Déplacer : [event-gants]
: :> Regarde vers la gauche
: <> Déplacer : [event-arme]
: :> Regarde vers la gauche
: Sinon
<> Condition Le héros - Direction droite
: <> Déplacer : [event-teint]
: :> Regarde vers la droite
: <> Déplacer : [event-bas]
: :> Regarde vers la droite
: <> Déplacer : [haut]
: :> Regarde vers la droite
: <> Déplacer : [event-tete]
: :> Regarde vers la droite
: <> Déplacer : [event-armure]
: :> Regarde vers la droite
: <> Déplacer : [event-chaussures]
: :> Regarde vers la droite
: <> Déplacer : [event-gants]
: :> Regarde vers la droite
: <> Déplacer : [event-arme]
: :> Regarde vers la droite
<>
: Fin condition
<>
: Fin condition
<>
: Fin condition
<>
: Fin condition
<> Attendre la fin des déplacements
<> Interrupteur [habillé] = Activé
|
Dans la deuxième page :
Cochez "si l'interrupteur est activé", choisissez l'interrupteur "habillé" et ne mettez rien.
Ensuite il vous suffira de mettre les même événements precedement citer sur toutes les Maps.
Attention lorsque vous changer de map ou d'équipement pensez à désactiver l'interrupteur "habillé" pour que le jeu réinitialise la position et l'apparence des équipements.
Démo avec le Gunfight complet : CLIQUEZ ICI
|
Projet en cours: INRAL / En pause :NEOTORI /// Pause : L'ANKH DE KINBRA /// Pause : GRASS SHOPPER /// GALERIE |
Posté dans Forum - [RMXP] Superposition characters et isometrie |
esziaprez game -
posté le 03/07/2013 à 17:27:58. (441 messages postés) |
| Ca ne fonctionne pas
Il y a peut etre un probleme dans ce script aussi je suppose ?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
| #==============================================================================
# o Sprite_Character add-on : Fix Pic
#------------------------------------------------------------------------------
# Script curtisy of Siegfried use base from MGCaladtogel's iso script
#------------------------------------------------------------------------------
# Updates passability to check height changes
#------------------------------------------------------------------------------
# Rules for the map passabilities :
# -Apply the numbered tileset
# -Each number is equivalent to a height (tileset infinite, infinite height)
# -For the nonpassable tiles, put an inaccessible height.
#==============================================================================
# o ISO_LVL2_Config
#==============================================================================
module ISO_LVL2_Config
# Passable height from one tile to another
DIFF_N = 2
# Passable height from one tile to another: stairs, height change
DIFF_L = 2
# Falling speed
FALLING_SPEED = 0.5
end
#==============================================================================
# o Game_Map
#==============================================================================
class Game_Map
#--------------------------------------------------------------------------
# o Attributes
#--------------------------------------------------------------------------
attr_accessor :map
#is iso map?
def iso?
return false if !GTBS::ISO_MAPS
if $data_map_infos[@map_id].name.include?("ISO")
return true
else
return false
end
end
end
#==============================================================================
# o Game_Character
#==============================================================================
class Game_Character
#--------------------------------------------------------------------------
# o Attributes
#--------------------------------------------------------------------------
attr_accessor :x
attr_accessor :y
attr_accessor :h
attr_accessor :th
#--------------------------------------------------------------------------
# o Initialize
#--------------------------------------------------------------------------
alias sieg_iso_initialize initialize
def initialize
@h = 0
@th = 0
sieg_iso_initialize
end
#--------------------------------------------------------------------------
# o Screen_th : height of the ground
#--------------------------------------------------------------------------
def screen_th
tile_id = $game_map.map.data[self.x,self.y,0]
t_x = (tile_id - 384) % 8
t_y = (tile_id - 384) / 8
th = t_x + t_y * 8
return th
end
#--------------------------------------------------------------------------
# o Screen_h : height of the character
#--------------------------------------------------------------------------
def screen_h
return @h
end
#--------------------------------------------------------------------------
# Update character/event rise/fall according to position on map.
#--------------------------------------------------------------------------
alias iso_gm_update update
def update
if $game_map.iso?
if screen_h < screen_th
@h = screen_th
elsif screen_h > screen_th
if (screen_h - screen_th) > 1.5
@h -= [ISO_LVL2_Config::FALLING_SPEED * 3, 1].min
else
@h -= ISO_LVL2_Config::FALLING_SPEED
end
end
end
iso_gm_update
end
#--------------------------------------------------------------------------
# o Screen_x
#--------------------------------------------------------------------------
alias iso_screen_x screen_x
def screen_x
return iso_screen_x if !$game_map.iso?
return (@real_x - @real_y)/4 + 32 * $game_map.height - 0 - $game_map.display_x / 4
end
#--------------------------------------------------------------------------
# o Screen_y
#--------------------------------------------------------------------------
alias iso_screen_y screen_y
def screen_y
return iso_screen_y if !$game_map.iso?
y = (@real_y + @real_x) / 8 + 24 - $game_map.display_y / 4 - (self.screen_h) * 8
if @jump_count >= @jump_peak
n = @jump_count - @jump_peak
else
n = @jump_peak - @jump_count
end
return y - (@jump_peak * @jump_peak - n * n) / 2
end
#--------------------------------------------------------------------------
# o Screen_z
#--------------------------------------------------------------------------
alias iso_screen_z screen_z
def screen_z(height = 0)
return iso_screen_z if !$game_map.iso?
if @always_on_top
return 999
end
z = screen_y
if @tile_id > 0
return z + $game_map_iso.priorities[@tile_id] * 32
else
return z + ((height > 32) ? 31 : 0)
end
end
end
#==============================================================================
# o Passabilities and interactions with events
#==============================================================================
#==============================================================================
# o Game_Character
#==============================================================================
class Game_Character
#--------------------------------------------------------------------------
# o Passable?
#--------------------------------------------------------------------------
alias sieg_gc_passable? passable?
def passable?(x, y, d)
if !$game_map.iso?
return sieg_gc_passable?(x, y, d)
end
@diff_n = ISO_LVL2_Config::DIFF_N
@diff_l = ISO_LVL2_Config::DIFF_L
new_x = x + (d == 6 ? 1 : d == 4 ? -1 : d == 1 ? -1 : d == 3 ? 1 : d == 7 ? -1 : d == 9 ? 1 : 0)
new_y = y + (d == 2 ? 1 : d == 8 ? -1 : d == 1 ? 1 : d == 3 ? 1 : d == 7 ? -1 : d == 9 ? -1 : 0)
tile_id = $game_map.map.data[x, y, 0]
t_x= (tile_id - 384)%8
t_y= (tile_id - 384)/8
h = t_x + t_y * 8
new_tile_id = $game_map.map.data[new_x, new_y,0]
new_t_x= (new_tile_id - 384)%8
new_t_y= (new_tile_id - 384)/8
new_h = new_t_x + new_t_y * 8
tile_tag = $game_map.terrain_tag(x, y)
tile_tag_new = $game_map.terrain_tag(new_x, new_y)
if tile_tag == 1
@diff = @diff_l
else
@diff = @diff_n
end
unless $game_map.valid?(new_x, new_y) and (new_h - h) <= @diff and (new_h - h) >= -@diff
return false
end
if @through
return true
end
unless $game_map.passable?(x, y, d, self) and (new_h - h) <= @diff and (new_h - h) >= -@diff
return false
end
unless $game_map.passable?(new_x, new_y, 10 - d) and (new_h - h) <= @diff and (new_h - h) >= -@diff
return false
end
for event in $game_map.events.values
if event.x == new_x and event.y == new_y and (new_h - h) <= @diff and (new_h - h) >= -@diff
unless event.through and (new_h - h) <= @diff_n
if self != $game_player
return false
end
if event.character_name != ""
return false
end
end
end
end
if $game_player.x == new_x and $game_player.y == new_y and (new_h - h) <= @diff and (new_h - h) >= -@diff
unless $game_player.through
if @character_name != ""
return false
end
end
end
return true
end
end
#==============================================================================
# o Game_Event
#==============================================================================
class Game_Event < Game_Character
#--------------------------------------------------------------------------
# o Start
#--------------------------------------------------------------------------
alias iso_evnt_start start
def start
if !$game_map.iso?
iso_evnt_start
return
end
@diff_n = 1
# Dialogue
tile_id = $game_map.map.data[$game_player.x,$game_player.y,0]
t_x = (tile_id - 384) % 8
t_y = (tile_id - 384) / 8
h = t_x + t_y * 8
ev_tile_id = $game_map.map.data[self.x,self.y,0]
ev_t_x = (ev_tile_id - 384) % 8
ev_t_y = (ev_tile_id - 384) / 8
ev_h = ev_t_x + ev_t_y * 8
if @list.size > 1 and (ev_h - h).abs <= @diff_n
@starting = true
end
end
end |
Merci de votre aide en tout cas je suis pas vraiment un as en script.
|
Projet en cours: INRAL / En pause :NEOTORI /// Pause : L'ANKH DE KINBRA /// Pause : GRASS SHOPPER /// GALERIE |
Posté dans Forum - [RMXP] Superposition characters et isometrie |
esziaprez game -
posté le 03/07/2013 à 15:58:42. (441 messages postés) |
| OUh il est archi long parce qu'il est compris dans le GTBS !
après je crois que c'est cette partie qui est concernée.
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
| #-------------------------------------------------------------------------------
# ● Script 2D_ISO, created by MGCaladtogel tranlated by GubiD
#-------------------------------------------------------------------------------
#==============================================================================
# New Variables:
# $game_map indicates the map of data (where you will place events)
# $game_map_iso indicates the map into 2d-isometric view, although containing no events.
#==============================================================================
#==============================================================================
# ■ Game_Map
#==============================================================================
class Game_Map
#--------------------------------------------------------------------------
# ● The scrolling must be carried out according to dimensions of chart
# into isometric
#--------------------------------------------------------------------------
def scroll_down(distance)
if $game_map.iso?
if $game_map_iso == nil
map_infos = $data_map_infos[$game_map.map_id]
$game_map_iso = Game_Map.new #creates new iso map
$game_map_iso.setup(map_infos.parent_id) #draws map
end
corr = (($game_map.height + $game_map.width)%2 == 0 ? 0 : 4*16)
@display_y = [@display_y + distance, 128*$game_map_iso.height - 4*480 - corr].min
else
@display_y = [@display_y + distance, (self.height - 15) * 128].min
end
end
#--------------------------------------------------------------------------
def scroll_right(distance)
if $game_map.iso?
if $game_map_iso == nil
map_infos = $data_map_infos[$game_map.map_id]
$game_map_iso = Game_Map.new #creates new iso map
$game_map_iso.setup(map_infos.parent_id) #draws map
end
@display_x = [@display_x + distance, 128*$game_map_iso.width - 4 * 640].min
else
@display_x = [@display_x + distance, (self.width - 20) * 128].min
end
end
end
#==============================================================================
# ■ Game_Character
#==============================================================================
class Game_Character
#--------------------------------------------------------------------------
# ● Update the position of the characters to the screen according to x,y in isometric
#--------------------------------------------------------------------------
def screen_x
if $game_map.iso?
return (@real_x - @real_y)/4 + 32*$game_map.height - 0 - $game_map.display_x/4
else
return (@real_x - $game_map.display_x + 3) / 4 + 16
end
end
#--------------------------------------------------------------------------
def screen_y
if $game_map.iso?
y = (@real_y + @real_x) / 8 + 24 - $game_map.display_y/4
if @jump_count >= @jump_peak
n = @jump_count - @jump_peak
else
n = @jump_peak - @jump_count
end
return y - (@jump_peak * @jump_peak - n * n) / 2
else
y = (@real_y - $game_map.display_y + 3) / 4 + 32
# Make y-coordinate smaller via jump count
if @jump_count >= @jump_peak
n = @jump_count - @jump_peak
else
n = @jump_peak - @jump_count
end
return y - (@jump_peak * @jump_peak - n * n) / 2
end
end
#--------------------------------------------------------------------------
def screen_z(height = 0)
if $game_map.iso?
if @always_on_top
return 999
end
z = screen_y
if @tile_id > 0
return z + $game_map_iso.priorities[@tile_id] * 32
else
return z + ((height > 32) ? 31 : 0)
end
else
if @always_on_top
# 999, unconditional
return 999
end
# Get screen coordinates from real coordinates and map display position
z = (@real_y - $game_map.display_y + 3) / 4 + 32
# If tile
if @tile_id > 0
# Add tile priority * 32
return z + $game_map.priorities[@tile_id] * 32
# If character
else
# If height exceeds 32, then add 31
return z + ((height > 32) ? 31 : 0)
end
end
end
end
#==============================================================================
# ■ Game_Player
#==============================================================================
class Game_Player < Game_Character
#--------------------------------------------------------------------------
# ● Sets up use for directions using 1,3,7,9 coordinated to up/down/left/right
# so that the scrolling occurs cleaner.
#--------------------------------------------------------------------------
alias gmpl_iso_update update
def update
if $game_map.iso?
last_moving = moving?
unless moving? or $game_system.map_interpreter.running? or
@move_route_forcing or $game_temp.message_window_showing
case Input.dir8
when 1..2
move_down
when 3
move_right
when 4
move_left
when 7
move_left
when 6
move_right
when 8..9
move_up
end
end
last_real_x = @real_x
last_real_y = @real_y
super
disp_y = screen_y + $game_map.display_y/4
disp_x = screen_x + $game_map.display_x/4
if CENTER_Y - (4*disp_y - $game_map.display_y) < 0
$game_map.scroll_down(4*disp_y - $game_map.display_y - CENTER_Y)
end
if CENTER_X - (4*disp_x - $game_map.display_x) > 0
$game_map.scroll_left(CENTER_X - (4*disp_x - $game_map.display_x))
end
if CENTER_X - (4*disp_x - $game_map.display_x) < 0
$game_map.scroll_right(4*disp_x - $game_map.display_x - CENTER_X)
end
if CENTER_Y - (4*disp_y - $game_map.display_y) > 0
$game_map.scroll_up(CENTER_Y - (4*disp_y - $game_map.display_y))
end
unless moving?
if last_moving
result = check_event_trigger_here([1,2])
if result == false
unless $DEBUG and Input.press?(Input::CTRL)
if @encounter_count > 0
@encounter_count -= 1
end
end
end
end
if Input.trigger?(Input::C)
check_event_trigger_here([0])
check_event_trigger_there([0,1,2])
end
end
else
gmpl_iso_update
end
end
alias gmpl_iso_center center
def center(x,y)
if $game_map.iso?
disp_y = screen_y + $game_map.display_y/4
disp_x = screen_x + $game_map.display_x/4
if CENTER_Y - (4*disp_y - $game_map.display_y) < 0
$game_map.scroll_down(4*disp_y - $game_map.display_y - CENTER_Y)
end
if CENTER_X - (4*disp_x - $game_map.display_x) > 0
$game_map.scroll_left(CENTER_X - (4*disp_x - $game_map.display_x))
end
if CENTER_X - (4*disp_x - $game_map.display_x) < 0
$game_map.scroll_right(4*disp_x - $game_map.display_x - CENTER_X)
end
if CENTER_Y - (4*disp_y - $game_map.display_y) > 0
$game_map.scroll_up(CENTER_Y - (4*disp_y - $game_map.display_y))
end
else
gmpl_iso_center(x,y)
end
end
end
#==============================================================================
# ■ Scene_Title
#==============================================================================
class Scene_Title
alias main_orig main
#--------------------------------------------------------------------------
# ● Loads MapInfos so that Iso map id's can be loaded according to the current map.
#--------------------------------------------------------------------------
def main
$data_map_infos = load_data("Data/MapInfos.rxdata")
main_orig
end
end
#==============================================================================
# ■ Spriteset_Map
#==============================================================================
class Spriteset_Map
#--------------------------------------------------------------------------
# ● Generates the map, then lays the iso view map (parent map) over it, but uses
# $game_map for data
#--------------------------------------------------------------------------
def initialize
@viewport1 = Viewport.new(0, 0, 640, 480)
@viewport2 = Viewport.new(0, 0, 640, 480)
@viewport3 = Viewport.new(0, 0, 640, 480)
@viewport2.z = 200
@viewport3.z = 5000
@tilemap = Tilemap.new(@viewport1) #creates standard 2d map
if $game_map.iso?
map_infos = $data_map_infos[$game_map.map_id]
$game_map_iso = Game_Map.new #creates new iso map
$game_map_iso.setup(map_infos.parent_id) #draws map
@tilemap.tileset = RPG::Cache.tileset($game_map_iso.tileset_name) #sets correct tileset
for i in 0..6 #draws autotiles
autotile_name = $game_map.autotile_names[i]
@tilemap.autotiles[i] = RPG::Cache.autotile(autotile_name)
end
@tilemap.map_data = $game_map_iso.data #reads terrain tags and else
@tilemap.priorities = $game_map_iso.priorities #sets iso map priorities
else
@tilemap.tileset = RPG::Cache.tileset($game_map.tileset_name)
for i in 0..6
autotile_name = $game_map.autotile_names[i]
@tilemap.autotiles[i] = RPG::Cache.autotile(autotile_name)
end
@tilemap.map_data = $game_map.data
@tilemap.priorities = $game_map.priorities
end
@panorama = Plane.new(@viewport1) #create pan plane
@panorama.z = -1000
@fog = Plane.new(@viewport1) #creates fog plane
@fog.z = 3000
@character_sprites = []#initializes character update thread
for i in $game_map.events.keys.sort #add events to map from $game_map, NOT ISO
sprite = Sprite_Character.new(@viewport1, $game_map.events[i])
@character_sprites.push(sprite)
end
@character_sprites.push(Sprite_Character.new(@viewport1, $game_player)) #add player to map
@weather = RPG::Weather.new(@viewport1) #draw weather
@picture_sprites = []
for i in 1..50 #draw setup pictures
@picture_sprites.push(Sprite_Picture.new(@viewport2,
$game_screen.pictures[i]))
end
@timer_sprite = Sprite_Timer.new #start timer
$game_player.center($game_player.x, $game_player.y)
update
end
#--------------------------------------------------------------------------
# ● Caution: Updated the panorama to draw in the same fashion and update according to
# iso view settings
# Get the original displacement settings and expand them:
# @panorama.ox = $game_map.display_x / 4
# @panorama.oy = $game_map.display_y / 4
# to :
# @panorama.ox = $game_map.display_y / 8
# @panorama.oy = $game_map.display_y / 8
#--------------------------------------------------------------------------
alias upd_iso_map update
def update(map_id = $game_map.map_id)
#if pan settings changed.. update pan info
if $game_map.iso?
if @panorama_name != $game_map_iso.panorama_name or
@panorama_hue != $game_map_iso.panorama_hue
@panorama_name = $game_map_iso.panorama_name
@panorama_hue = $game_map_iso.panorama_hue
if @panorama.bitmap != nil
@panorama.bitmap.dispose
@panorama.bitmap = nil
end
if @panorama_name != ""
@panorama.bitmap = RPG::Cache.panorama(@panorama_name, @panorama_hue)
end
Graphics.frame_reset #reset frame count to 0
end
#if fog settings changed.. update fog info
if @fog_name != $game_map_iso.fog_name or @fog_hue != $game_map_iso.fog_hue
@fog_name = $game_map_iso.fog_name
@fog_hue = $game_map_iso.fog_hue
if @fog.bitmap != nil
@fog.bitmap.dispose
@fog.bitmap = nil
end
if @fog_name != ""
@fog.bitmap = RPG::Cache.fog(@fog_name, @fog_hue)
end
Graphics.frame_reset #reset frame count to 0
end
#update tilemap offset
@tilemap.ox = $game_map.display_x / 4
@tilemap.oy = $game_map.display_y / 4
#redraw tilemap to current offset
@tilemap.update
#update pan and fog offsets.
@panorama.ox = $game_map.display_x / 4
@panorama.oy = $game_map.display_y / 4
@fog.zoom_x = $game_map_iso.fog_zoom / 100.0
@fog.zoom_y = $game_map_iso.fog_zoom / 100.0
@fog.opacity = $game_map_iso.fog_opacity
@fog.blend_type = $game_map_iso.fog_blend_type
@fog.ox = $game_map.display_x / 4 + $game_map.fog_ox
@fog.oy = $game_map.display_y / 4 + $game_map.fog_oy
@fog.tone = $game_map.fog_tone
#update event and character sprites
for sprite in @character_sprites
sprite.update
end
#update weather
@weather.type = $game_screen.weather_type
@weather.max = $game_screen.weather_max
@weather.ox = $game_map.display_x / 4
@weather.oy = $game_map.display_y / 4
@weather.update
#update pictures
for sprite in @picture_sprites
sprite.update
end
@timer_sprite.update
#update screen tone/shake/flash
@viewport1.tone = $game_screen.tone
@viewport1.ox = $game_screen.shake
@viewport3.color = $game_screen.flash_color
@viewport1.update
@viewport3.update
else
upd_iso_map
end
end
end
#==============================================================================
# ■ Interpreter
#==============================================================================
class Interpreter
#--------------------------------------------------------------------------
# ● Change Map Settings
#--------------------------------------------------------------------------
def command_204
case @parameters[0]
when 0 #change panorama
if $game_map.iso?
$game_map_iso.panorama_name = @parameters[1]
$game_map_iso.panorama_hue = @parameters[2]
else
$game_map.panorama_name = @parameters[1]
$game_map.panorama_hue = @parameters[2]
end
when 1 #change fog settings
if $game_map.iso?
$game_map_iso.fog_name = @parameters[1]
$game_map_iso.fog_hue = @parameters[2]
$game_map_iso.fog_opacity = @parameters[3]
$game_map_iso.fog_blend_type = @parameters[4]
$game_map_iso.fog_zoom = @parameters[5]
$game_map_iso.fog_sx = @parameters[6]
$game_map_iso.fog_sy = @parameters[7]
else
$game_map.fog_name = @parameters[1]
$game_map.fog_hue = @parameters[2]
$game_map.fog_opacity = @parameters[3]
$game_map.fog_blend_type = @parameters[4]
$game_map.fog_zoom = @parameters[5]
$game_map.fog_sx = @parameters[6]
$game_map.fog_sy = @parameters[7]
end
when 2 #change battleback
if $game_map.iso?
$game_map_iso.battleback_name = @parameters[1]
$game_temp_iso.battleback_name = @parameters[1]
else
$game_map.battleback_name = @parameters[1]
$game_temp.battleback_name = @parameters[1]
end
end
return true
end
#--------------------------------------------------------------------------
# ● Change fog tone
#--------------------------------------------------------------------------
def command_205
if $game_map.iso?
$game_map_iso.start_fog_tone_change(@parameters[0], @parameters[1] * 2)
else
$game_map.start_fog_tone_change(@parameters[0], @parameters[1] * 2)
end
return true
end
#--------------------------------------------------------------------------
# ● Change fog opacity
#--------------------------------------------------------------------------
def command_206
if $game_map.iso?
$game_map_iso.start_fog_opacity_change(@parameters[0], @parameters[1] * 2)
else
$game_map.start_fog_opacity_change(@parameters[0], @parameters[1] * 2)
end
return true
end
end |
|
Projet en cours: INRAL / En pause :NEOTORI /// Pause : L'ANKH DE KINBRA /// Pause : GRASS SHOPPER /// GALERIE |
Posté dans Forum - [RPG Maker VX Ace] Trois calques de superposition? |
esziaprez game -
posté le 03/07/2013 à 11:43:16. (441 messages postés) |
| Les meilleurs RM restent pour moi XP et 2k3.
Je pense que Enterbrain veut de rendre les versions de plus en plus simplifiées et rogne parfois sur l'efficacité.
Le seul avantage que j'ai trouvé à ACE c'est les zones de combat après...
Enfin pour ta question, je trouve que la meilleur solution c'est :
Deshtat a dit: - Refaire les Tilesets soi-même (possible, mais plutôt long, et imaginez la taille de la Tileset s'il faut prévoir toutes les possibilités). |
Moi sur XP j'ai des tilesets qui sont hyper long mais ça ne me pose pas de problèmes et c'est pas très long à faire. Inutile de prevoir toutes les possibilités dès le début. Moi je fais en fonction de mes besoins au fur et à mesure.
Après je crois que la longueur des Tileset est limitée sur VX. D'où :
moi meme a dit: Les meilleurs RM restent pour moi XP et 2k3. |
La solution :
moska a dit: Il faut utiliser les tables prévues en TileA, comme ça tu peux mettre ce que tu veux dessus. |
est aussi valable. Après faut aimer ce type de tables.
|
Projet en cours: INRAL / En pause :NEOTORI /// Pause : L'ANKH DE KINBRA /// Pause : GRASS SHOPPER /// GALERIE |
Posté dans Forum - [RMXP] Superposition characters et isometrie |
esziaprez game -
posté le 03/07/2013 à 11:08:06. (441 messages postés) |
| Domaine concerné: Mapping avancé Logiciel utilisé: RMXP Bon j'ai posté ça dans les questions connes sur RM mais personne ne me répond donc je fait un topic. Et puis je sais pas bien si on doit utiliser un script ou une programmation event ou un symbole dans le nom du character (comme dans V ?...
Comment peut on faire pour supprimer la superposition sur des characters sur XP ? Peut-on faire qu'un événement soit "en-dessous de tout".
Plus en détails :
Voilà j'ai un petit soucis. Pour ceux qui connaissent mes projets, mon penchant pour l'isométrique n'est plus un secret.
J'utilise donc un script qui prend en charge les events sur une carte normale et l'affichage sur une autre carte en 2D iso.
J'ai réussit à créer des portes isométriques animées en characters que je place sur la map d'event et j'ai adapté pour qu'elles s'affichent à la bonne hauteur sur la Map isométrique.
Seulement lorsque mon perso passe à coté, le haut de la porte s'affiche au dessus du héros.
Une petite image explicative :
Cette question a une importance capitale pour mon jeu SVP . Il existe une solution pour éviter la superposition mais cela me demanderai d'occuper systématiquement la case immédiatement haut dessus par un autre petit event (ainsi cela obligerait le héros à contourner la zone ou la superposition est mauvaise). Mais ça encombre les maps où il y à pas trop de place.
EDIT> Je me demandais aussi si il existe des scripts pour placer des images entre la couche de panorama et la couche primaire mais ça n'a rien à voir et c'est pas important.
Merci a ceux qui voudront bien m'aider.
|
Projet en cours: INRAL / En pause :NEOTORI /// Pause : L'ANKH DE KINBRA /// Pause : GRASS SHOPPER /// GALERIE |
Posté dans Forum - Questions idiotes sur RM [PAS Script] |
esziaprez game -
posté le 02/07/2013 à 22:22:44. (441 messages postés) |
| Version de RPG Maker utilisée:RMXP
Question:
Comment peut on faire pour supprimer la superposition sur des characters sur XP ? Peut-on faire qu'un événement soit "en dessous de tout".
Plus en détails :
Voilà j'ai un petit soucis. Pour ceux qui connaissent mes projets, mon penchant pour l'isométrique n'est plus un secret.
J'utilise donc un script qui prend en charge les events sur une carte normale et l'affichage sur une autre carte en 2D iso.
J'ai réussit à créer des portes isométriques animées en characters que je place sur la map d'event et j'ai adapté pour qu'elles s'affichent à la bonne hauteur sur la Map isométrique.
Seulement lorsque mon perso passe à coté, le haut de la porte s'affiche au dessus du héros.
EDIT> Je me demandais aussi si il existe des scripts pour placer des images entre la couche de panorama et la couche primaire mais ça n'a rien à voir et c'est pas important.
|
Projet en cours: INRAL / En pause :NEOTORI /// Pause : L'ANKH DE KINBRA /// Pause : GRASS SHOPPER /// GALERIE |
Posté dans Forum - NEOTORI (un projet somnolant) |
esziaprez game -
posté le 28/06/2013 à 00:55:49. (441 messages postés) |
| Citation: Ici il est custom, donc c'est un CBSC custom |
Citation: et c'est ce qu'il fallait faire, après te dire en détail comment/qui il est, je ne saurais pas, désolé |
A priori c'est bien comme ça alors.
Citation: Les bibliothèques, c'est has-been. |
Moi j 'adore ma bibliothèque municipale.
Cela dit, je me doute que ce genre de choses, dans un jeu, c'est pas vraiment interressant.
1 Citation: Sauf s'il faut la compléter soi-même, et que cela en fait donc une quête secondaire.
Et pour la compléter, il faut se balader et interagir avec un peu tout et n'importe quoi, surtout les trucs planqués dans les coins loin du chemin classique. |
2 Citation: Fais-en une quête épique.
Le héros trouve un objet bizarre, apparemment sans fonction.
Mais il y a tout un scénario derrière, qui se révèle petit à petit.
Le joueur peut même augmenter les fonctions en trouvant des pièces compatibles cachées (ou en possession de NPC spéciaux). |
3 Citation: Perso, je pensais plutôt à un système de craft.
Ou un commerce de matières entre planète.
Ou une agence de chasseurs de primes qui récompense le joueur s'il s'acquitte d'une mission, et dans laquelle il peut dépenser des points de prestige pour accéder à des armes ou des services (un skin de vaisseau en forme de nyancat ! ). |
Ces idées sont très inintéressantes et je compte m'en inspirer fortement (Tu auras ton nom dans les remerciements parce que tu m'aide beaucoup). Je les note sur mon cahier...
Citation: Dans un sens, plus tes cinématiques animées seront figuratives (des graffiti sur les murs racontent le background de base, des une de journal pour illustrer des événements ingame, des dessins d'enfants, des posters de recrutement, etc.), plus tu laisseras ton joueur interpréter le jeu selon ses sensibilités.
Celui qui veut du Warhammer hardcore y verra du WH qui tâche, alors que celui qui veut du JRPG coloré verra des sephiroth à chaque coin de rue.
De ce coté là, laisse l'imagination du joueur faire le boulot. |
Je pense rechercher une identité graphique commune à toute mes cinématiques.
Un peu comme 24h à la télé avec les cadres qui s’enchaînent.
Ou faire des épisodes façon BD comics un peu comme on voit dans Spiderman sur France4.
L'idée des journaux et des graffs me parle bien aussi mais je m'occuperais de ça à la fin où quand je me sentirai inspiré.
Mais je n'en suis qu'au début du développement et je compte m'occuper de ça plus tard ou au fil de mes inspirations aléatoires.
Citation: Ça va te poser problème pour les ambiances d'égouts ou oppressantes.
Dans ces situations, il faut toujours des jeux de lumières.
Mais globalement, le style de jeu en aplat se marrie bien avec l'absence d'ombres.
Sauf ça lui donne un coté "mignon" qui n'est pas forcément celui que tu recherches ... |
Je ne cherchais pas vraiment de style au début je me suis laissé porter par mes inspirations.
Puis je me suis forgé une charte graphique au fur et à mesure de mes créations.
Maintenant il en ressort un coté mignon que je souhaite plus BD / comics.
Il faut que j'arrive à trouver un compromis pour que ça ne fasse pas trop mignon ni trop sérieux.
La morphologie des personnages (le corps = 3.5 fois la tête), leur confère une allure adolescente et je trouve ça mieux que l'aspect bébé des ressources de base de RMXP.
Les ombres, je compte les intégrer plus tard, mais pour l'instant les couleurs vives donnent un cotés sucré aux décors.
Pour les grottes je pensais donner un champ de vision au héros.
Voilà ce que donne une grotte pour l'instant :
xoxoxoxoxoxoxoxoxoxoxoxoxoxoxoxoxoxoxoxoxoxoxoxoxoxoxoxoxoxoxoxo
oxoxoxoxoxoxoxoxoxoxoxoxoxoxoxoxoxoxoxoxoxoxoxoxoxoxoxoxoxoxoxox
Vendredi 27/06/2013
TO DO LIST
Pour cette liste j'ai décidé de rationaliser mes objectifs à travers la poursuite d'un objectif principal.
OBJECTIFS
Finir la démo comprenant Neotori et Terra III complète ; Harass et Celius en version partielle ; Terra II, Kristal, Whanghek I et Aqua en version minimum.
C-à-d :
- Finir le mapping complet des planètes Neotori et Terra III25%
Les tilesets étant terminés, j'ai beaucoup avancé au niveaux du Mapping de Neotori et de Terra III.
En suivant les conseils que j'ai reçu, j'ai commencé à intégrer des passages secrets et des endroits cachés.
Beaucoup de surprises sont au programme.
- Entamer le mapping partielle de Harass et Celuis0%
- Commencer le mapping de Terra II, Kristal, Whanghek I et Aqua0%
Bien que pas mal d'éléments du Tileset de Terra III pourront être réutilisés pour Harass, Je n'ai toujours pas composé de Tileset.
Cela dit j'ai déjà une bonne vision de ce que j'envisage pour ces planètes
- Finir les quêtes secondaires et principales de Terra III et Neotori10%
Bon déjà j'ai écrit toutes les quêtes principales liées au scénario.
J'ai commencer à mettre au point le système pour la quête d'essence de Gentech : le héros devra collecté des essences sur le corps de créatures vaincues.
J'ai aussi commencé à mettre au point une quête des pièces de la banque de données des anciens : le héros devra collecté des artefact dans des endroits caché de la galaxie, en réunissant ses données il obtient un vaisseau spécial.
J'ai prévu des autres quêtes secondaires mais je n'en dirais pas d'avantage.
Les personnage ont été pour la plus part créé et leur faceset aussi.
- Finir le système de combats TBS70%
Quelques petites retouches et l'intégration de nouveaux ennemis et alliés et mon système sera bon pour la démo.
- Finir le système de voyages spatiaux15%
Il est finit à l’écrit sur un cahier et il ne reste plus qu'à le coder et à le tester. Ensuite il faudra l'améliorer
- Finir le système de gestion équipements et personnel du vaisseau5%
Là j'ai du boulot !!! entre le moteur et les animations et ... J'en parlerai quand je serais vraiment dessus.
- Finir le système de combats spatiaux2%
Un combat tour par tour façon RM de coté c'est à faire. J'ai déjà commencer à songer à des spécificité de game play (piraterie, abordage, drones...).
- Finir le système de TCG75%
Le système est fini. Il reste à modifier les graphismes des cartes et à envisager le système de gains et de pertes de cartes et de gestion des victoires/défaites.
- Finir le système de commerce de marchandises0%
PLus tard...
- Finir le système de gestion de relation Race/Groupe/PNJ15%
J'ai commencé en m'inspirant de L'Ankh de Kinbra et du projet sur la liberté d'action en simplifiant beaucoup.
Je n'ai pas trop envie que cela prenne trop de place dans le jeu.
Avoir une bonne relation avec certain perso débloquera des bonus mais ce qui influera sur le jeu c'est surtout la relation groupes/Races.
Voilà pour les News tchotcho les amis.
xoxoxoxoxoxoxoxoxoxoxoxoxoxoxoxoxoxoxoxoxoxoxoxoxoxoxoxoxoxoxoxo
oxoxoxoxoxoxoxoxoxoxoxoxoxoxoxoxoxoxoxoxoxoxoxoxoxoxoxoxoxoxoxox
Vendredi 26/07/2013
Un mois s'est écoulé et il est temps de faire un petit bilan.
OBJECTIFS
L'objetcif était de finir la démo en priorité. Je me suis fixé 6 à 9 mois mois pour faire une démo comprenant Neotori et Terra III complète ; Harass et Celius en version partielle ; Terra II, Kristal, Whanghek I et Aqua en version minimum.
Hum ! Il faut dire que c'est du boulot question mapping et graphisme ! Malgré tout j'ai bien avancé et je pense encore être dans les temps pour finir ma démo dans le délai prévu.
Il reste 5 à 8 mois (sachant que je vise les 5 et qu'on sait pas ce qui peut arriver)
AVANCEMENT :
- Finir le mapping complet des planètes Neotori et Terra III30%
Neotori commence de plus en plus à prendre forme et j'ai amélioré les animation d'une facon que je n'espérais même pas.
Les portes s'ouvrent et se referment (ce qui n'a pas était facile en Iso), les PNJ ont toutes sortes d'attitudes et de réactions propre (fume, se dispute, s'enerve, danse, s'assoit)...
Le mapping est bien avancé.
Neotori Astroport Extérieur 100% (j'utilise un rippe de megaman)
Décollage et arrivé de la nef animé 100%
Neotori Astroport Inner 80% (je dois juste intégrer un ripped de megaman dans un tileset)
Neotori Extérieur haut niveau 100% (quelques améliorations à apporter en direction de l'Astroport et al'entrée du "vomit", Il faudra que je mappe les partie supérieurs qui ne sont pas accéssibles pour le moment)
Système de transport transurban 100% (C'était le moi de l'animation !!! On entre dans la cabine, on choisit la destination, le toit de la cabine recouvre le perso et elle s'enfonce dans la galerie...)
Niveau Inférieur Exterieur 60% (Il reste deux petites Maps à faire dur les 6 principales)
Niveau Inférieur Inner 35% (Les inners des deux premières cartes sont presque finit)
Niveau Industrialisé 0%
Décharge 0%
- Entamer le mapping partielle de Harass et Celuis0%
Pour l'instant je n'ai pas trop travaillé sur le sujet mais j'ai tout de même récupéré des ressources pour m'inspirer la création du tileset sur le Net
- Commencer le mapping de Terra II, Kristal, Whanghek I et Aqua0%
Bien que pas mal d'éléments du Tileset de Terra III pourront être réutilisés pour Harass, Je n'ai toujours pas composé de Tileset.
Cela dit j'ai déjà une bonne vision de ce que j'envisage pour ces planètes
- Finir les quêtes secondaires et principales de Terra III et Neotori10%
J'ai fais plein d'essai mais rien de concret. Afin de mieux avancer je vais me faire une Todo2
1- mettre au point le système pour la quête d'essence de Gentech : le héros devra collecté des essences sur le corps de créatures vaincues.
2- mettre au point une quête des pièces de la banque de données des anciens : le héros devra collecté des artefact dans des endroits caché de la galaxie, en réunissant ses données il obtient un vaisseau spécial.
3- mettre en place les quetes principale
4- mettre au points plusieurs quêtes secondaire
- Finir le système de combats TBS70%
Quelques petites retouches et l'intégration de nouveaux ennemis et alliés et mon système sera bon pour la démo.
- Finir le système de voyages spatiaux30%
Il est finit à l’écrit sur un cahier et il ne reste plus qu'à le coder et à le tester. Ensuite il faudra l'améliorer.
Pour l'instant j'ai bien entamé l'interface de gestion du vaisseau des marchandises et de l'équipement. maintenant il faut finir le codage.
- Finir le système de gestion équipements et personnel du vaisseau25%
Bon le 1er vaisseau est mappé les différents interfaces sont pretes. Il faut juste que je m'y mette
- Finir le système de combats spatiaux10%
Je suis en train de réfléchir à une manière d'aborder la transition entre l'aspect gestion du vaisseau et un combat.
Peut être qu'il faudrait que je joue les combat comme des evenements ou il faudra que le heros gère le vaisseau en fonction et oublier cette histoire de tour par tour.
Ca sera plus simple à mettre en place et plus marrant à jouer.
- Finir le système de TCG75%
Le système est fini. Il reste à modifier les graphismes des cartes et à envisager le système de gains et de pertes de cartes et de gestion des victoires/défaites.
Et la j'ai rien fouttu...
- Finir le système de commerce de marchandises0%
PLus tard...Encore plus tard...
- Finir le système de gestion de relation Race/Groupe/PNJ15%
J'ai commencé en m'inspirant de L'Ankh de Kinbra et du projet sur la liberté d'action en simplifiant beaucoup.
Je n'ai pas trop envie que cela prenne trop de place dans le jeu.
Avoir une bonne relation avec certain perso débloquera des bonus mais ce qui influera sur le jeu c'est surtout la relation groupes/Races.
J'ai un peu laissé tombé provisoirement pour m'occuper des système du vaisseau.
NEW OBJECTIF
- Amener de la personnalité à mes PNJ.
En rejouant à l'Ankh et en testant le projet sur la liberté et blablabla...(donnez lui un nom !!!!)
je me suis rendu compte du cruel manque de vie de mes perso. Le système se met en place et les perso réagissent comme des robots avec tous la même insensibilité ! Impossible de trouver un trait de caractère spécifique à l'un ou à l'autre !
Je vais faire l'effort de donner une personnalité très marquée à mes PJ et PNJ cette fois en leur créant des fiches perso qui me serviront de pense-bete lorsque j’écrirai les dialogue.
J'ai remarqué que c'est ce qui m'avais empéché de me lasser sur le projet blablabla (...) et que je trouvais ennuyeux dans l'Ankh.
Voilà pour les Bisous bisous les amis.
|
Projet en cours: INRAL / En pause :NEOTORI /// Pause : L'ANKH DE KINBRA /// Pause : GRASS SHOPPER /// GALERIE |
Aller à la page: 1 2 3 4 5 6 7 8 9
|
|
|