Arika deserves half the credit; the new randomizer behaves very close to TGM's. It's a palette for editing the screen layouts using NSA or 8name, not a palette for displaying the game itself. Tetramino uses the standard NTSC NES palette.
After a brief look at the code (randomizer.s), it appears that the "possession arrow" randomizer of previous versions has been dropped completely, in favour of a "strict history" randomizer. This only ever needs to generate a random number between 0 and 3, meaning that you no longer have any extra states in an n-bit random number.
I'm trying to polish this for a 1.0 release, as I explained on nesdev.com/bbs. I've just added "Animated instruction/attract screen", so the next thing is some sort of music. The NES has only four tone generators (two square, one triangle, one noise) that have to serve for both music and sound effects. Most games use them all for music and then just disable a music channel when they want to play a sound effect, but with two players going >= 80 tpm, it might be hard for the music not to get completely covered by sound effects. What kind of music do you think would work in such a case? Oh, and I'm thinking about replacing the current hard drop behavior (firm drop with reduced lock delay) with Guideline-style hard drop to be less confusing, with IRS applying only after line clears due to the lack of ARE. Would this cause severe tetlag for any of you?
Which channels are used for the sound effects? 1. Unless you're using both squares, I see no reason why you couldn't design a song that does not use the channels you use for sound effects. 2. If both squares are being used, I'd make a song with a good triangle triangle and noise backbeat that's more memorable than whatever the squares are doing if they're going to constantly be muted. Use the parts that are least likely to be muted to set the pace for the competition. I don't think you need to worry so much about something catchy and memorable for two player mode. Just something that will get the blood pumping that doesn't have a short enough loop to be annoying. (After writing all that I looked through the source): It looks like both squares and the noise channel are being used, though I don't know so much about the APU. I'd try to change how you handle sound effects, since at least one square would be a very, very good thing if you want music. How different does the game sound when you don't pass sound effects to the square channel that has a shorter length left to play and just pass all sound effects to one channel? Instead of checking the remaining lengths on both channels could you compare the remaining length on the one channel to the length of the sound effect about to play, and the let the longer length of these two choices be played? It already seems like the sound effect lengths you've got would work well with this. The shift sound would get overwritten by turn, turn by land, etc. and you'd only be using one square channel. The most important one would always seems to win. If you don't want to change your sound effects engine, 2. might still work. I'd check myself how all this sounds myself, but I'm a pesky nesasm user. Regarding the current hard drop behavior, I'd definitely get rid the firm drop with reduced lock delay if only because it hurts me a lot more often than it helps me. My ideal case would be a hard drop with slight ARE for IRS since I like IRS, but a hard drop without ARE would suit me just as well. The firm drop thing just kills me in fast speeds that aren't 20G. Also something I just noticed which may or may not be intentional: You can't pause during line clear delay.
I put in a compile-time option to reduce the square allocation pool from two channels to one. With only one player, it sounded OK until I tried turning off firm drop. Then I heard that line clear overrides land, and I could hear only a tiny bit of land when I cleared a line with a hard drop. I haven't had a chance to try it with two players, but I can imagine it'd be a mess, much like pre-0.33 when almost all sound effects for both players were played on the noise channel. Thanks for finding it. The old behavior was that only a player with an active piece could pause; the new behavior in 0.35 is that if either player has an active field, either player can pause.
Bump for the release of Tetramino 0.35 0.35 (2009-02-07) Replaced static how to play screen with an animated tutorial. More detailed comments in pads.s (requested by Fx3). The manual, which used to be GFDL, has been relicensed under zlib's license. This cut a lot of license text from the zipfile. Renamed the palette files to clarify that they're for nametable editors, not emulators (requested by rednefed). Hard drop locks immediately, as in Tetris DS and Tetris Party. No more "zangi-moves" or "jiznickery" as in The New Tetris or TGM series. Pausing works whenever either player's field is active, not just while the player pressing Start has an active piece (requested by Kasumi). Can disable dynamic channel reallocation at compile time, which makes the landing sound nearly inaudible when clearing a line but might help with adding music (requested by Kasumi). Replaced missing mktables.c (0.33 regression; reported by Memblers). Intro screens advance by themselves after a few seconds. Known defect: Start to exit the tutorial doesn't work as expected This will be fixed in the next version.
In case you haven't been following updates on my web site, 0.37 is out now. 0.37 (2009-04-12) sound: Plays music on those channels that sound effects aren't using. sound: Sound effects are louder to be heard over the music. Line clearing code updated to match solidity change. Extends the status bar into the top row of the playfield to show how many lines are cleared in the current combo. More gray levels for locked pieces. Can hide ghost piece for both players by pressing B+Left at the title screen (requested by eleventhirtyfour, who wanted to stay on 0.32 because ghost gave him a headache). More direct trademark disclaimer on the copyright screen. 0.36 (2009-03-07) Collision takes advantage of 0.34's change to solidity. Spiffy new logo. attract: Interrupting doesn't freeze (0.35 regression; reported by Fx3). attract: Doesn't erase player 2's last score. sound: Sound effects can run slower than 1 frame per opcode, saving space. sound: Some minor fixes to (unused) triangle wave channel. Estimated music code+data budget: 5 KiB currently free without having to resort to NROM-256.
Just played a few rounds of 0.37. It's pretty good, I like the step reset, initial rotation (though a little ARE would make it work better), and the scoring that encourages combos but doesn't shove them down your throat like Ti's Easy / Heboris's Tamaya. I'm still getting used to TOD Rotation though, and the DAS feels a little too fast for my liking. Now if only I had the skills or tools to put the ROM on an NES cart; it would be the definitive 8-bit tetromino game.
Look at what Dwedit and Drag helped me figure out on the NESdev board: orange-green-blue dithering. Does it look any better than grayscale?
Why not give us a direct feed screenshot instead of a video capture with composite creep? I understand the principle behind dithering, I just wanna see it without any artifacts.
He probably wanted to show how it would really look on a television set. most likely it owuld look worse on an emulator.
Close; that's actually Nestopia. And the "0.37" at the top is wrong; it's actually Tetramino 0.38. 0.38 (2009-04-22) Draws blocks in the well in color using dithered combinations of blue, orange, and green (requested by Dwedit; based on palette mock-up by Drag). Changes the attribute (color scheme) inside the well to color at game start and to gray at game over. Adds a short delay (up to 1/4 second) before pieces come out starting after 1G (requested by Xkeeper). Start pauses music too. Player can turn off music (requested by Yaz). Player can place pieces partly out of bounds, in three hidden rows at the top of the well called the "vanish zone", without topping out. Instead, the player loses when a piece spawns overlapping a block inside the vanish zone or when a piece locks entirely in the vanish zone. Clearing a line brings blocks out of the vanish zone (requested by Xkeeper).
Then there's no good reason to be using a composite capture; the colours from an emulator's RGB palette converted to a composite YUV signal and back to RGB with a capture card are bound to be different from that of a real NES which has a hardcoded YUV palette in the PPU which handles composite output. Either use an emulator screenshot (and save us the eye cancer) or use a capture from a real NES.
I've shown you the emulator screenshot, so here's the capture from the NES. Oh, you meant a digital video capture card. A lot of those don't handle 240p signals[1] well. [1] "240p" is what you get when the 8-bit, 16-bit, or 32-bit console outputs all even fields or all odd fields in order to trick SDTVs into not interlacing.
Much better. Now might I suggest instead of using blue and pink for the T piece, using blue and red, which would enable you to change the Z piece from orange and black to solid red (just like the J piece is solid blue). I think that would look a lot better.
If I made red one of the three primaries, then I'd have to mix red and green somehow to get both yellow (O) and orange (L). Should I try it for poops and grins?
Maybe make it a code, like those alternate colors in fighting games. Requesting an option to disable music playback. Personally, I find such an option to be "front page material", but it's your call. I say this because such an option is selected before you start a game in nearly all other NES falling block games.