Introducing unnamed TGM clone! Yay! So I decided to make a pentomino game with TGM's engine because my favorite clone Fierceblock wasn't ready to play yet. One thing led to another and now it aims to be an all-around TGM clone. The engine will eventually be (already is?) more accurate than Texmaster, and the code is cross-platform and MIT-licensed. Currently the only TGM modes I've implemented are death and shirase, but it's somewhat trivial to put in new modes. I plan to have a lot, including ALL of the TGM modes (well, except maybe Easy mode ). The randomizer for TAP is almost 100% accurate, only the initial seeding is wrong (I seed it with time(0) on the first game in a session). The TGM1 and TGM3 randomizers are both set to use TAP's until I get the code for them. Keyboard input handling works the same as MAME (mostly!), so it should be better than Texmaster for keyboard play (in Texmaster you can't press down if you're holding left or right). Joy2Key is required for joystick play at the moment (sorry if this causes problems!). ----- DISCLAIMER: I work on this for fun, I'm no professional when it comes to programming. Since it's written in C, the code is not guaranteed to be safe. Also: Texmaster is great, and I still recommend it. I compare my clone to Texmaster a lot because I use it as a baseline for quality. The only way is forward! ----- Installation for Windows: Extract the files; in game.cfg, set key bindings and set the HOME_PATH option to the full path to the directory where you extracted the ZIP archive. Run the game from the same directory as game.cfg or specify the cfg filename as an argument. Installation for Unix-based systems (Linux/Mac OSX/BSD): You'll have to build it from source. Dependencies are sdl2, sdl2_image, and sdl2_mixer (all 32-bit versions). Once you have these just run `make' in the src directory and configure the bindings and HOME_PATH (see above). ----- Controls ESC returns to the main menu, or moves control back to the menu in the practice tool Left/right with a mode selected changes the starting level D button in pentomino modes: 180 degree IRS Initial field editor: Shift+click and drag selects a rectangle 1-7 enter a cell corresponding to the piece colors (ITJLOSZ) or fills the selection 0 or left click enters a grey (garbage) cell 9 enters a bracket block Shift+(0-7,9) fills non-air blocks in the selection Right click deletes a cell Delete/Backspace deletes the selection CTRL+A selects all CTRL+Z is undo CTRL+Y is redo Piece sequencer: Enter/Return toggles text editing CTRL+A selects all CTRL+C and CTRL+X for copy and cut are unfortunately not implemented yet CTRL+V pastes ----- Notes on the piece sequencer: Lowercase letters are ignored. Illegal symbols are ignored (and likely will not show up properly). Putting a "4" suffix onto a piece name will give you the tetromino with that name. If you are in QRS mode, for example, "T" will register as a T pentomino, but "T4" will be the standard T tetromino. Groups can be defined with parentheses. "(JIOL)" will group J, I, O and L together. This is useless [except for readability... you can use spaces anyway though] unless you specify a repitition count. You do this by adding an asterisk "*", followed by a number (or "INF" for infinite repetition) to the end of the group. For example, "(JIOL)*8" to repeat the group JIOL eight times, "(J)*INF" (or "J*INF") to repeat only J pieces forever. Incomplete group syntax will do nothing, and groups can be mixed with regular sequences. [Side note, I don't expect this to be useful for much other than infinite repetition, but play around with it ] ----- DOWNLOAD Version beta1: http://digitalno.de/public/tetris/felicitys_clone/release-beta1.zip ----- If you're curious what I'm working on: I will probably be leaving random updates about my plans/progress on Twitter. Known bugs Volume settings are not saved if you change them from in-game. (I also recommend you use this only to balance sound effects and music volumes, because at low values, rounding will come into play) Left/right handling on keyboard causes unexpected lack of DAS [Probably fixed] Crashes after a few seconds of play for some Windows users for unknown reasons Using hold for the first time on the last piece in a sequence in the practice tool crashes the game [FIXED IN NEXT RELEASE] Floorkick autolock mechanics are slightly more permissive than intended [FIXED IN NEXT RELEASE] Returning to the main menu during a background transition doesn't reset the brightness, resulting in a sometimes very dark image [FIXED IN NEXT RELEASE] HOME_PATH setting requires a full system path and does not accept trailing slashes (e.g. /home/fe/game works, /home/fe/game/ or game does not work) In the practice tool, mouse-related editing functions don't work with a video scale that isn't 1 [FIXED IN NEXT RELEASE] In G2 Death, if you reach level 999 by exactly the right number of levels (e.g. clearing a tetris at 995, 995+4 = 999), a replay is not recorded. [FIXED IN NEXT RELEASE] Replays influence the seed of the next death/g3 terror game that you play, allowing repeated plays of the same seed [FIXED IN NEXT RELEASE] In Death mode, passing level 500 gives you the grade MK instead of M [FIXED IN NEXT RELEASE] Grades above MK render as "--" (same as no grade) [FIXED IN NEXT RELEASE] In G3 Terror, reaching level 1300 gives you the grade "S13 m1" and lets you continue (mihara?!) [FIXED IN NEXT RELEASE] In G3 Terror and pentominoes, the T4 can floorkick two cells upward [FIXED IN NEXT RELEASE] In G3 Terror and pentominoes, the T4 floorkicks on the wrong orientations [FIXED IN NEXT RELEASE] Garbage (grey) cells are not drawn with an outline [FIXED IN NEXT RELEASE] Let me know if you find more! ----- Just posting this so I get a version out before feature creep laziness anything delays it any more. Also will mention, there's no music for the TGM modes right now, but you can supply your own in the audio/g2 and audio/g3 directories. Just make sure they're either .ogg or .wav and rename them to track0, track1, etc. If you want a different sound pack (*cough*), feel free to PM me on the QuakeNet IRC and I'll send you one. I usually use the nick "Felicity" on there.