NESmaker - Démarrage rapide (tuto en français)

LAZARUS

New member
C'est le deuxième a avoir ce problème,a mon avis c'est parce que vous essayer de compiler un ancien projet(pour l'instant je ne voit que ca). ;)
 

dale_coop

Moderator
Staff member
Triste, tu as cette erreur en faisant quoi ?
Juste un "Nouveau projet..." puis import module, config, creation de ton player, assets, monstre, ... compile & test?
 

dale_coop

Moderator
Staff member
Petit dépannage pour ceux qui voudraient réutiliser leur projet 4.0.0/1 dans la nouvelle version 4.0.6:

Copier le sous-dossier "<NomProjet>" contenu dans le dossier "GraphicAssets" du NESMaker400 dans le dossier "GraphicAssets" du NESMaker 4.0.6 (pour avoir de nouveau "GraphicAssets\<NomProjet>" avec tous ses tilesets dedans.
Copier le fichier <NomProjet>.MST du NESMaker400 dans le dossier "Projects" du NESMaker 4.0.6.

Lancer NESMaker 4.0.6, ouvrir son <NomProjet>.MST, puis importer le module AdventureModule.MOD (qui se trouve dans le dossier Modules de NESMaker 4.0.6). Note: le module BasicModule n'est pas compatible pour l'instant.

Ensuite, dans "Scripts > Input Scripts", supprimer tous scripts : faire un clic droit sur chaque script et choisir "Remove".
Dans la fenêtre de droite, se déplacer jusqu'à "UserScripts\AdventureGame_Base\MovementScripts" et double-cliquer sur tous les scripts pour les ajouter.
Puis se déplacer jusqu'à "UserScripts\AdventureGame_Base\InputScripts" et double-cliquer sur "a_create_projectile.asm".

Maintenant, dans "Input Editor", supprimer tous scripts : faire un clic droit sur chaque script et choisir "Remove".
Puis pour pour Game State "MainGame", Target "NULL", assigner les scripts :
- "startMovingPlayerXxx.asm" à "HOLD" pour chaque direction
- "stopMovingPlayerXxx.asm" à "RELEASE" pour chaque direction
- "ChangeToIdleAnimations.asm" à "RELEASE" pour chaque direction
et
- "a_create_projectile.asm" à "PRESS" pour le bouton "B" (ou "A" si vous préférez).

Dans "Game Objects", sélectionner le "Player", puis dans "Object details", onglet "Actions" :
- sélectionner l'action step 2 et pour "End animation" choisir "GoToFirst"
- et mettre une vitesse d'animation (par ex, 4).
(Si vous oubliez cette étape, le jeu va freezer dès que vous tirerez)

L'objet Arme ("balle" ou Melee) n'est plu utilisé en tant que projectile dans le module Adventure, nous devons donc le modifier.
Sélection l'objet arme ("Balle" dans mon cas, ou "Melee" par default), et rendez le vide (sélectionner une tile vide dans le tilesets)

Maintenant sélectionner l'objet "Projectile" (pas le "Projectile source", hein.. bien le "Projectile"), et recréer votre Arme (le "Projectile"):
Dans "Object Details", cocher "Player weapon", lui donner une vitesse et une acceleration... et pour "Edge object reaction" et "Solid object reaction", choisir "Destroy Me".
Puis définir sa "Bounding box".

Dernière chose, le module Aventure utilise plein de sons... il faut donc les importer.
Dans l'arborescence de NESMaker, faire un clic-droit sur "Sound" et choisir "Import Famitracker txt" et aller sélectionner le fichier "BetaAssets\Music\Adventure_MusicAndSounds.txt".

Voilà, votre ancien projet a été migré en 4.0.6 ;)
 

dale_coop

Moderator
Staff member
Revenons un peu sur le HUD plus en détail. Nous allons voir comment ajouter à notre jeu, une jauge de santé ("health") et de l'argent ("MONEY").



HUD

Dans l'arborscence de NESMaker, sélectionner "HUD & Boxes". La fenêtre de paramétrage des zones s'affiche.

Les zones

01_HUD_settings.png


C'est ici que l'on définit :
- "HUD Area": la zone de HUD (zone dans laquelle s'affichera les élements du HUD). Remarque important, elle doit faire au moins 2 lignes de haut (sinon bug)
- "Playable Area": la zone de jeu, dans laquelle le Player peut évoluer. Lorsque le Player quite cette zone, il passe à l'écran suivant.
- "Textbox Area": la zone d'affichage des boites de texte (dialogues, etc... une des grosses nouveautés de la version 4.0.6)
- "Monster Spawn Area": la zone dans laquelle apparaitront les monstres qui sont paramétrés pour apparaître de façon aleatoire (le bouton "Rand", for "random/aléatoire", dans "Edit Monster Placement Details" sur l'écran).
- "Other Area": une aure zone qui ne semble pas servir pour l'instant.

Pour votre jeu, il est indispensables de définir les 3 premières zones "HUD Area", "Playable Area" et "Textbox Area". Prenez l'habitude de le faire dès le début de la mise en place de votre projet, comme ça vous serez tranquilles.

Les tiles

Cet onglet permet de definir les tiles (blocs de 8x8pixels) associés aux différents éléments utilisables pour composer votre HUD (tiles pour les différentes lettre de l'alphabet, pour les bordure de votre hud, le background, quelques icones,…).


Par defaut, il est vide. Nous allons créer le tilesets rapidement en reprenant un exemple fourni avec NESMaker.

Se rendre dans "Pixel Editor" :
Cliquer sur le bouton ouvrir et aller chercher le fichier "Letters_Numbers_Hud.bmp" qui se trouve das le dossier "BetaAssets\Graphics".
A l'aide de l'outil de sélection (à coté du petit crayon), sélectionner tout le tilesets (glissant et maintenant le curseur de la souris du coin haut-gauche jusqu'en bas-droite), faire CTRL+C pour copier tout.
Ensuite ouvrir le fichier "HudTiles.bmp" se trouvant dans le dossier "GraphicAssets\<NomDeVotreProjet>" (dans mon cas dans "GraphicAssets\JEU01").
Positionner le curseur de la souris au coin en haut-gauche et faire CTLR+V pour coller.

Et voilà, enregistrer le tilesets.

De retour dans "HUD & Boxes", dans l'onglet "TileSets", vous note qu'il n'est plus vide. Et normalement tout est déjà paramétré correctement.

02_HUD_tiles.png


(vous pouvez vérifier en sélectionnant chaque élément de la liste de gauche pour voir/modifier le tile associé)


Les Assets

Pour composer le contenu du HUD, il est possible d'utilsier des Assets que l'on construit dans cet onglet.
C'est un ensemble de tiles. Cela permet de créer des mots complets, ou des blocs graphiques (ensemble d'icones)…
Pour notre exemple, nous n'allons pas en créer.


Les variables du HUD

Cet onglet, vous donne accès aux différentes variables du HUD. Vous en avez 8 à votre disposition.
Pour le module Aventure, un certain nombre de ces variables sont déjà paramétrées: "MyHealth", "MyScore", "MyKeys", "MyMoney".
Si utilisées dans le HUD, elles permettent d'afficher la valeur correspondante.
Les variables "UserVar_X" sont inutilisées pour l'instant.
Sélectionner la variable "MyHealth" et indiquer "3" en valeur initiale (à noter que notre Player a "3" pour "health" dans ses paramètres, c'est la raison pour laquelle on choisit ici cette même valeur).


Les élémens du HUD

L'onglet qui nous intéresse le plus, il permet de composer comme bon nous semble notre HUD.
Nous avons accès à 8 élements possibles affichables. Pour chaque élément, vous pouvez choisir ce qu'il affichera (une chaine de caractères, la valeur contenue dans une variable, un asset …)

Pour l'exemple de notre jeu, nous allons safficher la santé "HEALTH" (sous forme de petits coeurs à la zelda, qui disparaitront à chaque fois que le player se fera toucher) et l'argent collecté "MONEY" (sous forme numerique, et qui augmentera dès que le palyer collectera une pièce).

- Sélectionner "Element 1" et choisissez le type "2:Text".
Dans "String", saisir la chaine de caractères que l'on souhaite faire apparaitre (Par exemple "HEALTH"). Ensuite, modifier la position de l'élément dans le HUD, à l'aide des valeurs de "X" et "Y".

04_HUD_Elements_01.png


- Sélectionner maintenant "Element 2" (correspondant à la variable "MyHealth") et choisissez le type "0:Var Tiles".
Cliquer sur le bouton "Full Tile" pour definir le "tile" qui representera votre coeur rempli, puis sur le bouton "Empty Tile" pour votre coeur vide (moi je choisis un *, mais on pourrait dessiner un coeur vide dans le tilesets ou même utiliser un tile vide).
Ensuite, indiquer "3" pour "Max value" et modifier la position de l'élément dans le HUD, à l'aide des valeurs de "X" et "Y".

04_HUD_Elements_02.png


Pour money c'est un peu le même principe...
- Sélectionner "Element 6" (correspondant à une variable non utilisée) et choisissez le type "2:Text".
Dans "String", saisir la chaine de caractères que l'on souhaite faire apparaitre (Par exemple "MONEY"). Ensuite, modifier la position de l'élément dans le HUD, à l'aide des valeurs de "X" et "Y".
- Sélectionner "Element 5" (correspondant à la variable "MyMoney") et choisissez le type "3:Number".
Ensuite, indiquer "3" pour "Max value" et modifier la position de l'élément dans le HUD, à l'aide des valeurs de "X" et "Y".

04_HUD_Elements_04.png

Voilà votre HUD est prêt

Il n'y a plus qu'à tester... via le menu "Test > Export & Test". Et constater qu'il s'affiche correctement.
Et si le Player se fait toucher par un monstre, vous deviez voir sa santé diminuer.



ITEMS COLLECTABLES - PIXEL EDITOR

Nous allons créer des élements collectables pour remplir notre santé et notre porte monnaie.

Dans "Pixel Editor", ouvrer le fichier "GameObjectTiles.bmp" se trouvant dans le dossier "GraphicAssets\<NomDeVotreProjet>" (dans mon cas dans "GraphicAssets\JEU01").
Et dessiner deux tiles pour représenter votre item "santé" et "argent" (je vais dessienr un "coeur" dans une tile vide et une "pièce" dans une autre).

Enregistrer votre tilesets.



ITEMS COLLECTABLES - GAME OBJECTS

Maintenant, dans l'arborescence de NESMaker, sous "Game Objects", sélectionner "Health Pickup".
Cet objet est l'item (élément collectable) qui recharge votre santé.

Configurer le simplement :
Indiquer quel tile utiliser (notre "coeur"), puis quelle palette. Attention, pour rappel, tous les game objects utilisent les palettes du Player, donc vous pouvez juste indiquer si vous voulez utliliser la 1ère sub-palette ou la 2ème sub-palette pour votre item.

05_Health_Pickup.png


Puis dans "Object details", dans l'onglet "Details", cocher juste la case "pickup/ powerup". Et definir une "Bounding box".
Voilà, votre Item est prêt.

Il ne reste plus qu'à faire exactement la même chose avec l'object detail "Currency Pickup"


Ensuite, vous pouvez poser ces élements sur vos écrans, en plus de vos tiles, vos monstres…
Pour cela, faire un clic-droit puis "Place Monster 1 > Health Pickup" ou "Place Monster 1 > Currency Pickup", etc


A noter que, dans le module Aventure, actuellement, lorsqu'un monstre est tué, il peut vous donner un item "Health Pickup" ou "Currency Pickup". C'est le comportement par défaut codé pour les monstres de ce module.
 

Kitsune

New member
Ne disposant que de très peu de temps moi-même, je progresse une fois par semaine, mais d'un coup :lol: , tes tutos sont donc très complémentaires pour moi des tutos des big boss.
Grand merci.
 

LAZARUS

New member
Allez,c'est partie pour le module plateforme, il est dispo.C'est surtout celui-là que j'attendais.
 

dale_coop

Moderator
Staff member
Cette nuit et demain je me regarde tout ça et je fais quelques tests, pour voir les nouveautés.
Je referai un autre topic spécialement pour le module Plateforme (en Copiant/Collant ce qui est encore valable). Ce sera plus simple pour s'y retrouver.
Et je remettrai ce topic à jour ensuite.
 

triste

New member
J'ai finalement pris le BasicModule.MOD du 4.0.1 et j'ai recommencé un projet (vu d'en haut, à la Zelda) de 0 avec le 4.0.11 mais j'ai tout de même un problème lors de la compilation :

1535654429-error.png
 

dale_coop

Moderator
Staff member
C'est normal, tu ne peux pas utiliser le module Basic. Il n'est compatible qu'avec la 4.0.0/4.0.1.
(pour l'instant)
 

dale_coop

Moderator
Staff member
Tu peux réutiliser les assets, les monstres, les écrans,...
Il y un un menu pour exporter/ importer pour chaque objet/élément
 
Top Bottom