Various functionality changes

Description: Have any suggestions or new ideas for SMBX-38A? This is a place for you. Good suggestions may appear in future versions of SMBX-38A.
Moderators: Lx Xzit, Yoshi021, 5438A38A, Semi-moderatos, Moderators

P-Switch
Topic author, Nice citizen
Nice citizen
Avatar
P-Switch
Topic author, Nice citizen
Nice citizen
Reputation: -5
Posts: 18
Joined: 25 Jul 2018
Location: Super Mario World

Post #1by P-Switch » 28 Dec 2019, 0:59

This is a trio of various changes I'd like to see implemented at some point, that correct some of the not-exact enemy behavior in some SMW enemies.

1.
The Yellow Koopa as of SMBX 1.4.5 Patch 26 notably just acts like a regular Red Koopa, instead of what the actual SMW behavior is. In Super Mario World, the Koopa has a standard behavior of falling off cliffs, but has a internal counter that goes up to 255, and starts at 0. This counter will increment every frame, and every 128 frames, the Koopa will change direction to face Mario, and the timer resets to 0 if the timer tries to go past 255. There is some Random Number Generation (RNG) related to this, that makes a offset to any value from 0 to 127. This value is determined when the enemy is spawned due to RNG, and it is added to the timer every time it resets to 0. This makes it so that whenever the counter rolls over back to 0, the time that the Koopa will turn at a different time than every even-numbered turn. This behavior only functions if the Koopa is either on the ground, or if it is a Jumping Para-Koopa. If it is in another flying state, such as chasing, acting as a lakitu, or simply flying left-to-right, this behavior won't apply. You could make it function if the Koopa is acting in the "Flying Forward" state, so it changes flying direction. If the Koopa is jumping, then it will change direction when it lands, not in mid-air. This behavior also does apply to the Yellow Beach Koopa (The one without a Shell).

2.
As far as I know, the Dino Torches don't act by RNG, as they should. In SMW, RNG determines which direction they will shoot, up or forward.

3.
Cheep-Cheeps instead should collide with the ground if they're out of water, instead of just falling through. Cheep-Cheeps out of water after colliding with solid non-platform ground (Cheep-Cheeps pass straight through platforms, it needs to be a solid tile) in SMW will flop around on the ground with a different flopping animation and bounce at random heights from 16 to 64 pixels high (The height is randomly decided by RNG). The out-of-water Cheep-Cheep will also have a small amount of left or right momentum that changes direction randomly determined by RNG as well. If the Cheep-Cheep somehow re-enters water, it will return to it's previous behavior that was set previously. If Mario passes the Cheep-Cheep while it's out of water and collides with it, Mario will play a kicking animation and the Cheep-Cheep will die.

4.
The Winged Galoomba from SMW also has RNG-Based timing. After each large jump, there should be a random determined number to say how long until the next jump. The minimum time is 80 frames, and the maximum addition to that 80 is 63.
Why are you looking at my signature, anyway? There's nothing of importance here.

Void M
Bat
Bat
Avatar
Void M
Bat
Bat
Age: 18
Reputation: 88
Posts: 270
Joined: 18 Apr 2014
Location: [REDACTED]

Post #2by Void » 5 Jan 2020, 9:41

P-Switch wrote:This is a trio of various changes I'd like to see implemented at some point, that correct some of the not-exact enemy behavior in some SMW enemies.

1.
The Yellow Koopa as of SMBX 1.4.5 Patch 26 notably just acts like a regular Red Koopa, instead of what the actual SMW behavior is. In Super Mario World, the Koopa has a standard behavior of falling off cliffs, but has a internal counter that goes up to 255, and starts at 0. This counter will increment every frame, and every 128 frames, the Koopa will change direction to face Mario, and the timer resets to 0 if the timer tries to go past 255. There is some Random Number Generation (RNG) related to this, that makes a offset to any value from 0 to 127. This value is determined when the enemy is spawned due to RNG, and it is added to the timer every time it resets to 0. This makes it so that whenever the counter rolls over back to 0, the time that the Koopa will turn at a different time than every even-numbered turn. This behavior only functions if the Koopa is either on the ground, or if it is a Jumping Para-Koopa. If it is in another flying state, such as chasing, acting as a lakitu, or simply flying left-to-right, this behavior won't apply. You could make it function if the Koopa is acting in the "Flying Forward" state, so it changes flying direction. If the Koopa is jumping, then it will change direction when it lands, not in mid-air. This behavior also does apply to the Yellow Beach Koopa (The one without a Shell).

2.
As far as I know, the Dino Torches don't act by RNG, as they should. In SMW, RNG determines which direction they will shoot, up or forward.

3.
Cheep-Cheeps instead should collide with the ground if they're out of water, instead of just falling through. Cheep-Cheeps out of water after colliding with solid non-platform ground (Cheep-Cheeps pass straight through platforms, it needs to be a solid tile) in SMW will flop around on the ground with a different flopping animation and bounce at random heights from 16 to 64 pixels high (The height is randomly decided by RNG). The out-of-water Cheep-Cheep will also have a small amount of left or right momentum that changes direction randomly determined by RNG as well. If the Cheep-Cheep somehow re-enters water, it will return to it's previous behavior that was set previously. If Mario passes the Cheep-Cheep while it's out of water and collides with it, Mario will play a kicking animation and the Cheep-Cheep will die.

4.
The Winged Galoomba from SMW also has RNG-Based timing. After each large jump, there should be a random determined number to say how long until the next jump. The minimum time is 80 frames, and the maximum addition to that 80 is 63.


1. Unfortunately I've already tried suggesting the yellow Koopa fix. I've gotten an accurate Yellow Koopa script in the works, but the only problem is that I need to find a way to have it dodge shells and other objects thrown at it.

2. Dino Torches are indeed NOT RNG based. I believe RNG is only used for the direction they shoot.

3. I agree with the Cheep Cheep suggestion. However, I don't think 38A would add a flopping animation in a patch, based on how he's released patches before, so although the flopping portion would be possible, I don't think he'll make or use a new animation for it.

4. Wow, you're pretty good when it comes to analyzing enemy AIs. I don't remember it ever having RNG based timing, but I feel it should have it, so it doesn't feel like a carbon copy of the SMB3 Red Paragoomba, which uses almost the same AI.
Join the SMBX 38a Discord Server!
Image

sweep a leaf sweep away a troubles

P-Switch
Topic author, Nice citizen
Nice citizen
Avatar
P-Switch
Topic author, Nice citizen
Nice citizen
Reputation: -5
Posts: 18
Joined: 25 Jul 2018
Location: Super Mario World

Post #3by P-Switch » 25 Jun 2020, 3:54

Yeah, I got most of the RNG-related things for the SMW enemies from this video.
It goes in-depth about all the RNG functions the enemies use, and which ones actually use it, there's a lot more than what I've mentioned.
Why are you looking at my signature, anyway? There's nothing of importance here.


Return to “Ideas & Suggestions”

Who is online (over the past 5 minutes)

Users browsing this forum: 1 guest