Language…
20 users online: Anas, AnunnakiGirl, CourtlyHades296, CroNo, DaveStateGaming, Green, Mohamad20ZX, Natsuz2, NewPointless, Papangu, SAMYR DUTRA ARAUJO,  Sayuri, Scags, signature_steve, SomeGuy712x, StarWolf3000,  Telinc1, TheBubbster123, TrashCity, yoshisisland - Guests: 279 - Bots: 588
Users: 64,795 (2,369 active)
Latest user: mathew

022: Scorching Sepulcher - ShodanWii/SyStemkraSh

Complete

Update 11/12/11
Lately I've been getting distracted by Modern Warfare 3's release and school as well as coming down with a small cold, but ShodanWii and I have pumped out an update for this weekend.
Known Problems:
- You can become permanently frozen between two Freeze Boos.
- Thermometer's palette which is linked to the Freeze Boo's palette.
- Slowdown and sprite disappearances in second part of the level.

Problems addressed and fixed:
- Fixed a pillar in the first part of the level so that it acts as shade.
- Length of first part of the level has been cut down by a couple of screens.
- Bowser statues in second part of the level have been removed.
- Switch puzzle in second room has been remade.
- Various parts throughout the level have been fixed.

Update the 3rd
I've reworked the switch puzzle in my level, and keep in mind that it IS possible, and you have to pass it a way you don't expect.

@ AxemJinx: I've fixed up the problems you pointed out for my part of the level and ShodanWii shortened the end of his level by a couple of screens.
@ S.N.N.: Sorry for being a bit late with the update; I hope this will be cleared as well.
Originally posted by AxemJinx
14D

0: As soon as you enter the area, there's a big hot head approaching AND blocking a message box that might have something important to say, a freeze boo that makes things feel pretty clastrophobic, and eeries that spawn farily close to the on/off switch you need to press. Might just be me, but I think a bit more leeway here would also be better. It just seems like a lot to take in for the first screen.
I only removed the freeze Boo, but everything else still remains there.
4: Looked a lot trickier than it actually was for me- I never missed this jump. Did anyone have problems here?
I've never missed that jump either, and I haven't received any feedback from anyone about this as well.
7, bottom: The statue despawns sometimes, maybe due to the randomness of the eerie spawns.
I've seen the statue stop firing completely, but I've never seen it disappear. In that case, it's been removed.
7, top: This ends up being less complex than it looks. That doesn't make it bad, but I found myself wondering whether it's possible to make the path through here a bit more irregular somehow.
Fixed; the switch puzzle has been remade, and let's just say the solution to do it isn't what someone would expect.
A, top: Might have just been me, but sometimes the randomness of the eeries would create awfully tough scenarios here. I'm not sure what would "fix" this issue, though.
I left this place untouched; this area seems luck-based, sometimes spawning Eeries in uncomfortable areas and at other times spawning them nowhere near the player. For me, I always ran into the latter every time I ran through the level.
C, top: While the bottom path was fine, getting through this boo ring on the top path was fairly boring, maybe because there's no room to move and nothing else going on.
It has been replaced with the Boo laser train stream things and a sparky that circles the switch. The layout is slightly less cramped and is a bit different.
D, middle: This statue also despawned once for me, if I remember correctly. Might be the boo ring plus the random eerie spawns.
That statue has been replaced with a Hothead and a Sparky, and the layout is slightly different.


14E

4: When I reached this screen, I thought maybe there would be a more outdoorsy area, since up until that point everything took place in the pyramid. I was a little sad to see the level end almost right after that. I'm not telling you to add more, though, because that would make the level too long. I think what I'm trying to say is that I wanted to see more, which means you did a good job on the design. Make sense?
I get what you mean. I thought of making the area longer but I wanted to put the level end not too far away from the pyramid.
6: Not sure I like this jump, since there's little room to maneuver once you land. Yeah, the hot head moves slowly, but if players dawdle just a little before making this jump, that could lead to an unfair hit, no? See what others think about this one, I guess.
The Hothead was removed with a Sparky, and there is more time to react to it.
7: Might just be me, but I'm not fond of gaps that force you to slide jump near-perfectly. This is right at the end of the stage, too, so if players miss...
The land formation underneath the blue shell has been changed so that there is a small area that you can land on safely.

I admit I haven't played many levels, but this is one of the only ones I've seen that use an "air meter" mechanic and use it well. Good work, you two.
Thank you; ShodanWii and I appreciate it.

Oh, and make sure you fix the palette on the thermometer. The mercury should stand out from the glass.
This is one of the problems I ran into; S.N.N. wanted to prevent any confusion between normal Boos and freeze Boos, and to do that, we had to switch up the palette. However, that palette was also for the thermometer and for some of the enemies, such as the Boo Ring and the Bowser Statue.


Any feedback/questions/comments welcome.
Nice job overall! I had a lot of fun playing through it this time and managed to beat it savestateless. I just have three suggestions, and then you can send in your stuff.

1.



That platform is the biggest offender for disappearing, so I'd just delete it and put a 32x16 brick there instead.

2. To prevent the "permanent Boo freeze" issue, why don't you make it trigger about a second or so of invincibility after you are unfrozen?

3. Lighten the orange palette on the Boos so that the thermometer won't clash as much.
Uhh.. where exactly lies the problem with giving those Boos a different palette?
I mean, they are unique to this level and a custom sprite, no?

I'm sure that it would look a lot better if the thermometer could have another colour than the Boo (and the platform doesn't look right to me as well, by the way).
Your layout has been removed.
So .. what's up with this now? I already said that this level could be sent in once those bugs were fixed up, and I haven't heard anything since then.
Sorry, it's Thanksgiving week.

The disappearing platform has been replaced with another platform. I'm asking ShodanWii for the custom boo file so I can change the palette. For the permanent freeze boo problem, I have no idea how to approach this. I'll ask ShodanWii for the file, but I don't know where to take it from there.
What happened in the last few minutes:
- Downloaded custom boo files from ShodanWii
- Asked for help on #smwcp with how to fix the palette; received help from Jayfeather (thanks dude)
- Fixed the palette
- Typing out this post

Just wanted to get this update out right now so that people don't think we're dead. I'll edit this when I learn how to fix the freeze timer.

EDIT: Still haven't fixed the freeze timer because I'm a complete newbie when it comes to ASM coding. I tried to ask for help on IRC but I haven't gotten a solution. Can anyone guide me through this?

Originally posted by SyStemkraSh (IRC)
What should I modify to change this Custom Boo's timer? http://serioushax.pastebay.com/145820 Basically, its function is that when the player touches the Boo, the player freezes for a certain amount of time. After that time has passed, Mario can move again. The problem is that the player can become perma-stuck between two custom Freeze Boos. Thanks in advance.
The link to the code isn't working for me, so I can only give you a theoretical solution:

x = amount of time Mario is safe after getting frozen

Add x to what you currently set the timer to when Mario gets hit, and then when the timer has x time left, unfreeze Mario but don't let him get re-frozen. i.e.:

If (timer == 0) {
timer = <value>
<Freeze Mario>
} else if (timer == x) {
<Unfreeze Mario>
}
<timer decreases, continue loop>

If you haven't done so already, finding out how to make Mario flicker like when he loses a powerup would also help, but I don't know how to do that :b

Disclaimer: I don't know how the sprite actually works, though. I'll take a look at the code, but no guarantees- I'm no ASM expert myself :b
Youtube (Main) | Youtube (Alt) | Bandcamp | DeviantART
Originally posted by AxemJinx
If you haven't done so already, finding out how to make Mario flicker like when he loses a powerup would also help, but I don't know how to do that :b

That's not a problem. It's in the RAM map, and that's good enough for me.
<Alcaro> !ar ram 1497
<AlcaRobot> Flashing invulnerability timer - not to be confused with the star timer. This is activated when the player gets hurt. Controls both interaction (player should not interact with sprites again) as well as the blinking graphics. (1 byte)
Have fun.
<blm> zsnes users are the flatearthers of emulation
Thanks, Alcaro!

Ok, I took a look at the code.

Code
LDA #$9F
STA $18BD
STA $163E,x

This code is called after the Mario-Sprite interaction routine if there's a collision. Basically, it sets the stun timer and the sprite-specific timer to the same value.

Code
LDA $163E,x
CMP #$01
BNE asdf
LDA #$78
STA $1497

This is at the beginning of the main loop. It basically activates the "flashing invulnerability" timer (like when Mario gets hit) right before the sprite-specific timer runs out.

Code
LDA $163E,x
ORA $1497
BNE NoContact

This is called right before the Mario-Sprite interaction check. Essentially, if Mario is stunned or in flashing invulnerability mode, the sprite doesn't even check for collision.

I think the problem is that the sprite-specific timer is used to decide whether or not to check for a collision, so if another freeze boo comes along before the "flashing invulnerability" timer is activated, the stun timer will be reset prematurely, which could be causing desync problems if the first and second sprite collision happen far enough apart from each other. Actually, if the two boos hit Mario at about the same time, I don't think there'll be a problem. Interesting.

Anyway, replace both 'LDA $163E,x' commands with 'LDA $18BD' and see if that works. In fact, you could probably also get rid of the 'STA $163E, x' command- I don't know why that method was used in the first place.
Youtube (Main) | Youtube (Alt) | Bandcamp | DeviantART
@ AxemJinx: I tried out the modified Hold Boo sprite and now, once you are touched by a single Hold Boo, you are permanently stuck on it. May I ask you to try again, please? Also thanks to both of you for helping.
Hmm, that's odd...guess I still have much to learn about sprite coding ^_^;

If you're getting infinitely frozen from one boo, I assume that means the code is always checking for a collision...but I don't know why that would happen :/

I'm going beyond my area of expertise here (read: I have no idea what I'm doing), but maybe instead of checking the stun timer we could just set one of the empty RAM addresses that clears on stuff like level load, and check that instead? So, something like this:

Code
LDA #$9F 
STA $18BD
STA $18BB  ;Empty RAM address

(right after collision test)

Code
LDA $18BB
BEQ asdf
DEC $18BB  ;Decrease by 1 each frame until it reaches zero
CMP #$01 
BNE asdf 
LDA #$78 
STA $1497

(beginning of main loop)

Code
LDA $18BB
ORA $1497 
BNE NoContact

(right before collision test)



Even if something like that does work, though, I'd rather have someone more experienced look it over to make sure I'm not trying something stupid here :b
Youtube (Main) | Youtube (Alt) | Bandcamp | DeviantART
Good news, I think I fixed the sprite's permanent freeze issue. What you said helped me out, AxemJinx.

Originally posted by AxemJinx
This code is called after the Mario-Sprite interaction routine if there's a collision. Basically, it sets the stun timer and the sprite-specific timer to the same value.

Originally posted by AxemJinx
If you're getting infinitely frozen from one boo, I assume that means the code is always checking for a collision.

Originally posted by AxemJinx
In fact, you could probably also get rid of the 'STA $163E, x' command- I don't know why that method was used in the first place.


So basically on the first attempt, I removed the collision which caused the Boo to perma-freeze me. After leaving the collision thing alone, I tested it a few times and I was unable to become perma-stuck, so I hope that means the issue has been resolved. Thanks for your help- because of this the level can (finally) be turned in. :D
Glad to hear it (:

Would you mind sending me the final .asm file at some point so I can take a look at how the code ended up?
Youtube (Main) | Youtube (Alt) | Bandcamp | DeviantART
Alright. I just got to the point in which I have to port this level to the new ROM, but holy god this level is very, very unforgiving, and has to be severely revised. In other words, I'm just passing by to say that I'll take care of this one.
MK2TDS
My revision is done.

It's been shortened to some extent, and got a massive rework in order to get rid of unfairness. Actually, the level was entirely redone but using the original as a base. The night eeries are back, too, and the temperature no longer increases at night, which should have been the original intent but for some reason it wasn't implemented anymore. Hopefully the level still retains its identity compared to the old version.

Pic links:

Sublevel 1
Sublevel 2
Sublevel 3
MK2TDS

Complete