Modular Game Engine

Before starting to read, please note that I'm NOT making a "M.G.E" (Modular Game Engine) as I'm not a programmer, this is just the plan for how I'd like one to be if I were to make one.

A Modular Game Engine is an idea that sounds like a dream in theory, but making it become reality might be a nightmare, specially when checking for bugs and testing performance. See Getting Started below before anything else for more details about this versatile game maker.

While MGE has default settings that are easy to use and intuitive, all tools from the software are fully customizable, including its interface, so the user can go with what is better suited for the type of game planned to be created by customizing the MGE via plugins. To put it simple, envision that each content (like tools and plugins) is like a block in Minecraft, which can be placed anywhere in a "core" (MGE). To customize the interface, select the "lock" option and turn it off (it is always on by default) so the mouse will move the tools instead of selecting them, except for the top bar (with File, Edit, Help, etc) so the user can lock the tools again. It also has the following options (placed a bit away from the lock to avoid accidents): "Reset interface to default settings", "Save current interface settings", and "Load custom interface settings".

When the MGE is started, the first thing it will do is ask if the game maker wants to start a new game from scratch of use a template. If the later is selected, the engine will show one menu with some questions to help with the development. Those are mainly to assist the maker by loading tools better suited for the planned game, but they can be ignored if the maker wishes to start completely from scratch or with custom tools created by the maker.

To save space, only the basic is loaded when the engine is started, loading additional ones when they are activated or when creating a base template. Optionally, the maker can also choose to not install (or remove installed ones) templates, tools, and plugins that aren't needed for the planned game, installing them separatedly later if needed.

Once the template is made (or not), the maker can test the game anytime. If the maker things the game is ready, it is first saved as a "beta", uncompiled game. While in beta, changes can still be done for improvements or to fix bugs. Play the game and activate its "The End" flag/switch without using the Debug Menu and it will be considered complete, the maker being given the option to compile it to make a finished game. While not recommended, the game can also be finished sooner by considering it complete without doing test, in case the maker wants to do "endless" games like Pac-Man, Dig Dug, Tetris, ...

All options below are located in "MGE/Settings".

Graphics and Gameplay

2D - Uses 2D graphics and/or gameplay. Will not load some of the 3D options to save space, but these can be activated later if needed. Examples: Mega Man, Metroid, Castlevania, ...

2.5D - The default option, but the heaviest of the three. Can use either or both 2D and 3D graphics. Gameplay can also be either or both, like the Sonic the Hedgehog series (from the Genesis bonus stages to Sonic Generations) and Mega Man X8.

3D - For games focused on 3D gameplay. Will not load some of the 2D options to save space, but these can be activated later if needed. Examples: Mega Man Legends, God of War, ...

M.G.E.'s default graphics are in 3D with low polygons, similar to PS1 and N64 games, or at very best PS2 and NGC graphics. But it has capacity to support any graphical quality (including modern PCs and above PS4 and Nintendo Switch) if the maker decides to do so, but be mindful that the better the graphics, the more memory will be needed. Also has full support for 2D graphics, the templates in the M.G.E. being similar to "16-bits" graphics, although it may not always stick to the predefinition, varying from "2-bits" (black & white) to "32-bits".

Camera Resolution

The game's default camera size, better suited for the game's graphics. The starting size is 800 x 600 pixels. Bold selections are always available for players in a finished game's options, alongside the maker's default selection. Additional ones are only available if the maker decides to include it. If one of the sides from the default resolution is below 550, the finished game will include the option to increase the screen size x2 x3, and x4, and the maker can choose one to be active by default.

(Width X Height)

32 x 32

96 × 64

160 × 144

160 × 152

220 × 140

240 x 160

256 × 212

260 x 260

300 x 220

320 x 240

480 × 270

480 × 640

500 x 500

720 x 500

800 x 480

800 x 600

960 × 550

1024 x 800

1280 x 800

Custom (min size is 20, max size is 4800, max difference between the two values is 500)

Camera Position

The primary camera style set as the default for the maps/stages. This can be changed anytime during development, as well as expanded as multiple camera views are supported, but be mindful that it may not work well for finished 2D games unless different maps use different cameras (examples: Sword of Vermillion and Ax Battler: A Legend of Golden Axe). The maps are always considered 3D by the engine, even if they are completely in 2D, so changes can be done if the maker plans to expand or change the game's graphics, even in "simple" ways like the arenas from the GBA game Sonic Battle.

Partial Side-view 2 - A partial side view common in beat-em-ups like Final Fight

Top-view - Common in old RPGs and in games like The Legend of Zelda and Goofy Troop.

Isometric view - Common in strategy games and in games like Mega Man Battle Network and Namco × Capcom. Camera rotation can be turned on/off, being off by default as it would not work well in 2D maps.

First-person view - Common in shooters.

Third-person view - Common in racing games and in games like Mega Man Legends and Crash Bandicoot.

Note that when First or Third Person View is selected, the other will also be made available for the maker for testing purposes, but the selected one will be the default and the other will not be available for players unless the maker makes both available in the game's options.

Position/Angle - The position of the camera depends of the player's position, like the early games from the Resident Evil series.

Other - Selected by the maker.

Free - The camera will not be fixed. Not recommended.

Camera Movement

Similar to Camera Position, but those can also be changed both during development and in finished games (except for "Free" not being included in the options menu from finished games by default, but it can be added by the maker, and the others can also be removed).

Active - The camera will always be in the set position. In 3D view, it adjusts itself to a better position if something big (like walls) is in the way, like changing from a top view or front view. Example: Metal Gear Solid.

Passive - Has a 2 second delay (by default, can be adjusted to 1-15 sec.) to adjust to the set camera position. Example: Spyro the Dragon.

Control - Movemented by the player, after 10 seconds (by default, time can be adjusted between 1-60 sec.) without input it will slowly return to the set camera position. If selected, by default the camera is adjusted by holding one button and moving the arrows, but the maker can change the default controls and players can also change it in the options menu. Example: Super Mario 64.

Free - Movemented by the player, doesn't change from the last input. Examples include strategy games like Warcraft 2.

Genre

This will make the engine load tools better suited to make the selected type of game. More than one option can be selected. By default the engine has "Action/Adventure", "Fighting", "RPG", "Racing/Vehicle", and "Others" available, but as a modular tool, it has support for extra tools that can be created or customized by makers.

Fighting - Enables Fighting game elements like combos, special moves by combinations, and super gauges.

RPG - Enables RPG elements for games like Front Mission Series: Gun Hazard and Castlevania: Symphony of the Night.

Racing/Vehicle - For minigames or a standalone racing game. By default, the option to get in/out of vehicles is enabled, but it can be disabled and with a click vehicles can be considered characters on their own. Can be used for "GTA clones" like the PS1 games Batman & Robin and Driver 2, vehicular combats like The Speed Rumbler and Twisted Metal, and races like Mario Kart and Mega Man: Battle & Chase. Examples of content included are additional vehicle templates and a Speedometer interface.

Maze - Adds labyrinth mechanics for 2D games like Phantasy Star and Sword of Vermilion. Doesn't appear for 2.5D and 3D.

Puzzle - Includes puzzle tools for games like Tetris, Sokoban, Lemmings, ... or minigames.

Quiz - Includes quiz options for games like Adventure Quiz: Capcom World 2 or for minigames like the mayor in Mega Man Legends 2. By default questions are selected at random during gameplay, with only 50 available from the start, but with space for 99999 questions. They are divided by difficulty and category. Also has support for a time limit.

Others - Point n' click, adventure, educational, rhythm, ...

The ones below are not planned to be included by default, but as a modular tool, they can be included later.

Sports - The options available allows to make them in a way, like the Inazuma Eleven game series and Mega Man's Soccer, but it could be specialized for specific sports.

Simulation - Advanced option that may not (or are quite challenging to) work well with other genres.

If RPG and/or Strategy are enabled, the following options will appear:

Time

Turn-based - Take your time, or not. It has the option to have a timer to the end of the turn, it is off by default, but it is better to be on for multiplayer games, or if one wants a harder game.

Real-time - Real-time strategy and Action RPGs.

"Real-Turn" - Turn-based for a time

Tactical - Tactical RPGs like Final Fantasy Tactics.

RPG+ - Will load more RPG elements, like a battle menu and a bigger character rooster.

Strategy+ - Loads more strategy elements, like the option to create buildings for games like Warcraft II and Populous: The Beginning.

Player Movement

Rail - Don't choose this. The player can only move in a fixed path set by the maker.

Fixed - Only a single line can be accessed (with more accessed with jumps or ladders), like most 2D platformers and fighting games.

Free - For 2D top-view games and 3D games. Will not be available depending of the combinations of the other questions.

Character Size

This sets the default distance between the player's character and the camera, which can be adjusted later. This option doesn't appear if First Person Mode View was selected. For games selected to be in 2D, this will load a few default graphics to be used as template for most characters and debugging: 5 humanoid characters, 5 monsters, 3 vehicles (land, air, and sea), and 2 small maps.