Shiromino: TGM + Practice Tool/Pentominoes

Thread in 'Research & Development' started by FeV, 16 Apr 2017.

  1. @FeV i tried to swap hands/left-right hands the other day, meaning i tried to move pieces with WASD and to rotate them with the arrow-keys and there's some errors. It seems that they are kind of hard coded to arrow keys moving up/down or something related?

    No pressure, just wanted to let you know. Just try it yourself and you'll see.
    FeV likes this.
  2. Hey here's my main feature request, which i think would be so useful:

    Integrate a function that lets me delete (or archive in extra folder for bonus points) bad replays. You're parsing the whole folder anyway, so having a "Crop to 10 best replays per mode" would be a cool and handy feature.
    Replays that were started from >Level 0 should probably count as a single mode in that case.
    So after execution the function i'd be left with:
    * Top 10 of G1 Master (started at 0)
    * Top 10 of G1 Master (started at 100)
    .... etc etc...

    Just a thought :)
    Regards and happy christmas time!
    FeV likes this.
  3. FeV


    Thank you for the suggestion, yeah something like that should be implemented, I agree. Managing the replays at the moment is really annoying. I just rename my old replay directories when they get too big and start a new one.

    Re: updates: I'm sad because I have done nothing. Sad coder. It's normal for me to work in extremely productive bursts and then lose interest for months, so this isn't unexpected for me, but one of these days I'll see if I can force myself back into it.
    joemaro and Qlex like this.
  4. That's great to hear! But keep in mind that it's functional already so there's no pressure. I'm saying that because I'm much more creative without pressure. Enjoy yourself and if you enjoy coding this, better for us :p
    Last edited: 14 Dec 2017
    FeV, FreakyByte and Qlex like this.
  5. FeV


    Hi, still not dead. I guess I should post an update about what's going on with this.

    Basically, I lost motivation for game development from September last year until finally exploding back into it at the beginning of March this year. I spent about two weeks using every bit of time I had teaching myself java and hacking on an old version of Minecraft since it was easy and fun to add things and mess around.

    I've successfully moved that momentum to Shiromino, sort of, because the plan now is for me to learn C++ and do a huge refactoring job while moving Shiromino away from straight C. I will try to get it to version 1.0 by the end of the year if I can, but since my life is so random that's down to when and how I find interest in it. Because if I consistently worked as hard as I have been for the past month it would be done in 40 days, hah. We'll see how it goes.
    Last edited: 1 Apr 2018
    joemaro and FreakyByte like this.
  6. FeV


    Another small update: I've finished converting it all to C++ and everything compiles fine. Cleaned up the code formatting too, finally.

    We've also got a new replay system in place now thanks to @MaryHadALittle :) it uses SQLite instead of the filesystem, so there's a lot more flexibility to add features on that front now. Obviously it's not backwards compatible though. The other big development so far is a new SDL-based GUI library of sorts that I'm writing alongside (and for) Shiromino, called SGUIL (Simple GUI Layer). I'm designing it to be somewhat general-purpose, and I'll eventually make it its own thing, but right now the plan is to just get the essentials of it in place before implementing it in the game.

    Once I've put together the new menu system I'll do a couple of small fixes and release beta3. Unfortunately it's not going to be a featureful update, nor will be beta4 I imagine, but the progress has been very quick so I'm happy with how things are going. Maybe expect beta3 sometime in May.
    joemaro, Qlex and FreakyByte like this.
  7. FeV


    Added link to a feature request form! You can find it either in the first post or right here: click me
    joemaro and Qlex like this.
  8. FeV


    Another quick update... I decided to start overhauling game logic in this update on top of it all, so a beta3 release in May looks less likely. On the bright side this will be a huuuuge improvement because it will modularize the rotation systems, modes, and the outermost game logic, which will make the process of adding new modes and rotation systems and game types (such as NES tetris or esoteric things like bombliss) much clearer and mostly quicker. This has been difficult so far and I'm a little stuck on designing the TGM mode structures, so I don't know how long it will take, but the basic stuff is there.

    Side note, I finally just discovered a bug that results in the I tetromino's wallkicks being reversed (i.e. they are allowed in TGM1 and TAP and disallowed in TGM3 and QRS, when it should be the other way around). Unfortunately this is proof that, until beta3 is out, the game is not completely accurate. Hopefully by then we will have figured out a way of testing its accuracy against TGM1 and TAP in MAME.
  9. FeV


    Okay, beta3-pre1 is out! Check the first post for the download link. Windows binary included this time (:

    Why so many rapid changes of plan, you wonder? Because.
    Also, I thought it might be cool to start releasing updates in shorter intervals. :)
    Also also, there wasn't a binary available for beta2.
    Also it's really late and I'm sleep deprived... programmer need more coffee...
    joemaro, Echo and FreakyByte like this.
  10. very nice! gonna try this ASAP, do you have a changelog?
  11. FeV


    Yup, should be available in "docs/version-history.txt", although not much changed in this first pre-release :)

    I'm working on a beta3-pre2 release right now that will have some visual changes, bug fixes, and updates to the Pentomino mode, which is now named Pentomino C (it will be preceded in difficulty by Pentomino A and Pentomino B modes, when I get to making those) :)
    joemaro likes this.
  12. Thanks for all your work on this! I'm pulling from git (master branch) every once in a while and i love the new 'autoscaling-to-window' feature.

    I'm usually playing with plain black backgrounds instead of the images, so if there'd be an option in game.cfg, i'd use that (but it's no hassle to just copy my edited images into /gfx ) just thought you might be interested to know.

    is the wallkick fix in the master branch or are you currently only working on the 'v.beta3-pre1' tag?
    FeV likes this.
  13. FeV


    Thank you for mentioning :) Please feel encouraged to put any old idea into the feature request form, even just little ideas like this: "options in game.cfg for backgrounds on/off". They all go into a Google Sheet that I keep open, and I'm trying to check back to it when working so it can give me specific things to work on :) Hopefully over time it will shape me into a more focused developer, haha.

    Edit: And regarding the wallkick fix, it's not on the master branch unfortunately because my workflow has gotten all jumbled up... the branch "gui-and-gamelogic" was a merge of "gui-system" (to rewrite all the GUI stuff) and a game logic rewrite branch.

    Basically, I'm doing a HUGE rewrite. The code has been poorly managed in the past; so many modules are interrelated and highly coupled. Therefore I just ended up wanting to do it all in the same branch to try to understand how I will make the various new modules interact.
    Last edited: 9 May 2018
    joemaro likes this.
  14. Wow, I didn't know about this clone.
    I'd been playing Pentomino, is really fun and... wow, really challenging, haha.
    I'm trying to get used to it.

    A suggestion for Pentamino:
    *Would you consider changing the level up system for the one present in TGM3?
    I mean when clearing lines:
    single = 1 level up
    double = 2 levels up
    triple = 4 levels up
    tetris = 6 levels up
    pentris(? = 12 levels up

    I think that considering the challenging nature of playing with all these new pieces, performing a Tetris or a Pentris would feel more rewarding.

    And a question for Shiromino in general.
    Is possible to play the game in widescreen with background images in widescreen too?
    Or the resolution is forced to 640x480 and upscaling for fullscreen?
    Last edited: 13 May 2018
    Echo likes this.
  15. FeV


    @nahucirujano It's forced to 640x480 logical resolution, and SDL upscales it automatically, so no there's no widescreen right now. It's a feature I have considered, and it is one I would like to see implemented.

    Regarding the suggested changes to the pentomino mode: I don't want to reward 5-line clears (pentrises) more than tetrises, because the randomizer is non-uniform and it would result in the number of levels you can theoretically earn in a set period of time coming down to chance (you can only get a pentris with an "I" pentomino, which the randomizer is more biased against compared to the "I" tetromino).

    EDIT: I also just want to point out, that due to sudden unexpected health concerns, my work on Shiromino may stop or become erratic and unproductive. I'm not really sure right now what the impact on the project will be, but I felt it was a good idea to be transparent about this, since it's a marked shift away from the powerhouse of development in recent months, and it seems there is snowball-effect community support for the clone suddenly, so I don't want to disappoint anyone.
    Last edited: 13 May 2018
    Kitaru, Qlex and Echo like this.
  16. I'll just drop this here.

    This game's good, really looking forward to the next updates.
    FeV and Qlex like this.
  17. FeV


    Thank you :) nice run by the way, especially the N kick at level 474 (I had no idea that was possible...) hahaha.

    So talking about health, it turns out that I just had a little scare, but nothing long term or serious. That means I'll release beta3-pre2 very soon (possibly today) and take things from there. It's an important update because it establishes revisions for unfinished modes such as Pentomino C, and also I finished adding unique colors for every pentomino now. @Oshisaure I recommend you pick up pre2 as soon as I release it because the new colors will take some adjusting :p super happy to see someone playing it though!
    joemaro likes this.
  18. Thanks :D and yeah even with something as straightforward as an ARS base, and even if QRS is less permissive overall than my own take on a pento ARS (my version is literally every piece can kick once or twice left or right, or floorkick one cell up) there's some pretty interesting stuff that can happen when a third of your pieces are 4x2

    Can't wait for beta3-pre2, if you need help/feedback on something let me know, I'd be glad to help.
    FeV likes this.
  19. Any chances on running on 32 bit windows?
  20. FeV


    @FerSave Just set up a 32-bit build environment today, and it seems to work fine. I just need to get all the appropriate 32 bit DLLs, which admittedly is a pain, but hopefully I'll get to it soon.

Share This Page