[MODDED] Up: Hard drop Down: Soft drop Left/Right: Move Z: Rotate left X: Rotate right A: Hold Escape: Quit
Dang, that's good for an ASCII game. Here are a few things I noticed: You can zip the exe so that it doesn't throw an "Unknown Publisher" alert box whenever someone downloads it and tries to run it. (The other way to suppress the alert is to pay VeriSign $500 per year for an Authenticode certificate.) You can use UPX to shrink the exe. This is the first PC-based text mode game that I've seen that has a shadow (aka ghost, TLS) and non-locking soft drop. Color "cyan" appears to match the color of I tetrominoes in TDS a bit more than your color "dithered mixture of blue and white". Compared to the DAS rate, the DAS delay is a bit too short, resulting in misdrops. You have T, Z, and other 3-wide tetrominoes showing up in columns 5-7 like on the NES. Nowadays, I'd guess more people are used to SRS and ARS, which put them in 4-6. The I tetromino appears to be IRS'd counterclockwise by one. The T-spin single twist works, but the T-spin triple twist do not work. Instead, the other rotation that I would have expected (i.e. what ARS does in the same situation) works. What were your ideas behind this rotation system? One game started with the sequence OZOZLIL. What were your ideas behind the randomizer?
Yeah, but my goal was to allow anyone to run it just by clicking the link without having to save it I guess I'll zip it when I implement high scores and settings. Cool. Originally, it was 17kB, but it required the MSVC 9.0 runtimes, so I compiled it with /MT instead of /MD, but it made the size jump over 100k... UPX drops that to 58kB, not bad! Oh yeah, blue + green! Don't know why I didn't think of that -- I thought it was weird that it was "impossible" to get a light blue, even though I had seen it before! You're right, it's set to 88 ms... That's pretty short... I guess I got used to the crazy short delay when I kept playing 20 minute games every time I compiled.. Oh yeah, that's basically a beginner's "arrays start at 0, not 1" mistake Also, for some reason, I'm making Is spawn vertically instead of horizontally. I made the rotation system a bit more lenient than most games I've played. Basically, if you try to rotate it and that would cause a collision, it'll look for other places to put it (pretty standard kick algorithm) -- it checks (1,0), (-1,0), (1,1), (0,1), (-1,1), (0,-1), etc... But does it in reverse if you're pressing left (i.e. it checks to the left). That prevents things like Mihara's conspiracy... It also allows for a couple of things that are actually impossible in most games. I didn't implement anything to check whether rotation around the T's "arms" would work, that's why you can't TST (or do weird L/J twists). I'll probably implement that as a special case when I get to the part where I actually count scores I generate 14 piece bags with two of each piece and shuffle. Isn't that what most (recent official) games do?
Another way to do this is to try one set of kicks for Z and the mirror image for X, like DTET does. I haven't seen one that uses the 14-piece bag. It was discussed, but I think Tetris Online went with the 8-piece bag.
Oh yeah... For some reason, in my mind, TDS used 14 piece bags because it's not uncommon for two identical pieces to show up in a row... But that really only happens at the "junction" between two bags. With 14 pieces, you can actually get 4 of the same in a row, which is just downright wrong!
Updated, you can redownload it through the link in the first post. Changes: - UPX'd, was 123 KB, now is 58 KB (could be 9 KB if I didn't disable dependencies to MSVCRT ) - Made I the correct color - Made DAS delay 120 ms instead of 88 - Made pieces start at column 4 instead of 5, moved O to the right so it starts in the center. - Changed to a 7 piece bag I'll work on twists this weekend, and of course scoring, a GUI and stuff, different game modes. On another note... Any ideas for names? I'm pretty sure "ASCII Tetris" is a bad idea Oh and thanks for the advice, tepples!
what about ASCIItet? or askytet? awesome blocks? i think the name "blockstar" is available. edit: asskicktet
No, it's 7-bag. Edit: Sorry for being ignorant. Must have been rushing when I said that. Edit 2: DELETE THIS POST
You can shrink it further if you compile against msvcrt (MSVC 6 runtime library) instead of the 7+ one. Can newer MSVC do that? Or would you need to use MinGW?
There's apparently a hackish/unsupported way to do that, but it's pretty complicated, and it bars you from using the Visual Studio 2008 debugger... I'll probably look into it when the project's finished; it'll be a good learning experience. Haven't really touched a makefile since I dropped out of computer science..
I found a name: Wrong Century. Seems fitting of a modern Tetris clone running in a console window I made a little video: http://www.youtube.com/watch?v=6NTYOduRKDQ Anyway... Still needs plenty of work... I'll hold off on releasing it until I have a proper opening screen/menu/etc.
Tip: For the T you could try a dithered mixture of 25% blue and 75% magenta. Use this character: ? (Alt+17
Unfortunately, it doesn't look quite right... I did however find a way to change things like the character size (so I don't need to represent blocks as two characters anymore, and won't require the player to go into the console window's properties), and the color palette (so I can have colors that don't induce strokes, including real, non-dithered orange) without having to hack up the registry or globally affect all console applications. Unofficial kernel32.lib FTW :X
Any chance of a version that imitates the Elektronika 60 version graphically? With optional choice of light grey graphics or bright green graphics .
NEW TEASER TRAILER OMZG http://www.youtube.com/watch?v=f10AF3ph9U4 What do you think of that audio idea?
Hah, that's a really interesting idea. It's sort of like a cross between Beatmania and Tetris. It's intriguing to see what can happen as a player increases his TPM. Also, it's a unique way to keep track of the "time".