The NESmaker UI has quite a lot of screens and windows to offer. I’ll try to highlight every NESmaker UI element that’s there. First I’ll show you the main screen: the screen you’ll see after loading an existing or starting a new NESmaker project.
Please note that this site is based on NESMaker 4.5.9, but will probably apply to every 4.5.x version of NESmaker. If you’re using NESmaker version 4.1.5 or older, UI elements may function differently or appear in different places.
When you open NESmaker and create a new project, or load an existing one, you’ll be greeted with the above screen. This is your starting point when using NESmaker. There basically are three parts, which I will explain a bit more later on:
- Menu bar
- Toolbar
- Project navigation
The menu bar
The NESmaker menu bar has four items. The first one is File and has functions related to the current project’s files. You can create a new project here, load another existing project (Open…), or save the current project with the current or a different (Save as…) filename. These functions are pretty basic and well known to anyone familiar with Windows.
There are two more menu items in the File menu, which may need more explanation. The first one is Export. When creating a game with NESmaker, the software exports graphics, game data and other configurable elements to codes, that can be compiled into a NES game. These codes are saved by default inside the folder where NESmaker is installed. You can change the location where these codes are exported with the Export menu item. Click Export, select or create the folder where you want to export the code files and click Save. You’ll find exported data in the new folder.
The other menu item in the File menu is Backup Script Folder. This function will create a ZipScript of the folder you specify. This allows you to easily backup assembly scripts you’ve written for your game. This probably might come in handy when you’re collaborating on a project and you’d like to exchange project scripts with someone, although I have never used this function myself before. To import a ZipScript, use the Run Script Module in the Project menu, which is the next module I’ll explain.
The second menu item is Project and contains configurable settings for your project. The Info menu item has a few project settings, most of which won’t work right awy though. Especially at first you won’t really need or use this screen. The Screen Groups menu item lets you set the screen group names. I have never used this either, in fact I’m not even sure if these are used anywhere else within the software. Project Settings lets you configure a lot of settings for your project, which I will further get into in another post.
You can import an existing module into your project. A module is kinda like a standard set of scripts and settings that together define the genre of your game. Usually you choose a module when creating a new project and stick to it, but if you want to replace a module with an existing one, you could use the Import Project Module menu item for that. Also, if you’ve created a NESmaker game with a unique, new type of gameplay that you’d like to be able to use as a module, you can Export Project Module as well. The final item in the Project menu, Run Project Script, lets you import a backupped ZipScript into your NESmaker project, as mentioned before.
The third menu item, Test, has four items which have to do with creating and testing the game; either as script files, a ROM file or on a cartridge. Export creates the assembly script files and pouts those in the GameData folder, so you can assemble them and create the ROM file yourself if you want to. You don’t really need this function though; the Export & Test function does the same, and more. It also runs the asm6 assembler, creates a ROM file of the game and – if no compilation errors occur – saves it as game.nes in the GameEngineData folder. If the game has compiled successfully, NESmaker also starts up the configured emulator (which is Mesen by default) so you can playtest your game right away. Retest Last Export opens the emulator right away and loads the last ROM NESmaker exported. Finally, Make Cart also exports the ROM file, but then loads in another script that tries to flash your game on an actual cartridge. You’ll need the INL flasher and a PCB cart for this though.
The last menu item is Help, which holds a few resources you can consult for help. The first item, Help, loads a local web page containing some basic information about NESmaker, its UI and its functionalities and possibilities. Check For Updates seems to be outdated functions from 4.1.5 which no longer work in 4.5.x. Check For New Languages lets you search for and download new language packs for NESmaker, although I’m not really sure if this even works still. Finally, About shows you a screen with basic info about your NESmaker installation, like who created it and which version you are using.
The toolbar
The toolbar is a set of buttons, located under the menu bar. You might look at these as quick links, with functions you might use more often than others. Here are the buttons:
These buttons translate one-to-one to the menu bar items: the first six toolbar buttons have the same functions as the file menu (New project, Open project, Save project with the current name, Save project under a different name, Export ASM to a different folder, and Create a ZipScript). The next six buttons are the Project menu (Info, Screen Groups, Project Groups, Import Project Module, Export Project Module, and Run Project Script) and the last four buttons are the Test menu (Export ASM to the current folder, Export and test the ROM file, Test the latest exported ROM file, and Export and make the cartridge).
The Project Navigation
Lastly, I’d like to glance over the Project Navigation. This is the column on the left of the main screen. This shows a tree view of your NESmaker project, containing all the assets it uses. There are some other tools hidden in here as well. Each of the items in this navigation will be explained in more detail later, as each section deserves its own post.
Overworld loads an overview of all game screens that exist in the overworld of the game.
Underworld does the same, but for the underworld screens of the game.
HUD & Boxes allows you to configure the sizes, tiles, assets and elements for various areas of the game, like the heads up display (HUD) and the textbox area.
With All Graphics you can create and manage graphical game assets. These are combinations of characters and palettes, so you can place game assets easier across screens. In my opinion though, you won’t really need this section.
Palettes shows you a list of all background palettes and palette groups used in your game. This might come in handy if you want to find a palette or change a color quickly. I found it easier to create and set the correct palettes when editing objects instead of in its own palette section.
Game Objects show you a list of sixteen general game objects, like the player object and various weapons and pickups. You can edit each object by adding graphics, animations and game reactions.
Monster Graphic Banks contain two banks of monster objects and groups. These are objects like the game objects mentioned above, but (by default) for enemies. Although in the end that’s all up to how you implement things.
Monster Palettes are like Palettes, but for sprites instead of backgrounds.
Sound shows a list of imported music and sound effects, and allows you to import new sounds.
Text opens the screen where you can manage all texts used in the text boxes of your game; Text Groups allows you to combine those texts in groups of four.
Scripts is where you can manage both input scripts and generally defined scripts. These scripts are also editable within the NESmaker UI, although you might find it easier to use your own code editor of preference.
Input scripts are executed on pressing, holding or releasing certain buttons on certain game states. The Input Editor is where you can configure or link these scripts and controller inputs.
The CHR Viewer is a graphics viewer for .chr files (the data file format used by the NES to store graphics). You can load .chr files and see what they look like with certain palettes. YOu can also export them to a .bmp file. You won’t bee seing this screen too often though.
The Pixel Editor is where you can add, edit and save your game’s graphic files. You’ll spend a lot more time here than in the aforementioned CHR viewer.
Finally, the Plugins option seems to be deprecated in 4.5.x, or it has some hidden functionality I haven’t found yet. Either way it means you’ll probably won’t be using this any time.
Phew! For a “quick glance,” this article got a lot longer than I anticipated. Next up, I’ll dive into each screen with a little more detail.