Shiromino: TGM + Practice Tool/Pentominoes

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

  1. FeV


    Shiromino v.beta3-pre2

    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.

    Input handling should be slightly 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 about that).

    September 2019 Edit: So it's been a really long time since I worked on this project. I'm happy to hear that so many people still play my game, but very disappointed in myself for discontinuing development on it. My life kinda took a turn for the worse, and the support that I had in working on the project wasn't there anymore, so I lost all sense of direction and motivation. I'm doing better now, but things in my life are still uncertain at the moment so I'm not sure when I might return to this project. I'm certain I will at some point though. And thanks to anyone who continues to play Shiromino!

    Disclaimer: I work on this for fun. Updates are sporadic and never guaranteed. It's written in C by someone who doesn't have enough patience for C C++ by someone who is still learning C++, and therefore the code is guaranteed to be buggy. Expect a couple crashes, especially in beta! ;)

    Most recent experimental build (beta3-pre3-dev):
    Version beta3-pre1:

    Version beta2:
    Version beta1:

    Source code on GitHub
    Feature Request Form

    Installation for Windows:
    Extract the files; in game.cfg, set your preferred key bindings. Run the game from the same directory as game.cfg or specify the cfg filename as an command-line argument.

    Installation for Unix-based systems (Linux/Mac OSX/BSD):
    I don't have binaries available, so you'll need to build it from source. Dependencies are SDL2 (version >= 2.0.5), SDL2_image, SDL2_mixer, and SQLite3. Once you have these just run `make' and configure your key bindings.


    Escape 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:
    • Piece names must be uppercase (and in the case of e.g. Yb pentomino, the 'b' must be lowercase)
    • 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 nearly useless 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 :) ]

    Known bugs
    • Cleared this section for now!


    Also will mention, there's no music for the TGM modes right now, but you can supply your own in 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. :)
    Last edited: 21 Sep 2019
    GyRo, Jii, FerSave and 13 others like this.
  2. Any updates?
  3. FeV


    Good question. I am still (sort of) working on this, but the last few months have been a little unusual for me for various IRL reasons. There's talk of getting at least one more person on board and moving the code to GitHub once SGDQ is over, so by then hopefully we can clean up the code and get a minor release out. Still no promises, but I would say it's likely there will be an update by the end of July early August. :) Happy to see some interest.
    Last edited: 1 Aug 2017
    deeden and Qlex like this.
  4. FeV


    Minor update on my progress :)

    I'm done putting new features in for the beta2 update. Should be moving to git very soon, but as usual, I'm late compared to the ETA I gave for this update being released... the main problem I have is that I don't have experience building software on Windows, so I have to figure that out before I can release a Windows binary. (I have Windows 7 64-bit, but if other people could supply binaries that would probably be helpful!)

    I'm trying to fight the urge to delay my version releases, I really am, but this is my first time trying to develop with a schedule in mind, so bear with me. Some cool features should be on the way once this update is done...

    EDIT: Oh, and it's going to be called Shiromino. (Final answer, Alex.)
    Qlex, d4nin3u and FreakyByte like this.
  5. Looking forward to it!
  6. FeV


    Just to put another little update out about what I'm doing... I would like to say that I should have an easier time hitting deadlines in the future, because a lot of the reason it's taking so long this time is that I kept putting off making a Windows binary since the build system was not made with Windows in mind. And then there's feature creep... this update should be a lot more polished than it would have been, at least. ETA is uh, the end of this week I guess :p
  7. FeV


    Shiromino v.beta2 released! See first post for details/download.
    Qlex and joemaro like this.
  8. wow! i'm really impressed! compiles in an instant here and plays perfectly! <3
    Hope to see further progress on this one!

    (manjaro linux 64, which is based on arch)
    Last edited: 24 Aug 2017
    FeV likes this.
  9. any hints on how to play fullscreen? (using videoscale 2 atm)

    also: are the flickering fonts (time, level & score) intended to be like that? i think it's only in death & 20g modes, but i find it a bit annoying.
  10. FeV


    Fullscreen is.. not implemented yet :) I have a problem with ignoring features that I personally do not use (this used to be very much a personal project so... I'm just now trying to learn to be better at this). And, the "flickering" is something you see in TAP as well, if you are in 20G, and this is what I based it on. I tried to avoid making it obnoxious, guess I can take another look.
    joemaro likes this.
  11. it's really very good as it is. didn't want to sound negative. if that flickering is an intended design choice also in TAP and you want to stay close to that then just leave it there :)

    Lack of fullscreen is fine as well, i actually liked to play it in a window, but the best would be of course if it would just "autoscales" to a maximized window i guess

    looking forward to seeing highscores implemented :D
    thanks again!
    Last edited: 25 Aug 2017
    FeV likes this.
  12. Haven't been able to look at it myself yet, but in case it helps, I think the gold shining text in TGM/TAP is 2 frames gold, 1 frame silver, repeat.
    GyRo and FeV like this.
  13. The editor is amazing! Thanks a lot for that, it helps me alot to practise some tricky moves, that i usually fail.

    Would like to see other people commenting on it, especially because i'm lacking in experience to really comment on accuracy to tgm.
  14. "Run the game from the same directory as game.cfg or specify the cfg filename as an argument" I'm having a real bad time dealing with this, i installed git but still can't make it work, can you give me more help on how to run the game?
  15. Hey @FerSave if you would provide more details about your situation it would be much more easy to help you. Which Operating System? What did you do up till now? What didn't work the way you expected?

    Question to FeV-Dev: What's the percetage display that shows up briefly when finishing a round?
    Last edited: 8 Oct 2017
  16. FeV


    Hi, I'm not dead. I have done literally nothing with this for like 2 months though, sorry about that. Flying out to Seattle for a couple weeks threw things off.

    @FerSave yeah more details would be nice as was mentioned above. I'm going to guess you're on windows, but either way the game should work if you navigate to its directory in a file manager (windows explorer or w/e) and run it from there, assuming the game.cfg is there with it.

    @joemaro red percentage display in the top right of the window means the game slowed down for a frame. If the number keeps changing that means it was more than 1 frame. It's kind of a weird metric, but if that number is under 100% it is also a measure of CPU usage more or less.

    Again, sorry for like completely falling off with this project... have had zero motivation lately, basically.
    joemaro likes this.
  17. I found the problem, you need both versions to get it running, i supposed that the v2 version was a complete version because it wasn't mentioned above. That was the final detail i missed ;)
  18. i have no sound, i've filled the HOME_PATH and checked the volume.cfg in the audio folder and still nothing. Also the practice options are completely unreadable.
    Last edited: 9 Oct 2017
  19. They look like this. Shiromino Practice options unreadable.png
  20. FeV


    @FerSave Uhh nope, you don't need both versions to get it working. With the beta2 you need to compile it yourself still, I forgot about this... if you don't know how to compile on Windows then I recommend you hold off until I put up a binary. Sorry for all the confusion, I've really slacked on some user-friendliness with this project, admittedly!

Share This Page