Coolcord / Level-Headed

Random Level Generator for Super Mario Bros. 1 on the NES
GNU General Public License v3.0
117 stars 6 forks source link

[Feature Request] Setting to replace all Goombas (not just lone ones) with Buzzy Beetles #11

Closed ghost closed 6 years ago

ghost commented 6 years ago

Self-explanatory. Sorry for making so many requests, but I really really love Buzzy Beetles. (They're so cute. If I could litter a level with them, I would.)

To my knowledge, the randomizer has an option to replace lone Goombas with them, but not Goomba groups. I know SMB1 automatically applies this after you beat the game (not sure if that applies to randomized games), but I'd like an option to start with that.

Edit: An option to do the same, but instead replaces Goombas with Spinies would be good too for extra challenge

Coolcord commented 6 years ago

The reason why only lone Goombas are replaced is because enemy groups are actually coded as separate enemies (with hard-coded height values). You can read more about enemies and what Level-Headed can change here.

It would be possible to replace Goomba groups or Koopa groups with a different enemy, but they would be replaced for the entire game. In other words, there would be no easy way to tie them to a difficulty rating. Regardless, Buzzy Beetles would work for this.

Spinies, on the other hand, are weird in SMB1. I still don't fully understand how their enemy behavior works, as sometimes when an individual Spiny is spawned, the game will get confused and spawn a Lakitu as well. I don't believe that the original game ever made use of the individual Spiny enemy.

ghost commented 6 years ago

but they would be replaced for the entire game. In other words, there would be no easy way to tie them to a difficulty rating.

That's fine. Just have it as an on / off setting in Custom difficulty then?

Coolcord commented 6 years ago

Yeah, that would be feasible.

Coolcord commented 6 years ago

After thinking about this more, I've decided to scrap the idea. I personally wouldn't use the option, and I just realized that SMB Remodeler can already do this with a few clicks.

To do this, open a ROM, then go Enemies 1 -> Multiple Occurance -> Sequential Characters 1 -> 02 Buzzy Beetle. Save the ROM and you're done.

ghost commented 6 years ago

I'd like to kindly ask you to please reconsider only because SMB Remodeler is a Windows only application, meaning if I ever build a new PC, I'm screwed. That workaround will only serve me until I upgrade.

Unless there's a Linux port of SMB Remodeler that I don't know about (please don't ask me to use WINE. I'm using Linux to get away from Windows, not to embrace it. I'd much rather use and support native Linux software)

Coolcord commented 6 years ago

I'm pretty sure that's why WINE was started, was to help make living exclusively on Linux easier, but if you don't want to use it, that's fine (although SMB Remodeler does seem to work perfectly under it). If you're trying to live with only completely free software, I can understand that.

I'm trying to prevent this project from getting overwhelmed with feature creep, as that could very easily happen. I hope you can understand.

If you still want this and you don't want to use WINE, you could just use a Hexagon patch. Create a new text file and paste the following code in it:

C: SKIP

A: 0x4737
V: 02

Save it as "Buzzy Beetle Groups.hexp". Now you can apply this Hexagon patch over any newly generated games where you want this Buzzy Beetles groups hack.