Delightful writeup. Two bits that stood out for me:
- The incremental nature of exploration of this type. Often, the results are shown without the messy bits like "then I made it just teleport the piece to a specific spot to test". That matches how many of us operate, I'm sure.
- The use of a number of varied tools from the toolbox. Falling back to the trusty "sort | uniq" after talking about Rust and emulators with built-in memory peeking functionality? Nice!
I have also added hard drop to NES Tetris. Heh. What are the odds?
This hack strays further away from vanilla NES Tetris though and contains further speed, control and graphics modifications; and lacks that fancy looking ghost piece.
My approach of hard drop implementation was different, honestly i just looped the piece down routine until it hit the ground. His approach breaks the scoring system though, mine doesn't =p
Anyway, this was a great article! Nice rundown of the NES architecture.
When a piece hits the ground, a point is added for every line you were holding the down button. So, you could probably just take the height difference of the ghost piece and the real piece and add it to the score. Remember to set carry when subtracting =p
I'll bet by directly moving the piece coordinates you bypassed this.
Incredible. Pair this with game genie faster auto shift and I've got myself the ideal Tetris. My only request would be to have the option to disable ghost effect. Thanks so much for making this!
Particularly in the context of low-resolution pixelated graphics using a limited color palette, WebP seems a strictly inferior choice to the universally-supported GIF.
I mean all the licensing and incompatibility questions aside, one very cool thing about these newer formats is they (intentionally? unintentionally?) reduce our carbon footprint a little bit, by trying to save delivery costs.
It would be pretty neat if my mac could make a thumbnail of a webp on my desktop, though. I mean without installing software, overriding security policies, or turning it into a developer laptop.
As a concrete comparison, I downloaded the first webp figure on the page, "soft-drop-animation. The webp is 63,250 bytes.
I used imagemagick to convert this file into a gif, resulting in a 119,265 byte file. I then ran the result through gifsicle[0] with maximum compression (-O3) to losslessly optimize it, producing a gif that is 29,711 bytes; less than half of the size of the original webp.
As I noted higher on the comment chain, this usage scenario is particularly favorable to the gif format, while webp might come out ahead for photographic sources.
Is there a good data set on energy requirements for transmission versus compression/decompression of data? Is it really that much in favor of compressed data?
If I follow, you are suggesting that web users protest a format that has been in the public domain for 17 years by instead using a format which has existed for less than 3, and in the process render content inaccessible to anyone not using a bleeding-edge browser?
According to that page, Safari for Mac OS is at least one step behind every major browser except IE. I think it's fair to ask whether the images are broken or the Safari release process is broken.
No doubt about that. As I said, it is a nice project. My comment about "cheating" was directed to the player not to the designer of the project. I had the physical game [1] as a child and I don't remember it having the ghost piece.
negative. modern tetris has moved way beyond NES' system. there have been many improvements to the game, like a holding piece, hard drop, the ghost piece you mentioned, advanced maneuvers like t-spins, and most interesting of all (to me) is the improved piece selection [1]. you're probably aware of the tall block meme -- when you need it, it never shows up! well that's been more or less solved.
there's also interesting strategies/techniques like 4-wide [2]. there's a whole rabbit hole to follow...
if you want to try out modern tetris, check out jstris [3]. the skill level people have attained is unbelievable [4], and can't be replicated on NES tetris.