[4.5.9] Adventure & Arcade Platformer Combo Module

Bucket Mouse

Active member
AMAZING.jpg

With this amazing combo module you can make games that COMBINE the Adventure and Arcade Platformer physics to make dual gameplay styles possible!

ali63.pngali64.png

Both these images are from the same game!

It should be ready for use as I have used it in two publicly available games -- my Byte-Off demo, "Dodgeball RPG," and the sixth Allison of Astra game, "Margarita Mix." If you'd like to show your appreciation, head on over to the Allison of Astra itch.io page and snatch that game, or any of the others, for just $5.

(Keep in mind: it blends overhead and side-view gameplay, but it doesn't scroll. Scrolling is not a part of the Arcade Platformer module -- and I have not personally messed with the scrolling modules yet. Someone did manage to combine Metrovania and Adventure in a recent Byte-Off game, so it CAN be done...but I wouldn't know how just yet. Ask CrazyGroupTrio.)

Does this module take up space in the static bank? Of course it does....and that's why the "Move doLoadScreen to Bank 16" alterations by JamesNES are INCLUDED in this mod. You do not have to do it yourself! Bank 1F will have a LOT of space now.

First, download the zip file attached to this post. Then go to wherever the NESmaker folders are on your computer. Take the MOD_ArcadeAdventure file and put it in the Modules folder. Then take the MOD_ArcadeAdventure folder and put it in GameEngineData/Routines/Base4.5/Game. This is where all the other module information is stored.

Then, start a new project, select Create Blank Tilesets and use ArcadeAdventure.MOD as your starting module. Name the folder whatever you want.

mod1.jpg

When building your Player, keep in mind the needs of both modules. Give them four directions like in Adventure, but make their third Action Step for climbing, like in Platformer. Make sure they have a jump speed!

mod2.jpg

When installing the inputs, do so as normal BUT use the included alternate inputs in the zip file for individual directions and jumping. The Platformer screens will have different needs than the Adventure screens -- for example, the Jump inputs are written to not function if the Platform Screen check box is not on. Up and Down are written as disabled for Platformer, except when the player is on a ladder tile.

Speaking of the ladder tile, it's hardcoded into the NESMaker engine as #10, or #$0A. Be careful not to put anything there that might make sense in Adventure but screw things up in Platformer. Or, if you do need the tile to do something in Adventure, render it inoperable in Platformer by using this at the top of the tile script:

LDA ScreenFlags01
AND #%00000001
BEQ +
RTS
+

This also has an altered Melee Weapon input script that disables the weapon on Platformer screens. There might be a way to use melee weapons in the Platfomer module eventually but it's a big pain right now -- the weapon is not programmed to move with the character and observe gravity so it will hang in midair. Fixing this would take a while and is not something I want to bother with at the moment. But maybe you can figure it out yourself. Share with the rest of us if you do.

mod3.jpg

Now when you make your screens, turning on gravity is as easy as clicking the "Platform Physics" check box that is now under Screen Flags 2 in the Screen Details. If it's on, sprites observe gravity. If it's off, they don't.

IMPORTANT: Never mix the two modes in the same playable area -- keep the Platformer and Adventure areas separate from each other. The issue it creates is minor, but unfixable (and ends your game if it happens). Walking offscreen from an unchecked screen to a checked one will normally not cause any issue EXCEPT if the player is in mid-jump. If the player jumps offscreen and goes to an Adventure screen you wil lose control of the player sprite. Since you can't control what the player does it's best to avoid it altogether. WARPS between gravity and non-gravity areas are OK.
 

Attachments

  • ArcadeAdventure.zip
    36.9 KB · Views: 35

acaudel

Member
I installed it like you explained. However, I am confused about something. After I draw background tiles like usual in the pixel editor, when I click on Overworld then double-click on a screen, I don't see any of the stuff I've drawn. This probably has to do with the "Move doLoadScreen to Bank 16" part of it.

You say, "Bank 1F will have a LOT of space now." I'm not sure what Bank 1F means.
 

Bucket Mouse

Active member
I installed it like you explained. However, I am confused about something. After I draw background tiles like usual in the pixel editor, when I click on Overworld then double-click on a screen, I don't see any of the stuff I've drawn. This probably has to do with the "Move doLoadScreen to Bank 16" part of it.

You say, "Bank 1F will have a LOT of space now." I'm not sure what Bank 1F means.
Bank 1F is the static bank.

The only reason you wouldn't be seeing your tiles is if you don't have the right background BMP assigned to the screen, or you don't have any colors assigned to it. Moving doLoadScreen affects nothing about the GUI.
 

Bucket Mouse

Active member
Will this work with combining Arcade & L2R Platformer modules?
Not sure what you mean by that. This is explicitly written to combine Adventure and Arcade. Combining Arcade and L2R is something different....and I don't know if it's been done.

It doesn't sound that hard though; both are platform modules, with the one difference being ladders. I'd start with the L2R module and then work the ladder code into it.
 

baardbi

Well-known member
i am curious, might this also be possible to setup using the different game states? or has anyone tried this out with a metroidvania module?
Yes. I experimented with this using metrovania and the shooter module.

 
hmm, unfortunately, I have so much going on in my project with custom scripts and such, does anyone know how to edit the game states? namely, have a no gravity state?
 

dale_coop

Moderator
Staff member
hmm, unfortunately, I have so much going on in my project with custom scripts and such, does anyone know how to edit the game states? namely, have a no gravity state?
What you mean exacly by a no gravity game state? If you have a "no gravity" game state for certains screens in your game, just set that "no gravity" screen flag on those screens. Or am I missing something here?
 

baardbi

Well-known member
hmm, unfortunately, I have so much going on in my project with custom scripts and such, does anyone know how to edit the game states? namely, have a no gravity state?
I used different game states in my example, but those are only for separating input scripts in the Input Editor. For my non-gravity screens I did like dale_coop mentioned. I used ignore gravity on the objects (action steps) on those screens.
 
Top Bottom