Language…
11 users online: BabaYegha, h.carrell, Heitor Porfirio,  idol, MegaSonic1999, NewPointless, playagmes169, ppp9q, Sweetdude, TheKazooBloccGosh, TheXander - Guests: 351 - Bots: 379
Users: 64,795 (2,374 active)
Latest user: mathew

Send Your Resources to the Czar

Super Mario WorldMusicPatchUberASMSpritesResource Release

Hi, you probably saw the new JUMP Team hack (if not, what the hell are you doing here?). I made a bunch of stuff for it, so I decided to release some of it here (not everything, as some stuff should remain exclusive to that hack). By the way, this contains some spoilers to asm/music found in the hack, I warned you!

Anyway, here's the thing: [DOWNLOAD]

And here's a short preview of what you will find in there:

Boo Rings attached to sprites


This is an edit of Akaginite's Boo Rings that will spawn a second sprite and stay attached to it. By default it's going to rotate around the sprite but you can also set offsets for more wacky stuff (like have a ring hover a number of tiles above another sprite). It supports custom sprites and setting their extra bytes, everything using extra bytes. Of course, it retains the basic options from the normal boo sprite, so number of boos, speed, radius etc. SA-1 is recommended, but not necessary if you don't go too far with them :)

Sliding doors (moving gates with ropes)


I lifted this gimmick from DKC3, and what's funny is that at the same time I made these James released his gates+switches, which work similarly but have some differences.
Anyway, these stationary ropes will make some gates open when Mario grabs them, and then slowly close when he gets off the rope. You can associate a rope with multiple gates via the extra bytes, and customize their speed/length etc. as well. The gates use invisible blocks to handle interaction: when they close, they spawn blocks (act as 130 for solid gates, act as 12F for death gates), and when they open they remove blocks. This way it's easier to handle the interaction with Mario and it's possible to make them block sprites as well. When using them, you should place said invisible blocks under the gates, or they won't be solid at first. The ropes have also an option to hide a certain number of tiles when at rest: I made this to save OAM tiles, since when at rest the rope will be partially behind foreground blocks (well, assuming you don't want cutoff).
Included there's a vertical and a horizontal moving gate, and they're tagged as "solid" and "death" just because I used these for the hack, but you can simply change the block they use in the asm file.

Sprite Mist



This is a recreation of the vanilla ghost house mist, but drawn as a sprite. Useful if you want to use layer 3 for something else, but pay attention that it uses ~80 tiles, so you'll have to be careful on your sprite usage.
The sprite is actually a generator for a simple reason: generators run at the end of the frame, so it's possible to do OAM shenanigans with them (since no other sprite will be drawn after them, in most cases). I take advantage of this to rearrange the OAM table, to have all on-screen tiles at the very start, and then draw the mist at the very end: this avoids replacing other sprite tiles, and make the mist have lowest priority with respect to other sprites (necessary to avoid weird shenanigans when paired with other sprites and layer1/2 priority blocks).
Included a GFX file that's GFX01 but with the mist tiles, and a uberasm that will enable sprite translucency for the mist.

Custom Pipe-Dwelling Lakitu


This is basically the same as the sprite I have in the sprites section, but there's defines for all the timers so it's easier to edit their behavior.

Author Display on the OW


A UberASM that will display some text on the ow border for each level Mario is standing on, meant to be used for collabs to show the author in each level, but you can use it for whatever you want (and it doesn't have to be on the border).

Coin counter

This is a UberASM that draws a coin counter on layer 3, similarly to the vanilla status bar. It's meant to be used for situations where the status bar has been nuked, but you still need to display the counter in some levels. You can also change which counter is displayed (although it normally only draws 2 tiles, so for bigger counters you'll have to change the code yourself).

Death counter message


This patch will draw the death counter on the screen when a certain message box is opened, if you want to have a "You died XXXXX times" message of some sorts. Meant to be used with the death counter patch or with my Uberasm Retry (which has a built-in death counter).

Change Retry type on the title screen


Similarly to hacks like Czar or Waterworld, this replaces the 1P/2P options with a Retry option, if you want for example to let the user decide between Retry/no Retry or Retry prompt/instant Retry. Meant to be used with my Uberasm Retry, since it has the feature of changing Retry type on the fly.

No lag when Valley of Bowser appears

This is a very specific patch that (almost completely) removes the freeze that happens after using AddmusicK, when the VoB appears song loads in (and when the normal OW song loads back in). It uses the "don't reload samples" feature in AMK, which means your OW song will need to have some vanilla samples in its sample group in order for it to work (@4, @21 and thunder, and make sure to use the ! mark for all of them). The smoothness of the result is certainly worth it!

Credits stuff

A couple of codes for your credits: one will make the game autosave when loading the staff roll sequence, after setting an exit and running a silent event (so the final level counts as an exit and there will be some change on the OW after seeing them), and there's also the option of placing Mario somewhere else on the OW (for example, to bring him back to the start of the game or something like that). The other will make the game go back to the OW after the staff roll ends, instead of going to the Yoshi's House cutscene.

Music

These are the ports I made for the hack, which will be submitted eventually but you can find here for now (I shared a couple of these last C3, but they were SPC only):
  • EEK! The Cat (SNES) - Final Rescue
  • The Flintstones (SNES) - Staff Roll
  • Bomberman B-Daman - B-Daman Association Area
  • Mario Party DS - Contemplation
  • Ghost Trick: Phantom Detective - Suspicion
  • Spectrobes: Beyond the Portals - Malik


Misc. stuff

  • Heartbeat.brr: the best SFX in gaming, the heartbeat from Super Mario Maker.
  • LowerVolume and RestoreVolume: two sound effects which do the same thing: fade the current music's volume to a certain level (one goes down, the other goes back up), if you want some music dynamism or take inspiration for other effects you can achieve with SPC code.
The spinning boo rings around sprites is really creative can definitely see these being used in some kaizo, hard hacks


You are challenged by Champion Daisy!

LAYOUT FOOTER:
Thank you Kevin, very cool.

I'll take a look at that sprite mist code, if you don't mind
These boo rings are going to my next project. Thanks, Kevin, for making something so evil and cursed, can't wait to stack it in more mean sprites. The possibilities are infinite. Since I heard that my levels are haimari lite, I'm going even further into making even more mean levels. #smrpg{:D}


That attachable boo ring is evil. I love it.

Thanks a bunch for that and the other resources, Kevin!! Means a lot to us.
Windowless ride, feeling alive
Are you alive or just breathing?
I can finally put a ring on it thanks, Kevin. :)

But for real lot of these things are extremely useful, I recall you giving me an early version of the pipe lakitu--made that sprite even more versatile. #smrpg{y}
boo ring
The amount of stuff in this thread goes to show how much Kevin carried Czar on his back :P

Seriously though, even though I've seen all of these being made, the sheer amount of things here is still a bit shocking to me. I'm glad so much that you made was possible to be released to the public, there's a lot of stuff here that surely will be of great use to the community. I really want to try these doors in a standard level sometime and I don't think I'm alone in that. #smrpg{haha}
It's easily the best thing I've done
So why the empty numb?
sexy, silly, scandalous, youve done it all kevin.

eek the cat final rescue is the most song of all time
Awesome stuff as always. I looked a little bit into the Sliding Doors - using a modified ChangeMap16 routine that doesn't update VRAM is really clever. The main reason I didn't implement tile generation for blocking sprites with my gates was so they could be placed over non-air tiles without causing cutoff (and sprite-sprite solidness didn't seem the most efficient), but I was too smallbrain to think of this solution. The Boo Rings are chaotic and awesome and are going to have countless clever and evil uses outside of SYRTTC, and the Sprite Mist will be very useful for those who want mist without having to give up layer 3 (Mist + Tides seems like the most useful).
Awesome stuff man! I wanted to mention, as for the DKC3 rope, RussianMan showed off a similar thing for his HackJam project, but I think it was private. Great job on yours though! The boo ring is also crazy! I have two small questions though:

1) As for the two custom volume SFX, isn’t that already in the section or is yours superior? I can’t really check for myself right now.

2) Couldn’t the transparency code for the sprite mist theoretically be baked into the gen’s code or would that cause a small visual problem or something like that?

Sorry I have to end my comment with questions like this, but I’m just that curious, I guess…
My Mode 0 guide.

My Discord server. It has a lot of archived ASM stuff, so check that out!

Originally posted by JamesD28
I looked a little bit into the Sliding Doors - using a modified ChangeMap16 routine that doesn't update VRAM is really clever. The main reason I didn't implement tile generation for blocking sprites with my gates was so they could be placed over non-air tiles without causing cutoff (and sprite-sprite solidness didn't seem the most efficient), but I was too smallbrain to think of this solution.

lol yeah I did that to not have to handle the interaction from the sprite and allow for interaction with other sprites (also, having arbitrary gate dimensions isn't an issue). It has some drawbacks though: for example, the interaction may be a bit janky, like sometimes it can look like you pass through the gate if it happens to be few pixels away from generating the block. Although I guess with blocks you could have some wackier possibilities (a gate made out of water or sprite destroyer blocks come to mind).

Originally posted by Anas
1) As for the two custom volume SFX, isn’t that already in the section or is yours superior? I can’t really check for myself right now.

Honestly I didn't know that block existed, looking at the code it looks simpler so maybe I overcomplicated it, although Erik's comment suggests that the fade isn't smooth? I don't really know what that means, but with my code it's definitely smooth I guess lol

Originally posted by Anas
2) Couldn’t the transparency code for the sprite mist theoretically be baked into the gen’s code or would that cause a small visual problem or something like that?

Since generators don't have an init routine I decided to put that in a uberasm to avoid to write to the regs every frame, although I guess there's not much harm in that.
These are such a useful and cool set of resources.

I'm quite liking the Coin Counter ASM as it seems like such a handy tool for those who don't like using any form of Status Bar in their projects.
The Sprite Layers are super duper handy for making for some cool decorated levels even if they take up a lot of resource.

Very Impressive Stuff Kevin as always! #smrpg{y}
My favourite highlight are the sliding doors, mostly for the opportinities you have as well as the fact that there is a different trigger for the door (often times, it's just a switch like in Jamie's sprite).

On the other hand, I am surprised that out of all layer 3 images to be converted to OAM, you chose the mist to be converted, simply because of the amount of tiles and colour maths issues. I guess because it barely uses too many tiles (there are quite a few gaps in the image), you still managed to fit in while colour maths can be worked around (hint: no red and green sprites are shown in the GIF). Rearraning OAM does sound like something, though.


By the way, there really should be an easy way to add new options in the file selection menu, especially without replacing the two player menu. I know someone worked on it but it was never released (at least here on SMWC).
Originally posted by MarioFanGamer
On the other hand, I am surprised that out of all layer 3 images to be converted to OAM, you chose the mist to be converted, simply because of the amount of tiles and colour maths issues. I guess because it barely uses too many tiles (there are quite a few gaps in the image), you still managed to fit in while colour maths can be worked around (hint: no red and green sprites are shown in the GIF). Rearraning OAM does sound like something, though.

Yeah, I was working on a ghost house level so I wanted to have the mist, but I didn't realize at first how many tiles would be needed lol in the end it kinda forced me to work around having very few sprites on the screen at any given time, which was interesting. Also fun fact: in the level there's actually a red koopa, but its palette is changed to A with uberasm (and the palette itself changed to red). Also I ended up reusing the "OAM rearranging" trick for my Retry, but in reverse (to have the Retry prompt tiles at the start of OAM without replacing other tiles).
Those DKC3 sliding doors are really cool, and the other resources such as the sprite mist, or the capability to choose what retry you want to have, all of them are very useful and brilliantly used in Czar. Thank you so much Kevin for bringing all these to us.
I love your sliding doors Kevin, and the sprite mist is also quite interesting, as are the custom Boo rings and custom pipe dwelling Lakitu; I'm probably bound to use most of these, though I'm not sure how I'll put the custom Boo rings to use if I decide to use them.

I have a question about the sliding doors; can a rope be connected to a sliding door a few screens away (that is, if the door was closing at a really slow rate)? They not only remind me of the doors in DKC3's Doorstop Dash, they also remind me of the doors and switches in Sandopolis Zone Act 2 from Sonic & Knuckles (some of the latter game's switches and doors are further away, and you need to either be quick to get through them before they close, or use a pushable block to keep the door open longer).

Super Mario WorldMusicPatchUberASMSpritesResource Release