As the ROM gets closer and closer to being completed and looking a lot more like a legitimate video-game than just a regular SMW hack, I got an idea for something.
Would it be possible to have button-activated cheat codes in SMWCP2?
Look at games like Donkey Kong Country, Sonic the Hedgehog, Contra, and many others. Hitting a sequence of buttons at the title screen could activate anything from being given X amount of extra lives, to unlocking every level, to invincibility, to being able to skip levels, and such.
Is there any way that we could program button sequences at some point while the ROM is running--such as at the title screen--to activate certain hidden features? One could turn on the ability to skip levels by pressing Start+Select, as seen in SMW's default debugging/test mode. Another sequence of buttons would cause one of the final Overworld events to activate, thereby making the game practically 'beaten' or unlocking every level? Still another sequence could prevent sprites from interacting with Mario, rendering Mario invincible. There are other possibilities, too.
Many legitimate video-games, especially on the SNES and other 16-bit systems, had codes like these. Wouldn't it be great if SMWCP2 did, too?
It'd be a cool idea, but it sounds too game breaky, and no doubt people will skip others levels and I'm sure people have put a lot of effort in their levels and it'd probably be a bit disappointing that their level is skipped, especially if it's a bad one. (That is, to whoever the player is and thinks)
Anyways, idk if it's been discussed so _/(°_o)\_
I thought about the point you raised, the one about people being disappointed that their levels would be skipped.
1. I'm sure some people at Nintendo were disappointed at how many people skipped the SMW levels they made by using the Cape. We've all done it. The same goes for other games with level select/all levels unlocked codes.
2. The codes could be made exceptionally hard to find, as in hidden in the bonus levels or in obscure places only the most savvy gamers would think to look.
3. Some people who are impatient or who want to play the hack's levels as sort of a 'pick and mix' (they play whichever levels they want in whichever order) might actually enjoy the hack more if they had a way to unlock every level. It sounds like a weird way to play a level-oriented video-game, but there are people who like that style of gameplay.
Originally posted by reghrhre
It'd be a cool idea, but it sounds too game breaky, and no doubt people will skip others levels and I'm sure people have put a lot of effort in their levels and it'd probably be a bit disappointing that their level is skipped, especially if it's a bad one. (That is, to whoever the player is and thinks)
Anyways, idk if it's been discussed so _/(°_o)\_
The best part about it is that it would be entirely optional. If you don't want to use the codes, then don't. Until I beat the game at least once, I personally wouldn't use the codes.
Originally posted by Camerin
2. The codes could be made exceptionally hard to find, as in hidden in the bonus levels or in obscure places only the most savvy gamers would think to look.
The problem with hard to find codes is once one person finds it, EVERYONE knows about it. I'm all fine with inserting some kind of cheat code, but make it something small that wouldn't really break the game; "Start every level with a mushroom/flower/star, etc" or "start with an additional 5 lives" or something. Personally I say leave the "skipping" levels portion out of it.
Layout by LDA during C3.
We just shouldn't care about people posting the codes anywhere, that also happens with retail games, so I don't see the problem in having it happen here.
Some people just like playing with cheats more.Your layout has been removed.
Maybe cheats should be activated once the game is beaten?
Or 100% finished?
I have an idea how to code it.
Not sure if it will work, though.
Check if *freeRam* is zero and if mario is pressing a button1
If yes, Inc *freeram*
If no, return
Check if *freeRam* is one and if mario is pressing a button2
If yes, Inc *freeram*
If no, return
And repeat
That's .. pretty much exactly how it would be coded, yes. It's not really particularly complicated to make. The problem here is coming up with ideas that wouldn't be too extreme and/or wouldn't be a waste of time to implement - that is, if we even decide to take this route.
I'm almost done with the code.
http://mibpaste.com/nnDTSI
Except the "positive branch too long" error.
Uh, that's a pretty long and somewhat buggy code. Not to sound rude, but we should use this one instead if we do come up with ideas.
There are a few 'cheats' I've thought of that I doubt would break the game much if at all.
1. One cheat could activate the 'big Mario turning small' routine whenever Small Mario is hit by an enemy or runs into spikes. In essence, it would create a kind of invincibility that wouldn't interfere with gameplay.
2. Another cheat could change Mario's starting position to a random island off the main overworld. On this island is a level tile that will lead the player to the final level/hidden boss of World 9.
3. Still another code could unlock a hidden cutscene in which Chester and System fight for control of SMWC. Come on...you know you want it.
4. Finally, one code could give you enough SMWC Coins to access World 9 (or whatever main thing the coins will be used to access). The SMWC Coins in levels would still be able to be collected if the player wanted to achieve a 100% completion of the hack. Similar cheats were used with DKC2 and DKC3's Kremkoins, and it worked out very well for them.
Originally posted by Camerin
3. Still another code could unlock a hidden cutscene in which Chester and System fight for control of SMWC. Come on...you know you want it.
I'd rather have that for SMWCP3, which will most likely happen, if you ask me. I'd grow on this idea once were done with this collab...
Originally posted by Lightvayne
Originally posted by Camerin
2. The codes could be made exceptionally hard to find, as in hidden in the bonus levels or in obscure places only the most savvy gamers would think to look.
The problem with hard to find codes is once one person finds it, EVERYONE knows about it. I'm all fine with inserting some kind of cheat code, but make it something small that wouldn't really break the game; "Start every level with a mushroom/flower/star, etc" or "start with an additional 5 lives" or something. Personally I say leave the "skipping" levels portion out of it.
A solution I see to this would be to have the codes be randomized per SRM file.
On the intro level, use random number generation to determine the order of key presses for each code. Store these to free RAM that never gets cleared. Tell the player the code(s) at the end of the games or wherever you feel it is appropriate. VWF Dialogues patch would be one way of checking the values set to the free RAM addresses and telling the player the randomized cheat codes.
The potential problems I see with this method are...
1) If multiple files are used, it would overwrite the existing cheat codes if the player started a second file (a possible way around this would to be use different RAM addresses on a per-file basis and have the cheat input accept all 3 random possibilities)
2) The possibility of two cheat codes generating the same input (possible to code the generation routine to prevent this from happening so long as you consider the possibility)
Other ideas for possible cheat codes...
5) Different player graphics. (Mario in funny costumes? Wario? Yoshi? More than one code could do this with different player graphics for each one)
6) 50 extra lives on the start of the game.
7) Start the game with maxed coins (assuming a coin wallet style of coin counter is being used)I have a hack thread - Link (Now with a demo!)
Also a music thread - Link
Also, A2MT is using the YI password system (password on overworld activates event) to unlock one of the final levels. Just throwing that out there.
Warning: Opinions expressed by Lexie or others in this post do not necessarily reflect the views, opinions, or position of Lexie himself on the matter(s) being discussed therein.
I'm not sure about Demo though - what would the Talkhaus people think of it?
But anywho, how would one achieve different player graphics?
I really dislike the idea of using a code to unlock a required level. That crosses the line between 'cheats' and 'being annoying'.
Originally posted by Giant Shy Guy
I'm not sure about Demo though - what would the Talkhaus people think of it?
But anywho, how would one achieve different player graphics?
I dunno the specifics of how the patch works since I've never used it/looked at the code, but similar to how the separate Luigi graphics patch works. Use that as a baseline, modify it to load separate player graphics based on a freeram address rather than the current player.
Palettes... Again, I don't know the specifics of how it works, but I do know there's a way to change palette settings through ASM. Just base it on that same freeram address.I have a hack thread - Link (Now with a demo!)
Also a music thread - Link
I really dislike the idea of using a code to unlock a required level. That crosses the line between 'cheats' and 'being annoying'.
It's arguably the hardest level in the game, and it's postgame.
Originally posted by Giant Shy Guy
I'm not sure about Demo though - what would the Talkhaus people think of it?
I just checked with the collaborators, and they think the idea is neat. I think the connection between the two communities would be pretty awesome.
Edit: We might be able to do the same thing for A2MT, but in reverse.
Warning: Opinions expressed by Lexie or others in this post do not necessarily reflect the views, opinions, or position of Lexie himself on the matter(s) being discussed therein.
I agree. A bridge of sorts between the hacks is a pretty cool idea.
And if the level is postgame, I guess I don't really see a big problem with having it unlocked by a code. It would be an interesting 'Beat this!' gimmick hard-level addicts might enjoy.