Modules


Modules in NESmaker are pre-made Settings and code bases, specifically made for a certain type of game. By default there are 7 different modules. There is an eight module listed in the …\BASE_4_5\Game folder called MOD_RPGBase. Unfortunately this is not implemented in NESmaker and can therefore be ignored. There is also an empty module that will allow us to program most of the code by ourselves. This is not recommended unless you are very familiar with 6502 Assembly programming and know exactly how the NES works.

You can read more about the different modules here.

There are two parts to a NESmaker module. The first is the module file itself which can be found in this folder:

…\NESmaker_4_5_x\Modules

  • Adventure_BASE_456.MOD
  • ArcadePlatformer_BASE_456.MOD
  • Brawler_BASE_456.MOD
  • Empty_v_4_5.MOD
  • hShooter_BASE_456.MOD
  • LR_Platformer_BASE_456.MOD
  • Maze_BASE_456.MOD
  • MetroVania_BASE_456.MOD

These .MOD files contains everything we need for a NESmaker game setup. This includes things like Project Labels, Script Settings, User Variables, User Constants and Object Variables.

In addition to the .MOD file there is also a folder that contains module specific code. This folder can be found here:

…\NESmaker_4_5_x\GameEngineData\Routines\BASE_4_5\Game

  • MOD_AdventureBase
  • MOD_ArcadePlatformerBase
  • MOD_Brawlerbase
  • MOD_MazeBase
  • MOD_MetroidVania
  • MOD_PlatformerBase
  • MOD_RPGBase
  • MOD_shooter

These folders usually contains subfolders like this:

PS! This can vary from module to module.

  • AI – AI-scripts to control what monster (or other) objects can do
  • Common – Scripts for player hurt, monster hurt and draw sprite HUD
  • Game – Special scripts like extraScreenLoad, ExtraTables, PostScreenLoad etc.
  • Inputs – Specific input scripts for this module
  • Subroutines – Subroutine scripts specific for this module
  • Tiles – Tile type scripts specific for this module

This can get a bit confusing since some modules have a mixed setup. An example of this is the MetroVania module which has its own files and folders, but it also uses files from the LR Platformer module, like for example doHandlePhysics and doDrawSprites. To see what files are used by the module you are using you must check the Project Settings – Script Settings window.

You can copy a module, modify it and export it to make your own module for later use. To see more information about import and export of modules see this section.