I was reprogramming the starfield at the beginning of Brony Blaster, and I had an unexpected "Good Glitch" happen to me. The starfield that was supposed to go straight started rotating, which looks really cool.
I'm just wondering, do such "good glitches" happen to you more experienced programmers? Let me know
Vectrex2809 wrote:do such "good glitches" happen to you more experienced programmers?
I've had things working normally when they shouldn't, but I can't recall something working BETTER than it should by accident. Either way, I wouldn't simply accept the new behavior without figuring out what actually happened and declaring it safe.
There's a topic on TIGsource that focuses on things like this. Beautiful Fails. They're not always better, but some glitches definitely produce some cool stuff.
tokumaru wrote:I've had things working normally when they shouldn't, but I can't recall something working BETTER than it should by accident.
I've had it happen with the last level in Sol. When you beat the final boss the whole place starts exploding, and I made the explosion effects by taking the normal ones and disabling the damage code... except it seems I only disabled the code that damages the player. Which means that if you move around you can literally see the level itself falling apart, derbis and all o_o (needless to say, it stayed)
The green leaf monster in my game doing cartwheels when hit was a mistake. If you pay close attention, he is actually just moving his arms and legs in the same way he is while walking, but it looks like he is actually lifting himself off the ground and flipping.
Yeah, there's plenty of instances where a mistake turns into inspiration. In my case, it's when I'm composing and put a note in the wrong spot in the piano roll, or I miscount or something, and the resulting "wrong" melody turns out sounding better than the one I meant to put in. It hasn't happened to me in programming yet because I'm a perfect programmer because I usually lose interest before I get to the gameplay.
Drag wrote:I usually lose interest before I get to the gameplay.
At that point, it's time to learn a high-level language or experiment with an existing engine (The Games Factory was good for this) in order to skip some of the programming drudgery. Then backport after you've figured out gameplay.
Drag wrote:Yeah, there's plenty of instances where a mistake turns into inspiration. In my case, it's when I'm composing and put a note in the wrong spot in the piano roll, or I miscount or something, and the resulting "wrong" melody turns out sounding better than the one I meant to put in. It hasn't happened to me in programming yet because I'm a perfect programmer because I usually lose interest before I get to the gameplay.
...and every time you need to implement a gameplay element, you need an animation to go along with it.
Vectrex2809 wrote:
I'm just wondering, do such "good glitches" happen to you more experienced programmers? Let me know
Though I've never done homebrews, I do hack and I can only recall one time when this has happened to me. Back when I was turning Pokemon Blue into Green (now found in the GBdev section; similar to a homebrew in that I've recoded many aspects to match Green), I had to recode a large portion of the way sprites were hardcoded and compressed. While doing so I repointed a large portion of internal ID codes to free space (I recall it being MBC3, so I had expanded the ROM to its 2MB potential). Well, turns out that doing so made Missingno. appear at $FC000 (free space) in ROM which caused it to not occur but freeze the game. This was good because it gave me a window of opportunity to actually code and make it into a real Pokemon. --ShaneM, the Master of ASM
EDIT: Though I've fixed what actually caused Missingno. to appear (tile collision error with garbage data being loaded from WRAM1 since the water coast tile was treated as a grass one when surfing and Cinnabar has no grass data), it can still be accessed by GS codes in my game. I've assigned it proper sprites (in a newer compressed form using Wood) and real attacks and its own beta cry. I remember that RAM $CFD8 is where the upcoming wild Pokemon value is stored. IIRC, $34 would cause this Easter Egg to appear on my game (no irony intended since today is Mr. Bunny's day ).
This morning I noticed that I forgot to apply impact freeze to jumping enemies. I fixed the mistake, but then I relied I liked the flow of the gameplay more with the mistake, so I reverted it back.