Do you want to have more interesting bosses in your Super Mario World hacks, but don't want the boring old Koopaling, Reznor and Bowser fights the game gives you by default? Well here's your lucky day, a tutorial that tells you where to get boss sprites, which ones exist, how to use the Ultimate N00b Boss to make your own, how to edit the existing bosses and how to use the cluster boss sprites by Ixtab.
First of all, you need to know what bosses are available. There are four options here:
1. Edit the existing ones
2. Custom sprites from the sprites section and general internet
3. Ultimate N00b Boss
4. Trouble Shooting/Bug Fixing
5. Custom Sprite Programming
6. Credits List
I will likely not cover the fourth, it's not my area of expertise. If anyone wants to add any resources to the list or give tips on programming bosses, please reply to the topic. Now, for the other bits on the list.
1.Editing Existing Bosses
The simplest bit, which is what Vanilla hacks are forced to contest with. The simplest to edit are Lemmy and Wendy, which involves going to levels 1F2 and D3. Now, you can pretty much only add foreground and background objects.
As far as I can tell, SP4 is used for Lemmy and Wendy, so you'll have to use SP3 for the used sprites. My experience says that Magikoopas, Thwomps and Grinders for example use SP3, so will work fine in boss arenas, as will stuff in SP2 like the standard enemies and Podoboos. If using the latter, remember sprite buoyancy.
These guys and Reznor can also be used in a normal room via the sprite number, so the relevant numbers to use are:
Sprite 29. Place on X position 5 for Lemmy, and 6 for Wendy.
Sprite A9 for Reznor. You need four of them, and the positions are pretty much preset. It's best to try using this custom sprite though:
You need to set the graphics to 25 for SP3.
The other Koopalings can't be easily edited. You can edit certain hex data, place a few generators, but you can't actually edit the room layout easily. Best not to bother with Morton, Ludwig or Roy, since they're very limited at the best of times.
Larry and Iggy are pretty interesting. There's a tool to edit the platforms for them here:
Some relevant ROM Map entries to change for the Koopalings:
Originally posted by ROM Map
01A0F $00:980F Starting Position of Mario in Iggy/Larry arena
0385E $00:B65E Iggy/Larry platform palette
07F03 $00:FD03 Positions of Iggy/Larry at start of battle
0FDD6 $01:FBD6 Iggy/Larry walking speed
0FFBD $01:FDBD Sprite thrown by Iggy/Larry
0D1CD $01:CFCD Morton/Roy/Ludwig HP
0D26F $01:D06F Sprite spawned by Ludwig
1A9C2 $03:A7C2 Bowser Music
1AA01 $03:A801 Sprite Spawned (Bowser fireball)
1AAEE $03:A8EE Sprite Peach throws
In case you're wondering, this guy and LeChuck prove you can do a lot with mere hex edits and time changes and stuff with the default Koopalings:
Or these by LeChuck:
Who said minor edits couldn't make a massively more interesting or difficult boss? These guys obviously disagreed.
2. Custom Boss Sprites Online
The easiest solution however, is to get a custom sprite online for a boss, and use a custom room. These are fairly easy to customise both graphics and behaviour wise, albeit you won't find all of them on SMW Central.
The List and notes:
A sprite version of the first boss from Super Mario Bros 2, it's slightly different from the original via the bombs having interactive with other objects. It's best to place him on normal platforms, with a fairly high ceiling, although don't make it so the player stands too far back from the platform with the boss.
Another commonly used (read, overused boss). He can be easily edited to use a custom sprite, and you know what, I don't think I need to replace the description for these.
Albatoss Bomber Boss
A fairly basic boss which drops a bomb as it passes. My experience however is that ten screens is not quite enough by itself, you need to have ten screens of space where the boss will fly otherwise it'll go off screen and cause various issues.
Awkward as heck to actually fight, but simple enough to set up. Requires you mix the castle and cave graphics sets.
Fishin' Boo Boss
Strangely, less difficult and annoying than the original sprite in the game itself. No seriously, it's easy to kill in almost all setups, albeit takes a long time if the lights are hidden.
It's an interesting sprite, although my research finds it fairly flawed, and it goes straight through walls a lot of the time. It's a faitly basic sprite, just a few hits, but does have some difficulty in that the interaction when it speeds up is often a tad flawed.
Homing Thwomp Boss
An overused boss which is fairly simple to setup and use, hence it's use by a lot of people. It's made by Yoshicookiezeus, and stuns the ground on the second hit.
A fairly well used boss, which will soon get a yellow version to make it more interesting.
Sledge Bro Ex
Not specifically meant to be a boss, but almost always used as one.
A four eight x eight tiles boss with block graphics, it teleports, throws hammers and generates kill blocks (or whatever else you set it to generate). Not sure who the maker is, but he did publically release it, and lets you use it.
Edit: You kill it by surviving it's attacks until the time given in the asm file runs out. Presumably, you edit this:
LDA #$FF ; \ set time before return to overworld
To the time in seconds you want the boss to last until it's defeated. It also has various additional options to choose like auto started boss music and level end type.
Classic Bowser/Ground Pound Koopa
(see download for Romi's Sprite Tool)
Big Boo Sprite Pack
By Fakescaper, this includes Big Boo bosses that can actually follow and hurt Mario. Excellent to replace the boring default one and make it more challenging.
[Can Fakescaper upload this sprite to his file list please? It was removed from the sprites section].
That bullet hell cluster sprite by Yoshicookiezeus and found originally in ASMT (raocow's excellent team hack), it's a pretty good sprite for a boss that could be found in the original resources pack here:
Balrog and Frenzied Toroko Bosses (originally from Cave Story)
Two excellent boss sprites based off Cave Story bosses, these were made by Sonikku and can be found in his C3 sprites package linked below. There's also a sprite that takes two hits as well, which can be edited into a boss.
Gourmet Race King Dedede
Not technically a custom boss, but Hellbourne released graphics for it at C3, and with the use of a custom block provided, you can make a sort of pseudo boss for your hack.
Iggy Koopa Boss
A boss sprite by Koyuki, it walks around dropping Sumo Bros lightning and what not. It's a fairly good base for a first boss, and can be found here:
A sprite by Ixtab, you can now finally get a finished, working version from the sprites section. Read the instructions though, you'll need to add a certain bit of code to the cluster sprites patch, and then insert the sprite with sprite tool. Don't use in levels with more than one screen.
Fry Guy Boss
By Dahnamics, it's a remake of Fry Guy from Super Mario Bros 2. You can also choose the sprite it spawns when it's dead to replicate the bit where it splits into smaller Fry Guy enemy sprites.
There's also another such boss by Ixtab, which can be found here. I couldn't get it to work because of an error in the coding, but maybe you can, as it's apparently an even better Fry Guy boss than the last one (people really like Fry Guy bosses don't they?)
Another Custom Thwomp Boss
Based on That by Yoshicookiezeus, but edited/coded by Dahnamics. It apparently generates spinies, koopas and hopping flames, is hurt by shells and explodes when killed.
Get it here:
Iggy Koopa Boss
A basic boss by Yoshi987, submitted by myself. Doesn't do much, but it's fine for a first fortress boss.
Another Pix sprite, by Yoshi987 to use in the same arena as the other three, to make the boss harder. Not a boss sprite on it's own, is only defeatable by yellow koopa shells.
Another boss by Dahnamics. Insert rock sprite directly after it in the sprites file.
Another boss by the same person as above. You'll need to change the file to edit the sprites generated (it's marked clearly a few lines down), and you'll unfortunately need to add the same sprite number twice because he accidentally set it to generate three sprites instead of just the included two ball sprites.
Yet another Dahnamics made boss, with more attack variety. Shoots purple flames that hurt Mario, Green Flames which hurt him and become a Goomba when they hit a wall and Blue flames that freeze him.
It also walks around, so try and make sure the level/arena has no bottomless pits in it.
By HuFlungDu. It shoots fire, charges and jumps around. However, you must not use it in a multiple screen level, because it dies when off screen and hence would end the level immediately.
A Cave Story boss by Sonikku, included here by popular request because many haven't found it yet.
It bounces around, charges and smashes into the ceiling in a pattern I cannot remember.
Note: The included graphics DO NOT WORK. Instead, get these graphics from the ExGFX section and use them with Sonikku's Ma Pignon sprite for a working boss.
Download link to Ma Pignon sprite
Another version by Ixtab, now presumably fixed to insert correctly with Sprite tool. The major differences from dahnamics's one is that it becomes multiple flames after it's defeated and that it's a bit more accurate to the Super Mario Bros 2 original.
By Koops. It's called 'Morton Boss', but the name is fairly misleading, since it's actually a massive 64 x 64 version of Morton that shoots Bullet Bills, gets faster after each hit, and turns around when it hits a wall. If you want a neat idea, how about the graphics I ripped which turns this into King Dedede from Kirby Super Star? I should release those eventually.
From Seiken Densetsu 3 and the SMW Central Collab! Yep, Kickchon released this awesome boss in his files, although it's not submitted (he links to it in the resource release thread and says you can use it how you like). It's an ice witch type thing which flies around, making a tidal wave follow you as well, and it throws ice, which becomes a throwable object when it hits the tidal wave.
Then, you can throw said ice at the boss. It also generates four ice spears to attack.
Requires no sprite tile limits.
Big Boo custom by Fakescaper
Some edited Big Boo bosses. One circles around, one apparent homing Big Boo boss and one which can actually hurt Mario. Requires no sprite tile limits.
Carol's Lemmy sprite
Because a member here uploaded it, so I might as well let a few people know about it. Thanks Roberto zampari.
If carol would let me, I'd submit an edited version which allows you to define the custom sprite in the top of the ASM file, which dahnamics modified for me, but you'll have to figure this version out yourself.
Cookie Crisis bosses
Some of the bosses released by Yoshicookiezeus. This and the next entry have the same download link.
There's a working Iggy boss which is an edited Shell Bro, and a non working Morton boss which has released code.
See for yourself:
Download the gradient HDMA:
Thwomp Boss 2.0
The hated boss returns! Now, it moves side to side after each hit, and explodes after the final hit to it's face.
Download all three of the above:
Other Brutal Mario sprites
I unfortunately can't link to any carol didn't officially put online in any form, because I don't own them. If you do end up with them somehow though, keep in mind these things:
1. Carol is unlikely to ever update them.
2. They're quite poorly coded, and have sprite memory issues in many circumstances.
3. Dynamic sprites using mode 7 work but have glitched graphics.
4. They require very specific conditions to work.
Basically, most Koopalings, Xan Bie, the Koopa Bros, Bowser, Boom Boom and Carmilla (vampire from Dark Castle level) are usable, everything else requires massive ASM editing and specific conditions. They're not really worth it.
Still, because it's getting ridiculous how often people requested it, Boom Boom:
Yes, I know, people will say I shouldn't link to it. But it's online, it's on carol's site so it's not stolen, and really, I'm getting sick of people requesting it.
And SMB 3 Bowser:
Bullet Hell Boss
Technically level ASM rather than a sprite, but it looks amazing and comes with an IPS you could theoretically use as a base if you're lazy.
Download IPS patch
An old boss by undefined, now released. Comes with a health bar sprite which must be inserted seperately, and has a fairly complex attack pattern
Another boss by the above, based on a Cave Story enemy. It's a dynamic sprite though, so keep that in mind.
Download both of above:
A sprite based on a Kirby's Dreamland boss, it shoots three types of projectiles and moves around the arena in a sort of random pattern. Possibly also the first underwater boss.
Made by dahnamics.
Next of dahnamics's sprites, this boss teleports around and shoots bats at Mario.
A remake of the Hawkmouth boss from SMB 2, this boss flies around and turns into a door when defeated. Is generated when you collect the crystal sprite.
Another boss by dahnamics, this is Tryclyde from SMB 2. Shoots fireballs, some of which home in on Mario, and is weak to shells.
Another sprite of it, this time by Sonikku. Slightly more accurate than the one by dahnamics, since it actually opens and 'eats' Mario to teleport him instead of generating a door, and is visible on the wall beforehand.
Morton (by HotViper)
Another custom Morton sprite. Haven't tested it, so I don't know it's attack pattern, but I guess it might come in handy for some people.
Wart from Super Mario Bros 2, aka the final boss! The same sprite also shoots the vegetables to throw at him, and he makes a door appear when defeated. It's by Roy (SMW Central member)
A Wendy Koopa boss loosely based on SMB 3 version, made by dahnamics.
Th Crystal King from Paper Mario! This is a dynamic version by MarioEdit, which has all his attacks... teleporting, shooting ice, splitting into three (two being fake), etc.
A Jr Troopa boss. Has his various forms from Paper Mario. Requires an ASM file to be patched, and is dynamic.
The Koopa Bros from Paper Mario. Four different coloured Koopa bosses, stack on top of each other and spin while in their shells, take two or so hits each to kill. Also dynamic, and by MarioEdit.
Boom Boom (dahnamics' version)
Not as accurate as carol's one, but much easier to use and works better with things like custom music and different boss arenas.
Another boss by dahnamics, based on Bowser Jr from the original New Super Mario Bros. Leave ceiling open, or use a really tall room, since the battle won't end otherwise.
Giant Masked Koopa Boss
A giant Koopa which drops rocks, shoots fireballs and jumps across the room, among other things. Also by dahnamics.
Lololo and Lalala
Those two bosses from Kirby's Dream Land and I think Adventure. Uses just one sprite for both of them, which is useful.
Splitting Mega Goomba
Splits into small Goombas, a bit like carol's Ninji boss. Not technically a boss, but will often be used as one.
Master Hand from the Smash Bros series, as a boss. Does everything you expect it to, bar combo attacks with Crazy Hand (not included).
A boss which moves around and shoots projectiles. If these hit the button sprite, a certain button like B or A is disabled. By DiscoMan.
A Podoboo boss by MetalJo
[Edit: Removed for not working]
Dry Bones boss
A Dry Bones boss by MetalJo. You can see a video here:
Fire Pokey Boss
Another boss by MetalJo, which does... something.
Giant Koopa Boss
The one sonikku made for A SMW Central Production.
Giant Spiny Boss
You know, the first boss from A SMWCP, made by Ersanio. You can now download it here:
SMWCP Bowser Boss
An epic boss from the collab, released officially by Atma and SNN. You can find links to both the asm and cfg files below, along with a video.
Other Ideas for Sprites to Use
Ludwig Von Koopa (custom sprite online. Jump pattern is glitched up a bit.)
First has sprite, second has fireballs and graphics.
Now, to add it, is slightly trickier. You need to put 24 as SP3, the included file 8E as sp2 and the included file BB as SP4, with the last file as the animation. Then, put in the exanimation and make sure the yellow palette is set to the colours you want the boss to be.
Insert with Romi's Spritetool.
Tap Tap the Red Nose
The version made for ASMWCP has now been released! Indeed, if you want this near identical copy made by Roy, download it below:
It's a bit difficult to use though, it's a dynamic sprite, and you have to patch another patch with the sprite graphics. But it's pretty cool.
A boss used in VIP 5, follows Mario and shoots fire every now and then, and lunges at various times. Probably have to put the fire after the boss in the sprite list.
Possibly anything by 728 (if the site goes back online) Sprites apparently released seem to be Nightmare (Kirby's Dream Land series), Dark Matter and Kabula.
Anything requested by people here/made by Ixtab/given permission by requester to release. Which is a lot of stuff.
For a joke, daigaidai/black released this joke Airman boss:
Good to use for trick levels.
You could also use a Koopa Elite sprite as a mini boss, which is fairly popular recently. Because I can't link to the Japanese source (the VIP 5 uploader, although the sprites themselves are 100% free to use by author statement), here's a link to a reuploaded version for you readers:
There's also the old Magikoopa, Big Boo and Bully sprites you can use, although they're not particularly interesting bosses to fight by any means.
Unfortunately, I do have some sprites I can't link to because of legal or person reasons, such as all carol's sprites, dahnamics's Iggy sprite, his Tryclyde sprite, the upcoming Hawkmouth sprite and a few collab bosses.
How to Remove Level Ending Code from boss by Dahnamics (or also from the Blargg and likely Kirby boss by other uses as well):
Go into the ASM file, press CTRL + F, then search for:
GOAL DEC $13C6
(if this fails, just search 'GOAL').
Now, for anything by Dahnamics, you'll get a code like this come up:
GOAL DEC $13C6 ; prevent Mario from walking at the level end
LDA #$FF ; \ set goal
STA $1493 ; /
LDA #$0B ; \ set ending music
STA $1DFB ; /
RTS ; return
Remove it to remove the level ender from the code, or change to:
To make the boss activate the level screen exit.
Thank you to Dahnamics for this code.
Now, I'll be figuring out myself how to remove it from the Kirby and Blargg Boss sprites, so keep checking back!
Tips for finding Boss sprites
Search everywhere. Basically, type '' into Google (preferrably the Japanese version) and go looking on any page that says 'sprite' as the link text'. File hosting sites and such? Look through them. Search 2chan for information, search through the threads at SMW Central and remember to save anything that might go offline in ten minutes. Oh, and if you download and play Japanese hacks a fair amount, go looking through the zip file you get. A high amount of them give away stuff for you to use free in the same file, whether it be graphics, sprites, music or level ASM. Indeed, in some cases, you actually get a password to get this stuff if you beat the game. You won't know what you can get for free unless you go looking for it.
Tips for Boss Arenas (Custom Sprite Bosses)
1. Complexity of arena should be in contrast to difficulty/complexity of boss. Put simply, the more attacks and complex the attack pattern, the less complex the arena should be. If your boss merely walks around, or is one on the SMW Central custom sprite list (bar Newbie/N00b Boss), you should ideally use a few lava pits, some form of obstacles and maybe some layer 2 to make the fight more interesting, because single screen square rooms are best for complex types.
2. Don't go overboard with health. If your boss has a simple attack pattern, you should ideally keep it to about ten health maximum, since stuff like Mouser is just not entertaining past that point, and is more repetitive than hard.
3. Use on/off block and P switch activated custom blocks to make the battle more interesting. For example, you can use the on/off switch part of the n00b boss to make insta kill lasers appear at certain health points, sort of like a newbie version of what Mario LD's bosses and carol's Ultima sprite does. This can really be used to make the arena more interesting and the battle more exciting.
4. Similarly, for static bosses you can make them 'change form' like this, say if you want to make it suddenly become a fifty foot tall imposing figure rather than a tiny boss sprite. Just set the 'true form' tiles to be visible only when an on/off switch or p switch is active, and voila, instant form change at versions points in the battle. Could be useful for bosses like Smithy who are too big to make as a sprite but should animate when they change form.
3. Ultimate N00b Boss Guide
Since some people have been having trouble using the sprite, and as I got the hang of it after many failed attempts, I thought I may as well write a full tutorial on how to make your very own boss battles with this tool, starting at the beginning. If there's anything you don't understand, post in the comments section and ask and I'll probably respond tommorow.
Never the less. First of all, get the sprite from here:
Now, extract the files, and rename the sprite ASM and CFG files to that of your boss's name so you can have more than one different boss with the tool in your game. I named them 'MadJack', 'KAOS' and 'Chortlebot' for each respectively.
Now, edit the ASM file. You need to be careful here, you must use two digits (or however many said) for each value you can edit, otherwise the game will crash when you add the sprite or something just as bad. First up, the health. It's in hex format, so get your health in decimal (say, 10), go to calculator, change to hex and copy the resulting value in.
Next the boss name. You don't want to leave it default, unless you want your boss to be even more blatant than it is already. So go down, set 'show tiles to 1' if you want the health to appear, then edit:
Basically, the file gives you clear instructions here. Set name size to one less than how many characters are in the boss name and make sure you have an exclamation mark before each letter and comma after each in the name table except the last one. For example, for 'KAOS', you'd set the name size to three, and write '!K,!A,!0,!S as the name table define.
You might also want to hide the thing, which is a lot more useful if you're making a simple boss and you want to pretend you made it yourself in Notepad.
I need to make my own 'name position' chart, because the chart it refers to seemingly doesn't exist.
Now, this is where you need to import the graphics before the next edit, so make an ExGFX file with them and import to Lunar Magic. Now click on the black ? mark box, and scroll down to where your boss is found in the graphics (set it with Super GFX bypass first). You need the two digits of the top left part of each 8 by 8 pixels square, so basically, the first two should usually be it's top left part of it's head, the middle of it's head/end depending on if it uses 32 or 16 pixels for width, and the top left and centre parts of it's body. It's NOT the bottom right or top right respectively of each section, that was my first mistake.
This is what you'd put for the tilemap:
!TopLeft = $C0
!TopRight = $C2
!BottomLeft = $E0
!BottomRight = $E2
Oh, and save palette for editing file with the ExGFX. You'll see why later.
Now, keep going down. For animations, find respective graphics frames, or just use the same frames as above if it's a relatively static looking boss like Chortlebot or KAOS.
Now, the speed. For each ten health, use a row provided. Top row is for the last ten health, next for the next ten health, etc. Keep speeds consistent, as otherwise the boss is all over the place and rather unpredictable in movements, and any not used values you edit will simply be ignored anyway.
Now, the pointers. You have to have one 'dw STATE[number]' for each point of health the boss has. It's set to ten by default, but you need to change it to five, twenty or fifty or whatever you changed the boss health to. This is in decimal this time, not hex, so it'd be STATE10 and not STATEA. Once that's done (leave or remove comments as you wish), go down, and make sure you have the matching amount of states as the boss health.
Here is another common mistake. Put an RTS line after the actions in every state. Otherwise, it treats the whole thing as one long state, and will just throw attacks semi randomly at you until one of you dies. If you're a jerkass, you'd probably want this, so ignore what I said. If you're making a Kaizo game, maybe ignore what I said here. If you want a fun boss, remember the RTS lines.
Now, the actions. Just put them in each state as you want them, remembering that many actions require JSR Move to be above them to work. You can use as many or few actions per state as you want, so go wild and use as many features as necessary.
However, another quick issue. It must only be in the format of 'JSR [action]'. Not ':JSR [action]', or ':JSR: [action]', or even 'JSR: [action], don't put in any colons in the lines. Otherwise Sprite Tool will throw up errors and not insert the sprite. Easy mistake to make.
Similarly, only use one generator per state, otherwise one will simply override the other fully. If you put in both Bullet Bill and Fire Generators for example, you'll only get either Bullet Bills or Fire.
Next step, sprite tool. Add it to your sprites list (or multiple if using multiple bosses), and remember to change the .cfg file to point to your renamed boss sprite ASM files. Not doing this will throw up an error and stop sprite tool, so watch out. Next, start up sprite tool as usual, run it and your sprites will be inserted. However, you MUST use Romi's Sprite Tool for this, only this version works, and other versions won't assemble the sprite due it needing XKas to assemble.
Now, add it to a level in Lunar Magic and test it. You'll notice it behaves right, but the palette is all wrong (it may look bad, change the tiles and reinsert the sprite as necessary to fix the graphics). Remember YYCR? Good, open the ExGFX file, and note the colour names you changed to fix the colour scheme. Now, open up your Paint/Paint program saved original sprite, and select the colours one by one, and view Edit Colours. Get those numbers, and keep them nearby, since you need to select a custom palette in Lunar Magic, then copy the colours from Paint's 'Edit Colours' dialogue to each colour edited in YYCR. It's palette B by default, so keep that mind. Once you're done, open the level again and your sprite should have all the right colours and look/work just perfectly. Pat yourself on the back, and make a few hundred more such sprites to torture prospective players of your hack/game!
An example boss palette.
Other Tips for Ultimate N00b Boss
You can't quite limit the sprites fired by it, so it's advised you don't go overboard. Stuff like Homing Bullets will stack up big time in the end.
You can use any normal sprite in it's generating (as in, any normal type custom sprite). Yes, things like making foregrounds transpareny and Mario invisible can be generated like any other sprite for interesting effects.
Use this code by Ixtab and Davros to make the three random sprites custom ones:
Replace lines 1099-1117 with:
JSL $0187A7 ; Get table values for custom sprite
LDA #$88 ; \ Mark as initialized
STA $7FAB10,x ; /
Above: where to add the code.
I will ask a certain coder I know what to change to make the normal sprite a custom one as well, so stay tuned.
Also, change this to change how long the boss is invincible after being hit:
Tips for what bosses can be replicated with this sprite:
!FTimer = $4F ; How long the sprite flashes for when hit.
1. Anything from Wario Land 1-3
2. Anything from Wario Blast
3. Some bosses from Donkey Kong Land
4. Any bosses in Super Mario Land 1 and 2
5. Boom Boom in Super Mario Bros 3
6. Koopalings in Super Mario Bros 3
7. Clawgrip/Fry Guy (also possible with Newbie's Custom Boss)
Some advice on maybe what not to make
A giant Muncher. Seriously, everyone seems to try making Giant Muncher bosses, whether it's the Big Boo version from the Cookie Crisis, the Muncher Run series, ASMT and God knows how many newbie custom boss edits. It's easy to make, but the flying killer Muncher boss joke has passed its prime now.
Koopaling bosses. Seriously, no more Koopalings please. Everyone makes them, yet they have the skill to make so much better stuff.
Yoshi's Island Big Boo. First it was Brutal Mario. Then my first hack, then my second hack, then at least one Chocolate Level Design Contest entry and then a now removed French collab using the SMW Central collab as a base. All had YI Big Boo bosses, nigh identical bar maybe the palette in some cases, and it's now boring and old hat.
Tips for finding graphics for Newbie's Custom Boss/Ultimate N00b Boss
Yeah, I know, it's a weird topic. But let's face it, 32 x 32 pixels is far smaller than you may think, and as my attempts as squashing Chortlebot and KAOS graphics into that space may likely show, something will usually get lost in the translation. So read on.
First of all, don't even bother to try and put Donkey Kong Country or late Wario Land series graphics with those sprites if you want the boss to move. Those games have graphics far too complex to resize to 32 x 32 pixels, and will look absolutely bizarre if you attempt to do so. If you're not making the boss move, go ahead, but the palettes will be an utter nightmare.
Secondly, as a rule, these gamea are fairly safe:
1. Super Mario Bros 1-3, World, Land, Land 2
2. Mario and Luigi series (normal sized NPC characters)
3. Wario land 2-3
4. Much of the custom sprites section on Spriter's Resource (if in Mario and Luigi style)
5. Pretty much anything from the NES or Game Boy era
Finally, keep in mind you have limited possibilities for animation with these sprites, so try to make sure your boss doesn't look bizarre or like it's gliding across the screen.
General Advice Again
Try not to make all your bosses stationary reactor bosses. Those are so blatantly using this sprite that they are incredibly boring to fight, and they're also rather easy. Try to make them move if you can.
Reset the brightness to normal before you end the battle (if going to a next stage), otherwise the graphics will be glitched.
If you're making a Ultimate N00b boss be the credits leading sprite, make the credits level set on the overworld be the level with the final form (if the boss has more than one form). Otherwise, the boss will not roll the credits scene when defeated. However, use the first part of the level to activate the castle destruction scene.
1. The Ultimate N00b Boss seems to glitch up when used with any kind of brightness changing sprite. This means using the glow generator, day/night changer, screen brightness or spotlight sprites in the room before the boss will tend to glitch up the foreground/background graphics in the boss room.
I haven't tested this, but my estimate is that if you put a normal room between the edited brightness room and the boss, this might be fixed.
2. There is a glitch with the JumpHurt command, when used with invisibility. This glitch is that the boss will die instantly when jumped on when invisible. I'm not sure why this happens, but it doesn't happen if the boss is hurt/defeated by throwing objects at it.
Also, advice from me is maybe to try and vary boss graphics up... don't just make giant versions of normal mooks, like a giant Goomba/Koopa/Piranha Plant/Blooper/whatever.
Make the room interesting with custom blocks or level asm. For example, if you want to disable cape flight, put this code in levelcode.asm under the entry used for the boss room:
To reverse the controls, put this code in levelcode.asm:
Code by yoshicookiezeus, posted in someone's topic here.
To make the ground/screen shake during the fight:
LDA $13 ;\
AND #$3F ; |
BNE QuakeReturn ; | Uncomment to remove Sfx.
LDA #$18 ;sound effect
STA $1DFC ;sound bank
And to make the background scroll fast, if your battle takes place on a castle/train/boat/airship roof/inside, use this code in level asm:
And a free tip for anyone who actually cares... don't try to just remake the Koopalings from Super Mario Bros 3 with it, put some individuality in the boss fights. God the Koopalings and Bowser Jr are overused as Ultimate N00b Boss/Newbie's Custom Boss creations...
And they're just as overused by idiots who seem to think that with all their knowledge of ASM, they'll just copy everyone else and waste their time making Koopaling sprites. Put some uniqueness into it!
4. Trouble Shooting/Fixing sprites by carol and the n00b boss
What do you do if your boss doesn't appear?
Sometimes your boss sprite (especially if you used the n00b boss) won't appear in a level/room where it's meant to appear. This is because the code has been inserted in a later ROM bank, which means it doesn't work (I think you need to make anything stored in later banks use full addressing to load RAM addresses or something).
To fix this, port your ROM then insert your sprites before you insert anything else to make sure it's saved in an early ROM bank. Voila, your sprites/bosses should now show up.
It's more of a problem to watch out for if you used either the n00b boss or one of carol's sprites since they're massive file size wise and can often end up causing anything stored after them to end up in a later ROM bank.
How to Fix Carol's Boom Boom sprite
By default, this sprite turns on the boss music and changes the music when the goal sphere appears. This means the sprite will usually crash the game or turn off all sounds and music if you're using a custom theme for the level.
So here's how to fix this (thanks to Koyuki and Ice Man)
First, to disable the starting music. Find a set of lines that looks like this:
Remove the 'LDA #$XX' and 'STA &1DFB' lines. This should shut down the boss music starting code.
Next, search for '&1DFB' in general.
Remove this code:
This will stop the music changing to the boss defeated theme.
Finally, search for:
And change it to:
This will cause the music to fade out when the boss dies.
If I'm correct, your level should now work fine when you fight Boom Boom, and not freeze the game upon completion.
You should in theory be able to do the same for bosses like the Demon Wall, Marx, Archdemon, Dragon Emperor and all others that change the music (usually to the Bowser battle theme).
How to use carol's more complex sprites
For K Rool and Ultima, don't use the sprites called 'krool.cfg' and 'ultima.cfg', but put in the right spot on the sprite list. Instead, use 'wily.cfg' and 'bossbarrel.cfg' for K Rool and Ultima respectively, they use the extra bit of the other boss sprite for the main boss and then the wrongly named secondary sprite for the projectiles they fire.
Any of carol's newer sprites do not have the sub off screen routine included, so you'll need to patch it in (or add it to each sprite), then change 'jsl [whatever]' to either the address you patched the off screen code or to 'jsr sub_off_screen whatever'.
Later sprites may also screw up vram for the level, so should be used in a layer 2 level/one without a background. Maybe use a layer 3 background instead.
Also, here's how to edit the sub_off_screen thing, since it's not as easy as merely searching for any particular words with 'CTRL + F'. No, you need to look for a certain piece of code which is different in every single sprite. For Marx, search for this ROM address in the ASM file:
This is used to point to sub_off_screen for Marx, the latest Wily Machine boss and probably a few others. Change it to where you inserted Romi's sub_off_screen.asm code.
For a few other sprites, like a sprite called 'star', which supposedly acts as a boss in some way, you need to search for this:
Edit this to the right ROM address.
For any Seiken Densetsu bosses (like the Dark Lich, Arch Demon, Dragon Emperor and Zable Fahre), search and replace this address:
And for generic sprites like Mega Man enemies, Yoshi's Island stuff and bosses from demo 7, search and replace this address in the ASM files:
Voila, most of your sprites should now work. Well, sort of, Marx now works, the others don't immediately crash the game on a black screen or work (simple sprites work immediately, layer 2 bosses probably need additional patches) and generally it should all be going fine. However...
Now, there is a catch. It's not SubOffScreen that carol bosses need to work properly. No, for some of them (Yellow Devil, Giant Kirby, and standard sprites like Quickman lasers and Mario Galaxy style appearing blocks), you need a second patch called 'MakeBlock.asm'. This allows them to generate layer 1 tiles, needed for the bosses mentioned.
For example, the Yellow Devil is only a sprite when it assembles/disassembles, the main body of the boss is actually on layer 1 and is formed/destroyed when it moves.
So you'll need to insert the patch, then look for this code:
Replace it with the location where you inserted MakeBlock.asm.
Now some more bosses and useful sprites should work.
These sprites need MakeBlock:
Adon (the Mario Galaxy forming block phases at least)
KCastle (only for the Quickman laser form)
wilylift (only for the appearing/disappearing blocks form/phase)
gachalift (for the part where blocks move around)
K Boss (for when the Giant Mecha Koopa removes the wall)
However, this again isn't all you need to know. Now some sprites, the mysterious KCastle and Mega Man ones, are based on level and screen number. So to get these working, you need to open the asm file and search for this code:
This is a RAM address holding the current level number. You'll see a value like this:
The CMP part is the level number, or at least part of it. If the sprites are being used in a level in the same general area (like say, levels 100 to 1FF), you just edit say 6C to the last two digits of the level number, and it'll load the relevant sprite in that level number.
You'll need to do a bit of experimenting to find out which ones are the functions you need and what their init names are, but you'll figure out. Also, I'm assuming the symbol $ is used to say what half the ROM the level checked is in, so if it exists it means from 100 to 1FF, if it doesn't it means from level 0 to level FF.
With this advice, you should now be able to figure out adon.asm, kcastle.asm, meta.asm, mpalace.asm, dcastle.asm, wilylift.asm and gacha.asm at least.
Also, some bosses require certain custom blocks. For example, for Dumb Drum, you'll need to put no Mario blocks above the arena and surround it with on/off activated blocks. Same with Dr Wily form 1.
Now, as of AddMusic K and M, there's another problem. Basically, these tools reorder the music list, so the game will either temporarily freeze when certain carol bosses die (like King Dedede and Meta Knight), or change to the wrong theme.
To fix this, look for this code:
Then remove the line with this code, and the one directly above it. Voila, no more temporary freezing and music related errors. You can also change the value on the line above to make the sprite play the right music.
However, there's still one issue, some bosses don't work. I assume it involves another shared subroutine not figured out yet. These ones include nova.asm, bombie.asm and dokuro.asm
Based on some studies, these carol bosses work:
Most Koopalings (maybe bar Ludwig)
Marx (both versions, although version 2's graphics screw up due to VRAM stuff)
Chomp Shark Boss
Kirby form 1
Lady Bow (minus graphics)
Kaptain K Rool
Mecha Dragon (sort of, the boss graphics don't work right, but the boss battle works fine)
K Castle boss 1 and perhaps boss 2
Zable Fahr (the three heads thing)
5. Code your own sprites/ASM
I can't help here. However, these tutorials on this site work well as guidance:
And carol's Japanese tutorial:
There's also the whole set of dissasembly sprites in the sprites section, which can be examined and modified to make interesting custom bosses.
Now, I'll be perfectly honest, you won't get Brutal Mario or MariOld Test Mod level ASM skills in a day, and I don't know ASM myself. There's no set of free downloads for the sprites in Mario Fantasy or the like, so you're not going to say, get Marx as a sprite you can add in seconds. But hopefully this stops more generic Koopaling battles being common in hacks, and brings some variety.
6. Thanks to/credit list
If I missed you out, comment please and tell me.
Edit: Fixed guide. I think when a staff member tried to edit it they accidentally screwed up my post.
For gaming news and Wario discussions, check out Gaming Reinvented
and Wario Forums
As for Mario's Nightmare Quest? Well, it's currently on Fusion Gameworks, ROM Hacking.net or the GCN at the moment.