@mavica_again The "smoke" effect is probably something like: copy each line up, but subtract 1 from the opacity as you copy. At the bottom line you just have some little gradient rows that move back and forth and overlap.

"burning" i think is probably the same with some randomness to copy a pixel to the left or right instead.

@mavica_again zsnes is absolutely the reason I took a break to write a snow option for the pause screen in my Atari ST core.

Follow

@rainwarrior for that matter how do you efficiently make that snow effect? i imagine it isn't by keeping track of every single particle

@rainwarrior i always thought there must be some trick that's in way over my head but i guess not!

@mavica_again In Lizard on the NES every game object had 19 bytes of storage. To make snow, I created an object that stores 6 x,y pairs (12 bytes) and animates them as snow sprites. When I wanted it to be very snowy, I just placed a couple of them in the room. Was actually pretty okay, performance-wise.

github.com/bbbradsmith/lizard_

@mavica_again It didn't exactly feel clever, but maybe surprising that it's just not that bad to have some particle effects going, since it seems rare on NES?

Even just one object with 6 snowflakes still was a nice effect, especially since they had independent motion.

Also, just below the snow code is the rain code... which is very compact because it just runs the snow code twice so it falls twice as fast ;) and then uses a blue sprite instead to draw them.

Sign in to participate in the conversation
Computer Fairies

Computer Fairies is a Mastodon instance that aims to be as queer, friendly and furry as possible. We welcome all kinds of computer fairies!