Dirk
Member
Hello! dale_coop made a tutorial in French to help getting started with NESmaker. With his permission I translated it using my sparse knowledge of French and google translate . So please forgive any translation mistakes, I tried my best.
Thank you dale_coop for your very helpful tutorial and all the work you put in it!
INTRO
I've prepared this basic tutorial to help those who did not understand everything in Joe's tutorial videos:
http://nesmakers.com/viewforum.php?f=25
This is just a supplement. Joe shows more details than what I explain here. I strongly advise you to watch the videos corresponding to each subject, to see how it functions.
I just cover the essentials, so that it works. I can come back to some points and clarify, if necessary.
STARTING A NEW PROJECT
Run NESMaker_xxx.exe. Then choose the menu "File> New". A dialog will open:
For the creation of your new project, you have the choice between several options:
- Use Existing Tilesets: your project will directly use the images in the "GraphicAssets" folder.
- Create Blank Tilesets: Your project will use blank images that will be placed in the "GraphicAssets\<YourProjectName>" folder. Images located directly in the "GraphicAssets" folder will not be affected by your changes.
- Create Default Tilesets: Your project will use a copy of the images from "GraphicAssets" that will be placed in the "GraphicAssets\<YourProjectName>" folder. Images located directly in the "GraphicAssets" folder will not be affected by your changes.
If you chose one of the last two options, you must specify a folder name to create the "GraphicAssets\<ProjectName>" folder.
I advise you to choose "Create Blank Tilesets", to start with blank images that you can modify at your leisure.
(For example, if you enter "GAME01", a "GAME01" folder will be created in the "GraphicAssets" folder, all the necessary blank images for your game will be located in the "GraphicAssets\GAME01" folder).
After starting your new project you should save it.
For this, choose "File>Save". Since your project has never been saved before, a dialog box appears asking you where to save the file of your project (the extension of a project is .MST). By convention, it is recommended to give the same name to your project file as to your previously created project folder.
I advise you to put it in the subfolder "Projects" located at the root of the NESMaker folder (and to make the habit of saving all your projects in it, it is easier to find them and to make backups) .
INITIAL SETTING OF THE PROJECT
The project is created, but it is "blank". We will now perform the basic setup before starting the creation of our "player" and assets for our screens.
Basic Project Settings: First, choose the "Project> Project Settings" menu. Here you'll find all the settings of the project, the scripts used by your project.
- In the "Project Labels" tab, you can modify the name of the different elements of your project, these are the elements used by the editor (HMI) only, no impact on the game engine itself. We will leave the default settings.
- The "Tilesets" tab displays all the image files used by your project. We will leave the default settings
- In the "Emulator" tab, you can specify another NES emulator than that native to the editor.
I advise you to download the FCEUX emulator, to unzip it somewhere and to fill the information in this tab as follows:
Emulator: <path to fceux.exe> (browse to the FCEUX installation folder and select fceux.exe).
Working Folder: path to the folder (and ROM) of the game that will be generated, click on the browse button and select the "game.nes" file located in the "GameEngineData" folder.
Parameters: "game.nes" (automatically filled in when you select the "Working Folder").
- Then the tab "Scripts Settings". Probably the most important tab as it indicates which script should be used by the game engine for the different elements: for example what script for physics or for collisions or for sprite moves, or for picked objects, ...
By default this tab does not contain many scripts:
It is possible to add / modify these scripts by hand (indicate the type of element, the associated script ...)
However for convenience, "MODULES" with pre-defined scripts have been (and will be) created, a module for adventure games, one for platform games, one for shooters, beat'em ups ...
The current version of NESMaker comes with the "Adventure Module" which allows to create an adventure game with top-down perspective in the style of games like Zelda 1 on NES (it also comes with a more basic module also top-down, but with fewer features).
Close the Project Settings window, we will now see how to import a module, to have all the necessary scripts for our first game.
Choose the "Project> Import Project Module" menu and select the module "Modules \ AdventureModule.MOD". A dialog box will give information your project will be changed by this import.
Once confirmed, if you return to consult your "Scripts Settings" in the project settings, you will find that there are many more!
PROJECT INFO
Now choose "Project> Info" in the window that opens and check the box "Skip start screen", but ONLY this, do not touch anything else.
For now, our game will have no Start Screen and will start directly in the game (the screen with the player in it). If you do not check this box, you will have a gray screen when you launch the game (which is actually the Start Screen without any setup).
PALETTES AND PALLET GROUPS
Now that the basic setup is done, we will be able to create our different game elements (Color Palettes, Player, Tiles to compose our screens, ...).
Setting Palettes:
Before we can start with screens and our Player, we need to create at least one color palette and a group of palettes.
The color palettes will be used when you create your different sprites (your Player, the monsters), and Tiles (the elements for your screens).
In the NESMaker tree, select "Palettes> Palette Groups", right-click and choose "New palette group".
A small [+] is now displayed at the Palette Groups level, allowing you to access your new palette group (you can give it another name if you want it, for example "Level 1 Palettes")
Then, unfold the "Palettes" element to display all the palettes that can be used (for the tiles).
Select the first palette and rename it to "Main Palette" for example, then right-click on this palette and assign it to the "Level 1 Palettes" palette group.
Each element of the game can be associated with 2 palettes (except the Tiles who have 4). Each palette contains 3 colors + 1 color common to all palettes, which is used for the transparency of the sprites and is also the basic color of the screens. By default, we use black as base color, but we can choose any color we want (in Super Mario 1, the base color is blue).
PIXEL EDITOR
To be able to create your game elements Player, Tiles, Monsters, ... you must first modify the tilesets, images (bmp) containing the graphics that will be used for your game elements (currently they are empty). To create / edit these tilesets, we will open the "Pixel Editor".
Using the Pixel Editor:
In the tree view, select the "Pixel Editor". This is where we will draw the graphics.
On the left we find our palettes (by default it automatically selects the first palette of the first group of palettes): the 4 (sub) palettes of colors of your "Main Palette" are displayed here. You can modify and assign other colors for your 4 sub-pallets from your main palette.
Note that any color change made on your palettes is valid throughout the project, not just in the Pixel Editor.
I choose colors for my sub-palettes with a right-click in each color box.
That's better. This will serve me for my Tiles (trees, stones, ...)
The tilesets for the NES are represented by 4 indexed colors (represented by black, red, green, blue, which I will call "RGB" throughout this tutorial), each character, monster, tree, stone, soil, ... must be registered with these 4 colors in the tileset BMP files, otherwise it will not work. We will have to draw/modify the colors of our images so that there are only these 4 colors.
For ease of use, the Pixel Editor allows you to switch between "RGB color" and "color of the selected palette" by clicking the buttons on the toolbar.
Now let's create our "Player":
Press the Open button ("Load a BMP file") and go to the "GameObjectTiles.bmp" file located in the "GraphicAssets \ <YourProjectName>" folder (in my case in "GraphicAssets \ JEU01").
This is the file for our Player. We will draw our hero there.
The Player is a game element made up of blocks of 8x8 pixels. Depending on your ideas, you can choose to make a hero that is 8x8 or 16x8 or 16x16 or ... these blocks will be assembled to create the Player.
But for now, we have to draw these blocks.
Display the grid by pressing the [8] button.
To start drawing, use the buttons located in the toolbar (pencil, rectangle, ...). Click on the button corresponding to the color with which you want to draw (always in the toolbar at the top!).
I advise you to leave the first empty block at the top left (black), then draw a small character on 1 or more blocks.
I draw a SMILEY in 16x16. I start with the "front view" for the moment (I'll come back later for the side views, when I do the animations).
The buttons switch from "RGB color" to "color of the selected palette".
That's it, you just have to click on the "Save" button (the first diskette on the left in the toolbar)
(note: it is possible to create your sprites in Paint, copy them and then insert them in the Pixeleditor. Pressing ctrl+shift+V will snap your image to the upper left corner in the grid below your cursor, so you don't have to postion your cursor precisely).
GAME OBJECT - PLAYER
Now in "Games Objects", select "Player".
Here is the Player element of the game. By default, it is not set.
Start by giving it the desired size. In my example, I choose 2 by 2 (blocks).
You can also choose the number of frames (to animate your Player). I leave at "1" because I have drawn only one frame for my player.
Then we choose 2 different palettes for the Player from the list of accessible palettes (the player, the monsters and the items share the same list of palettes).
We will select "MonsterPalette0" and "MonsterPalette1", which we will rename respectively "Player Pal 1" and "Player Pal 2".
Then choose some colors for our palettes (right click on each color box).
That's done.
If your tileset does not appear at the top right, it might not has refreshed yet ... Wait for 2 or 3 seconds, then in the tree, click elsewhere, for example on "Overworld", then come back on "Player" ... this should refresh (Sometimes you have to go back and forth 1 or 2 times :p) Now, in the central part indicate the Tileset to use for each block component of the Player, (by selecting in the window at the top to right).
You can also assign a sub-palette (different or the same) to each block.
Let's go to the properties of the Player:
Click on "Object Details", this dialog box is used to set the game objects (here the Player, but you will find the same interface for monsters or items to collect).
- The first tab "Animations" is used to set different animations depending on the type of movement.
We will leave as it is for the moment.
- In the "Details" tab, you must first check the "Player" type (because our element is a player), as well as "PERSISTENT" (this object will always be loaded in memory, no matter which screen of the game is currently active).
This is very important, if you do not check these 2 boxes, you will not see your Player when the game starts.
Here you can also enter his level of health "Health" (if 0, then your Player never dies)
You MUST set his speed of movement "Speed" as well as his "acceleration", in my example, I put a speed of "40" and an acceleration of "200". (I let you change these values later, if you want to test).
We do not touch the rest for now.
- The "Actions" tab, allows you to set up a sequence of actions, starting with action 0.
In the case of monsters, this allows to define a behavior, a sequence of actions that can be chained, their AI. However in the case of Player, it's a little different.
Here is the default behavior for the Adventure Module:
Action 0: This is the status of the still Player (when the player does not touch the move controls).
Action 1: This is the state of the player in motion
Action 2: This is the state of the player in attack
For each of these states, it is possible to define the animation to use, its speed, and if the state should change when it ends.
Note: As we use the Adventure Module, we need to set up action 2 so that at the end of the attack, he returns to the motionless state. For that:
Select step "2", then for "End of animation", choose "GoToFirst" and set an animation speed other than "0" (in our example, I will put "1").
- The "Bounding box" tab is used to define the Player's collision zone. Most of the time, just define a rectangle inside our Player.
Voilà our Player!
SCREEN - OVERWORLD
We will now indicate in which screen the Player will be when the game starts. A click on "Overworld" displays all the screens available to us for the game (in fact there is more, because we have access to 3 "banks" screens, as well as the Underworld).
Select a screen, for example screen 1.1 (we always start to count horizontally, then vertically ... and from 0. So here, select the screen at the intersection of the second column and the second line).
Double-click on it to open it. It's black, but that's normal (it actually displays the empty tile 0 which currently has the basic color, common to all palettes). We haven't placed any elements, because we haven't created any yet.
On the black screen, right-click in the middle and choose "Place Player". A small icon (a head) indicates the location of your Player.
HUD
Last step before you can test ...
Define the HUD:
The HUD is the part that is used to display information during the game (score, health, number of lives, ...). Although not all games display HUD, NESMaker needs this HUD set! (even if not used)
Select "HUD & Boxes", then in the first tab "HUD" define a zone for the HUD with the mouse.
For example, classic:
2 lines all the way up and click on the "HUD Area" button to define the area.
Then select the rest of the area, and click on the "Playable Area" button.
Attention!!! It is imperative that the HUD area is at least 2 lines wide (otherwise you'll encounter bugs or your project won't compile ...)
More detailed part about the HUD (including TEXT-BOX):
http://nesmakers.com/viewtopic.php?f=23&t=1332#p8582
EXPORT and TEST
We will try to launch the game to check that our Player is displayed:
In the "Test" menu, select "Export & Test" ... this will start the compilation of scripts and project settings and generate the ROM game.nes file. The command line window appears ...
And "Press a key to continue". (if any errors occur a message will be displayed with the details of the errors)
Normally, if you have followed this tutorial to the letter, the game should start, ignore the blank Start Screen and arrive directly on our screen (black) with our Player on it.
SCRIPTS FOR CONTROLS
One quickly realizes by playing with the gamepad (or the keyboard), that the Player does not move We will have to add scripts for movements, which will be triggered when the buttons are pressed.
NESMaker provides basic scripts allowing the movement of our player (they come with the "AdventureModule"). All scripts are in the "GameEngineData \ Routines \ UserScripts \ AdventureGame_Base" folder, which is stored in subfolders. We will use some of these scripts.
Back in NESMaker, unfold "Scripts" and select "Inputs scripts". Then in the list on the right, move to the "UserScripts \ BasicScripts \ AdventureGame_Base \ MovementScripts" folder and double-click on the "StartMovingPlayerDown.asm", "StartMovingPlayerLeft.asm", "StartMovingPlayerRight.asm", "StartMovingPlayerUp" files. asm "and" StopMovingPlayerDown.asm "," StopMovingPlayerLeft.asm "," StopMovingPlayerRight.asm "," StopMovingPlayerUp.asm ".
They should disappear from the window on the right and you should find them under "Input Scripts".
CONTROLS
Now go to "Input editor". This screen allows to assign scripts (input scripts) to button actions, depending on the current screen (Start Screen, in the game, end screen, ...)
In the "Game State" drop-down list, select "MainGame" (ie during the game). In "Target", select "NULL" (always choose NULL for all scripts, because currently this parameter is unused).
In "script to run", select the script "StartMovingPlayerDown.asm", select (with the mouse) the corresponding button on the gamepad (a red rectangle appears on the button), and click on the button "Press-Hold-Release. " (which corresponds to the state of the button: "pressed", "continously pressed", "released") so that it displays "Hold".
Then click "Add Script" to associate the motion script for moving down with pressing the down button of the gamepad while playing the game.
A new line appears in the list of assigned control commands.
Do the same for the other buttons (Left, Right, Top).
Then do the same for the "StopMovingPlayerxxx" scripts (so that the Player stops when you release the buttons) by choosing "Release" for the Press-Hold-Release button.
Voilà, it should look like this.
There is more to test ... Menu "Test> Export & Test". That's it, your player should be able to move freely.
Thank you dale_coop for your very helpful tutorial and all the work you put in it!
INTRO
I've prepared this basic tutorial to help those who did not understand everything in Joe's tutorial videos:
http://nesmakers.com/viewforum.php?f=25
This is just a supplement. Joe shows more details than what I explain here. I strongly advise you to watch the videos corresponding to each subject, to see how it functions.
I just cover the essentials, so that it works. I can come back to some points and clarify, if necessary.
STARTING A NEW PROJECT
Run NESMaker_xxx.exe. Then choose the menu "File> New". A dialog will open:
For the creation of your new project, you have the choice between several options:
- Use Existing Tilesets: your project will directly use the images in the "GraphicAssets" folder.
- Create Blank Tilesets: Your project will use blank images that will be placed in the "GraphicAssets\<YourProjectName>" folder. Images located directly in the "GraphicAssets" folder will not be affected by your changes.
- Create Default Tilesets: Your project will use a copy of the images from "GraphicAssets" that will be placed in the "GraphicAssets\<YourProjectName>" folder. Images located directly in the "GraphicAssets" folder will not be affected by your changes.
If you chose one of the last two options, you must specify a folder name to create the "GraphicAssets\<ProjectName>" folder.
I advise you to choose "Create Blank Tilesets", to start with blank images that you can modify at your leisure.
(For example, if you enter "GAME01", a "GAME01" folder will be created in the "GraphicAssets" folder, all the necessary blank images for your game will be located in the "GraphicAssets\GAME01" folder).
After starting your new project you should save it.
For this, choose "File>Save". Since your project has never been saved before, a dialog box appears asking you where to save the file of your project (the extension of a project is .MST). By convention, it is recommended to give the same name to your project file as to your previously created project folder.
I advise you to put it in the subfolder "Projects" located at the root of the NESMaker folder (and to make the habit of saving all your projects in it, it is easier to find them and to make backups) .
INITIAL SETTING OF THE PROJECT
The project is created, but it is "blank". We will now perform the basic setup before starting the creation of our "player" and assets for our screens.
Basic Project Settings: First, choose the "Project> Project Settings" menu. Here you'll find all the settings of the project, the scripts used by your project.
- In the "Project Labels" tab, you can modify the name of the different elements of your project, these are the elements used by the editor (HMI) only, no impact on the game engine itself. We will leave the default settings.
- The "Tilesets" tab displays all the image files used by your project. We will leave the default settings
- In the "Emulator" tab, you can specify another NES emulator than that native to the editor.
I advise you to download the FCEUX emulator, to unzip it somewhere and to fill the information in this tab as follows:
Emulator: <path to fceux.exe> (browse to the FCEUX installation folder and select fceux.exe).
Working Folder: path to the folder (and ROM) of the game that will be generated, click on the browse button and select the "game.nes" file located in the "GameEngineData" folder.
Parameters: "game.nes" (automatically filled in when you select the "Working Folder").
- Then the tab "Scripts Settings". Probably the most important tab as it indicates which script should be used by the game engine for the different elements: for example what script for physics or for collisions or for sprite moves, or for picked objects, ...
By default this tab does not contain many scripts:
It is possible to add / modify these scripts by hand (indicate the type of element, the associated script ...)
However for convenience, "MODULES" with pre-defined scripts have been (and will be) created, a module for adventure games, one for platform games, one for shooters, beat'em ups ...
The current version of NESMaker comes with the "Adventure Module" which allows to create an adventure game with top-down perspective in the style of games like Zelda 1 on NES (it also comes with a more basic module also top-down, but with fewer features).
Close the Project Settings window, we will now see how to import a module, to have all the necessary scripts for our first game.
Choose the "Project> Import Project Module" menu and select the module "Modules \ AdventureModule.MOD". A dialog box will give information your project will be changed by this import.
Once confirmed, if you return to consult your "Scripts Settings" in the project settings, you will find that there are many more!
PROJECT INFO
Now choose "Project> Info" in the window that opens and check the box "Skip start screen", but ONLY this, do not touch anything else.
For now, our game will have no Start Screen and will start directly in the game (the screen with the player in it). If you do not check this box, you will have a gray screen when you launch the game (which is actually the Start Screen without any setup).
PALETTES AND PALLET GROUPS
Now that the basic setup is done, we will be able to create our different game elements (Color Palettes, Player, Tiles to compose our screens, ...).
Setting Palettes:
Before we can start with screens and our Player, we need to create at least one color palette and a group of palettes.
The color palettes will be used when you create your different sprites (your Player, the monsters), and Tiles (the elements for your screens).
In the NESMaker tree, select "Palettes> Palette Groups", right-click and choose "New palette group".
A small [+] is now displayed at the Palette Groups level, allowing you to access your new palette group (you can give it another name if you want it, for example "Level 1 Palettes")
Then, unfold the "Palettes" element to display all the palettes that can be used (for the tiles).
Select the first palette and rename it to "Main Palette" for example, then right-click on this palette and assign it to the "Level 1 Palettes" palette group.
Each element of the game can be associated with 2 palettes (except the Tiles who have 4). Each palette contains 3 colors + 1 color common to all palettes, which is used for the transparency of the sprites and is also the basic color of the screens. By default, we use black as base color, but we can choose any color we want (in Super Mario 1, the base color is blue).
PIXEL EDITOR
To be able to create your game elements Player, Tiles, Monsters, ... you must first modify the tilesets, images (bmp) containing the graphics that will be used for your game elements (currently they are empty). To create / edit these tilesets, we will open the "Pixel Editor".
Using the Pixel Editor:
In the tree view, select the "Pixel Editor". This is where we will draw the graphics.
On the left we find our palettes (by default it automatically selects the first palette of the first group of palettes): the 4 (sub) palettes of colors of your "Main Palette" are displayed here. You can modify and assign other colors for your 4 sub-pallets from your main palette.
Note that any color change made on your palettes is valid throughout the project, not just in the Pixel Editor.
I choose colors for my sub-palettes with a right-click in each color box.
That's better. This will serve me for my Tiles (trees, stones, ...)
The tilesets for the NES are represented by 4 indexed colors (represented by black, red, green, blue, which I will call "RGB" throughout this tutorial), each character, monster, tree, stone, soil, ... must be registered with these 4 colors in the tileset BMP files, otherwise it will not work. We will have to draw/modify the colors of our images so that there are only these 4 colors.
For ease of use, the Pixel Editor allows you to switch between "RGB color" and "color of the selected palette" by clicking the buttons on the toolbar.
Now let's create our "Player":
Press the Open button ("Load a BMP file") and go to the "GameObjectTiles.bmp" file located in the "GraphicAssets \ <YourProjectName>" folder (in my case in "GraphicAssets \ JEU01").
This is the file for our Player. We will draw our hero there.
The Player is a game element made up of blocks of 8x8 pixels. Depending on your ideas, you can choose to make a hero that is 8x8 or 16x8 or 16x16 or ... these blocks will be assembled to create the Player.
But for now, we have to draw these blocks.
Display the grid by pressing the [8] button.
To start drawing, use the buttons located in the toolbar (pencil, rectangle, ...). Click on the button corresponding to the color with which you want to draw (always in the toolbar at the top!).
I advise you to leave the first empty block at the top left (black), then draw a small character on 1 or more blocks.
I draw a SMILEY in 16x16. I start with the "front view" for the moment (I'll come back later for the side views, when I do the animations).
The buttons switch from "RGB color" to "color of the selected palette".
That's it, you just have to click on the "Save" button (the first diskette on the left in the toolbar)
(note: it is possible to create your sprites in Paint, copy them and then insert them in the Pixeleditor. Pressing ctrl+shift+V will snap your image to the upper left corner in the grid below your cursor, so you don't have to postion your cursor precisely).
GAME OBJECT - PLAYER
Now in "Games Objects", select "Player".
Here is the Player element of the game. By default, it is not set.
Start by giving it the desired size. In my example, I choose 2 by 2 (blocks).
You can also choose the number of frames (to animate your Player). I leave at "1" because I have drawn only one frame for my player.
Then we choose 2 different palettes for the Player from the list of accessible palettes (the player, the monsters and the items share the same list of palettes).
We will select "MonsterPalette0" and "MonsterPalette1", which we will rename respectively "Player Pal 1" and "Player Pal 2".
Then choose some colors for our palettes (right click on each color box).
That's done.
If your tileset does not appear at the top right, it might not has refreshed yet ... Wait for 2 or 3 seconds, then in the tree, click elsewhere, for example on "Overworld", then come back on "Player" ... this should refresh (Sometimes you have to go back and forth 1 or 2 times :p) Now, in the central part indicate the Tileset to use for each block component of the Player, (by selecting in the window at the top to right).
You can also assign a sub-palette (different or the same) to each block.
Let's go to the properties of the Player:
Click on "Object Details", this dialog box is used to set the game objects (here the Player, but you will find the same interface for monsters or items to collect).
- The first tab "Animations" is used to set different animations depending on the type of movement.
We will leave as it is for the moment.
- In the "Details" tab, you must first check the "Player" type (because our element is a player), as well as "PERSISTENT" (this object will always be loaded in memory, no matter which screen of the game is currently active).
This is very important, if you do not check these 2 boxes, you will not see your Player when the game starts.
Here you can also enter his level of health "Health" (if 0, then your Player never dies)
You MUST set his speed of movement "Speed" as well as his "acceleration", in my example, I put a speed of "40" and an acceleration of "200". (I let you change these values later, if you want to test).
We do not touch the rest for now.
- The "Actions" tab, allows you to set up a sequence of actions, starting with action 0.
In the case of monsters, this allows to define a behavior, a sequence of actions that can be chained, their AI. However in the case of Player, it's a little different.
Here is the default behavior for the Adventure Module:
Action 0: This is the status of the still Player (when the player does not touch the move controls).
Action 1: This is the state of the player in motion
Action 2: This is the state of the player in attack
For each of these states, it is possible to define the animation to use, its speed, and if the state should change when it ends.
Note: As we use the Adventure Module, we need to set up action 2 so that at the end of the attack, he returns to the motionless state. For that:
Select step "2", then for "End of animation", choose "GoToFirst" and set an animation speed other than "0" (in our example, I will put "1").
- The "Bounding box" tab is used to define the Player's collision zone. Most of the time, just define a rectangle inside our Player.
Voilà our Player!
SCREEN - OVERWORLD
We will now indicate in which screen the Player will be when the game starts. A click on "Overworld" displays all the screens available to us for the game (in fact there is more, because we have access to 3 "banks" screens, as well as the Underworld).
Select a screen, for example screen 1.1 (we always start to count horizontally, then vertically ... and from 0. So here, select the screen at the intersection of the second column and the second line).
Double-click on it to open it. It's black, but that's normal (it actually displays the empty tile 0 which currently has the basic color, common to all palettes). We haven't placed any elements, because we haven't created any yet.
On the black screen, right-click in the middle and choose "Place Player". A small icon (a head) indicates the location of your Player.
HUD
Last step before you can test ...
Define the HUD:
The HUD is the part that is used to display information during the game (score, health, number of lives, ...). Although not all games display HUD, NESMaker needs this HUD set! (even if not used)
Select "HUD & Boxes", then in the first tab "HUD" define a zone for the HUD with the mouse.
For example, classic:
2 lines all the way up and click on the "HUD Area" button to define the area.
Then select the rest of the area, and click on the "Playable Area" button.
Attention!!! It is imperative that the HUD area is at least 2 lines wide (otherwise you'll encounter bugs or your project won't compile ...)
More detailed part about the HUD (including TEXT-BOX):
http://nesmakers.com/viewtopic.php?f=23&t=1332#p8582
EXPORT and TEST
We will try to launch the game to check that our Player is displayed:
In the "Test" menu, select "Export & Test" ... this will start the compilation of scripts and project settings and generate the ROM game.nes file. The command line window appears ...
And "Press a key to continue". (if any errors occur a message will be displayed with the details of the errors)
Normally, if you have followed this tutorial to the letter, the game should start, ignore the blank Start Screen and arrive directly on our screen (black) with our Player on it.
SCRIPTS FOR CONTROLS
One quickly realizes by playing with the gamepad (or the keyboard), that the Player does not move We will have to add scripts for movements, which will be triggered when the buttons are pressed.
NESMaker provides basic scripts allowing the movement of our player (they come with the "AdventureModule"). All scripts are in the "GameEngineData \ Routines \ UserScripts \ AdventureGame_Base" folder, which is stored in subfolders. We will use some of these scripts.
Back in NESMaker, unfold "Scripts" and select "Inputs scripts". Then in the list on the right, move to the "UserScripts \ BasicScripts \ AdventureGame_Base \ MovementScripts" folder and double-click on the "StartMovingPlayerDown.asm", "StartMovingPlayerLeft.asm", "StartMovingPlayerRight.asm", "StartMovingPlayerUp" files. asm "and" StopMovingPlayerDown.asm "," StopMovingPlayerLeft.asm "," StopMovingPlayerRight.asm "," StopMovingPlayerUp.asm ".
They should disappear from the window on the right and you should find them under "Input Scripts".
CONTROLS
Now go to "Input editor". This screen allows to assign scripts (input scripts) to button actions, depending on the current screen (Start Screen, in the game, end screen, ...)
In the "Game State" drop-down list, select "MainGame" (ie during the game). In "Target", select "NULL" (always choose NULL for all scripts, because currently this parameter is unused).
In "script to run", select the script "StartMovingPlayerDown.asm", select (with the mouse) the corresponding button on the gamepad (a red rectangle appears on the button), and click on the button "Press-Hold-Release. " (which corresponds to the state of the button: "pressed", "continously pressed", "released") so that it displays "Hold".
Then click "Add Script" to associate the motion script for moving down with pressing the down button of the gamepad while playing the game.
A new line appears in the list of assigned control commands.
Do the same for the other buttons (Left, Right, Top).
Then do the same for the "StopMovingPlayerxxx" scripts (so that the Player stops when you release the buttons) by choosing "Release" for the Press-Hold-Release button.
Voilà, it should look like this.
There is more to test ... Menu "Test> Export & Test". That's it, your player should be able to move freely.